LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-4.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 39.8 % 12737 5065
Test Date: 2026-08-22 16:33:35 Functions: 64.4 % 73 47
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    133759953 : tree_negate_expr_p (tree t)
      11              : {
      12    133759953 :   const tree type = TREE_TYPE (t);
      13    133759953 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14    133759953 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15    128596866 :   switch (TREE_CODE (t))
      16              :     {
      17      7885109 :     case INTEGER_CST:
      18      7885109 :       {
      19      7885109 :         {
      20      7885109 :           if ((INTEGRAL_TYPE_P (type)
      21      7885109 :  && TYPE_UNSIGNED (type))
      22     10128287 :  || (!TYPE_OVERFLOW_SANITIZED (type)
      23      2240393 :  && may_negate_without_overflow_p (t))
      24              : )
      25              :             {
      26      7869203 :               {
      27      7869203 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 14, __FILE__, __LINE__, false);
      28              :                 return true;
      29              :               }
      30              :             }
      31              :         }
      32              :         break;
      33              :       }
      34            0 :     case FIXED_CST:
      35            0 :       {
      36            0 :         {
      37            0 :           {
      38            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 15, __FILE__, __LINE__, false);
      39              :             return true;
      40              :           }
      41              :         }
      42       417571 :         break;
      43              :       }
      44       417571 :     case NEGATE_EXPR:
      45       417571 :       {
      46       417571 :         tree _p0 = TREE_OPERAND (t, 0);
      47       417571 :         {
      48       417571 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      49       417571 :           if (!TYPE_OVERFLOW_SANITIZED (type)
      50              : )
      51              :             {
      52       417551 :               {
      53       417551 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 16, __FILE__, __LINE__, false);
      54              :                 return true;
      55              :               }
      56              :             }
      57              :         }
      58              :         break;
      59              :       }
      60       756757 :     case REAL_CST:
      61       756757 :       {
      62       756757 :         {
      63       756757 :           if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (t))
      64              : )
      65              :             {
      66          639 :               {
      67          639 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 17, __FILE__, __LINE__, false);
      68              :                 return true;
      69              :               }
      70              :             }
      71              :         }
      72              :         break;
      73              :       }
      74          451 :     case VECTOR_CST:
      75          451 :       {
      76          451 :         {
      77          451 :           if (FLOAT_TYPE_P (TREE_TYPE (type)) || TYPE_OVERFLOW_WRAPS (type)
      78              : )
      79              :             {
      80          329 :               {
      81          329 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 18, __FILE__, __LINE__, false);
      82              :                 return true;
      83              :               }
      84              :             }
      85              :         }
      86              :         break;
      87              :       }
      88      1252925 :     case MINUS_EXPR:
      89      1252925 :       {
      90      1252925 :         tree _p0 = TREE_OPERAND (t, 0);
      91      1252925 :         tree _p1 = TREE_OPERAND (t, 1);
      92      1252925 :         {
      93      1252925 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      94      1252925 :           if ((ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_WRAPS (type))
      95      2179821 :  || (FLOAT_TYPE_P (type)
      96       665816 :  && !HONOR_SIGN_DEPENDENT_ROUNDING (type)
      97       665816 :  && !HONOR_SIGNED_ZEROS (type))
      98              : )
      99              :             {
     100       326602 :               {
     101       326602 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 19, __FILE__, __LINE__, false);
     102              :                 return true;
     103              :               }
     104              :             }
     105              :         }
     106              :         break;
     107              :       }
     108              :     default:;
     109              :     }
     110              :   return false;
     111              : }
     112              : 
     113              : bool
     114            0 : tree_double_value_p (tree t)
     115              : {
     116            0 :   const tree type = TREE_TYPE (t);
     117            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     118            0 :   if (TREE_SIDE_EFFECTS (t)) return false;
     119            0 :   {
     120            0 :     tree captures[1] ATTRIBUTE_UNUSED = { t };
     121            0 :     if (TYPE_MAIN_VARIANT (TREE_TYPE (captures[0])) == double_type_node
     122              : )
     123              :       {
     124            0 :         {
     125            0 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 44, __FILE__, __LINE__, false);
     126            0 :           return true;
     127              :         }
     128              :       }
     129              :   }
     130              :   return false;
     131              : }
     132              : 
     133              : tree
     134            0 : generic_simplify_6 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     135              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     136              : {
     137            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     138            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail77;
     139            0 :   {
     140            0 :     tree res_op0;
     141            0 :     res_op0 = captures[1];
     142            0 :     tree res_op1;
     143            0 :     res_op1 = captures[2];
     144            0 :     tree _r;
     145            0 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     146            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 54, __FILE__, __LINE__, true);
     147              :     return _r;
     148              :   }
     149            0 : next_after_fail77:;
     150            0 :   return NULL_TREE;
     151              : }
     152              : 
     153              : tree
     154       243804 : generic_simplify_13 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     155              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     156              :  const enum tree_code ARG_UNUSED (op))
     157              : {
     158       243804 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     159       243804 :   {
     160       243804 :  bool wascmp;
     161       243804 :       if (types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
     162       243804 :  && bitwise_inverted_equal_p (captures[0], captures[1], wascmp)
     163              : )
     164              :         {
     165           47 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail87;
     166           47 :           {
     167           47 :             tree res_op0;
     168           47 :             res_op0 =  wascmp
     169           47 :  ? constant_boolean_node (true, type)
     170           40 :  : build_all_ones_cst (TREE_TYPE (captures[0]));
     171           47 :             tree _r;
     172           47 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     173           47 :             if (TREE_SIDE_EFFECTS (captures[0]))
     174            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     175           47 :             if (TREE_SIDE_EFFECTS (captures[1]))
     176            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     177           47 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 62, __FILE__, __LINE__, true);
     178           47 :             return _r;
     179              :           }
     180            0 : next_after_fail87:;
     181              :         }
     182              :   }
     183       243757 :   return NULL_TREE;
     184              : }
     185              : 
     186              : tree
     187           57 : generic_simplify_24 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     188              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     189              : {
     190           57 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     191           57 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     192              : )
     193              :     {
     194           33 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail98;
     195           33 :       {
     196           33 :         tree res_op0;
     197           33 :         {
     198           33 :           tree _o1[1], _r1;
     199           33 :           _o1[0] = captures[0];
     200           33 :           if (TREE_TYPE (_o1[0]) != type)
     201              :             {
     202            2 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     203              :             }
     204              :           else
     205              :             _r1 = _o1[0];
     206           33 :           res_op0 = _r1;
     207              :         }
     208           33 :         tree res_op1;
     209           33 :         {
     210           33 :           tree _o1[1], _r1;
     211           33 :           _o1[0] = captures[1];
     212           33 :           _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     213           33 :           res_op1 = _r1;
     214              :         }
     215           33 :         tree _r;
     216           33 :         _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     217           33 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 73, __FILE__, __LINE__, true);
     218              :         return _r;
     219              :       }
     220            0 : next_after_fail98:;
     221              :     }
     222              :   return NULL_TREE;
     223              : }
     224              : 
     225              : tree
     226       270801 : generic_simplify_31 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     227              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     228              :  const enum tree_code ARG_UNUSED (bitop),
     229              :  const enum tree_code ARG_UNUSED (rbitop),
     230              :  const enum tree_code ARG_UNUSED (resbitop))
     231              : {
     232       270801 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     233       270801 :   {
     234       270801 :  bool wascmp;
     235       270801 :       if (bitwise_inverted_equal_p (captures[2], captures[0], wascmp)
     236       270801 :  && (!wascmp || element_precision (type) == 1)
     237              : )
     238              :         {
     239           13 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail105;
     240           13 :           {
     241           13 :             tree res_op0;
     242           13 :             res_op0 = captures[2];
     243           13 :             tree res_op1;
     244           13 :             res_op1 = captures[1];
     245           13 :             tree _r;
     246           13 :             _r = fold_build2_loc (loc, resbitop, type, res_op0, res_op1);
     247           13 :             if (TREE_SIDE_EFFECTS (captures[0]))
     248            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     249           13 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 79, __FILE__, __LINE__, true);
     250           13 :             return _r;
     251              :           }
     252            0 : next_after_fail105:;
     253              :         }
     254              :   }
     255       270788 :   return NULL_TREE;
     256              : }
     257              : 
     258              : tree
     259            0 : generic_simplify_38 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     260              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     261              :  const enum tree_code ARG_UNUSED (op))
     262              : {
     263            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     264            0 :   if (INTEGRAL_TYPE_P (type)
     265            0 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[2])) == 0
     266              : )
     267              :     {
     268            0 :       {
     269            0 :  tree t = type;
     270            0 :  if (!TYPE_OVERFLOW_WRAPS (t))
     271            0 :  t = unsigned_type_for (t);
     272            0 :  wide_int c = wi::add (wi::to_wide (captures[3]), 1);
     273            0 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail114;
     274            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail114;
     275            0 :           {
     276            0 :             tree res_op0;
     277            0 :             {
     278            0 :               tree _o1[2], _r1;
     279            0 :               {
     280            0 :                 tree _o2[1], _r2;
     281            0 :                 _o2[0] = captures[2];
     282            0 :                 if (TREE_TYPE (_o2[0]) != t)
     283              :                   {
     284            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     285              :                   }
     286              :                 else
     287              :                   _r2 = _o2[0];
     288            0 :                 _o1[0] = _r2;
     289              :               }
     290            0 :               _o1[1] =  wide_int_to_tree (t, c);
     291            0 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     292            0 :               res_op0 = _r1;
     293              :             }
     294            0 :             tree _r;
     295            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     296            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 87, __FILE__, __LINE__, true);
     297            0 :             return _r;
     298              :           }
     299            0 : next_after_fail114:;
     300            0 :       }
     301              :     }
     302              :   return NULL_TREE;
     303              : }
     304              : 
     305              : tree
     306            5 : generic_simplify_48 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     307              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     308              : {
     309            5 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     310           10 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     311            5 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
     312           10 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[3]))
     313              : )
     314              :     {
     315            5 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail126;
     316            5 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail126;
     317            5 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail126;
     318            5 :       {
     319            5 :         tree res_op0;
     320            5 :         {
     321            5 :           tree _o1[2], _r1;
     322            5 :           _o1[0] = captures[1];
     323            5 :           _o1[1] = captures[3];
     324            5 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     325            5 :           res_op0 = _r1;
     326              :         }
     327            5 :         tree res_op1;
     328            5 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
     329            5 :         tree _r;
     330            5 :         _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     331            5 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 96, __FILE__, __LINE__, true);
     332              :         return _r;
     333              :       }
     334            5 : next_after_fail126:;
     335              :     }
     336              :   return NULL_TREE;
     337              : }
     338              : 
     339              : tree
     340           66 : generic_simplify_55 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     341              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     342              : {
     343           66 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     344           66 :   if (ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type)
     345              : )
     346              :     {
     347           66 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail135;
     348           66 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail135;
     349           66 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail135;
     350           66 :       {
     351           66 :         tree res_op0;
     352           66 :         res_op0 = captures[0];
     353           66 :         tree _r;
     354           66 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     355           66 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 104, __FILE__, __LINE__, true);
     356              :         return _r;
     357              :       }
     358           66 : next_after_fail135:;
     359              :     }
     360              :   return NULL_TREE;
     361              : }
     362              : 
     363              : tree
     364        46225 : generic_simplify_64 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     365              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     366              : {
     367        46225 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     368        46225 :   if (!TYPE_SATURATING (type)
     369              : )
     370              :     {
     371        46225 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     372        92381 :  && !FIXED_POINT_TYPE_P (type)
     373              : )
     374              :         {
     375        46156 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail144;
     376        46156 :           {
     377        46156 :             tree res_op0;
     378        46156 :             res_op0 = captures[0];
     379        46156 :             tree _r;
     380        46156 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     381        46156 :             if (TREE_SIDE_EFFECTS (captures[1]))
     382            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     383        46156 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 112, __FILE__, __LINE__, true);
     384              :             return _r;
     385              :           }
     386            0 : next_after_fail144:;
     387              :         }
     388              :     }
     389              :   return NULL_TREE;
     390              : }
     391              : 
     392              : tree
     393       123634 : generic_simplify_73 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     394              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     395              : {
     396       123634 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     397       123634 :   if (!TYPE_SATURATING (type)
     398              : )
     399              :     {
     400       123634 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     401       247268 :  && !FIXED_POINT_TYPE_P (type)
     402              : )
     403              :         {
     404       123634 :           if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     405              : )
     406              :             {
     407       122779 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail161;
     408       122779 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail161;
     409       122779 :               {
     410       122779 :                 tree res_op0;
     411       122779 :                 {
     412       122779 :                   tree _o1[1], _r1;
     413       122779 :                   _o1[0] = captures[0];
     414       122779 :                   if (TREE_TYPE (_o1[0]) != type)
     415              :                     {
     416       119945 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     417              :                     }
     418              :                   else
     419              :                     _r1 = _o1[0];
     420       122779 :                   res_op0 = _r1;
     421              :                 }
     422       122779 :                 tree _r;
     423       122779 :                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     424       122779 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 129, __FILE__, __LINE__, true);
     425              :                 return _r;
     426              :               }
     427       123634 : next_after_fail161:;
     428              :             }
     429              :         }
     430              :     }
     431              :   return NULL_TREE;
     432              : }
     433              : 
     434              : tree
     435            2 : generic_simplify_80 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     436              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     437              :  const enum tree_code ARG_UNUSED (div),
     438              :  const enum tree_code ARG_UNUSED (mod))
     439              : {
     440            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     441            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail169;
     442            2 :   {
     443            2 :     tree _r;
     444            2 :     _r = captures[0];
     445            2 :     if (TREE_SIDE_EFFECTS (captures[1]))
     446            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     447            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 137, __FILE__, __LINE__, true);
     448              :     return _r;
     449              :   }
     450            0 : next_after_fail169:;
     451            0 :   return NULL_TREE;
     452              : }
     453              : 
     454              : tree
     455           56 : generic_simplify_82 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     456              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     457              :  const enum tree_code ARG_UNUSED (cmp),
     458              :  const enum tree_code ARG_UNUSED (icmp),
     459              :  const enum tree_code ARG_UNUSED (ncmp))
     460              : {
     461           56 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     462           56 :   if (TYPE_PRECISION (type) > 1
     463           56 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
     464              : )
     465              :     {
     466            0 :       {
     467            0 :  enum tree_code ic = invert_tree_comparison
     468            0 :  (cmp, HONOR_NANS (captures[1]));
     469            0 :  tree cmptype = TREE_TYPE (captures[0]);
     470            0 :           if (ic == icmp
     471              : )
     472              :             {
     473            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail171;
     474            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail171;
     475            0 :               {
     476            0 :                 tree res_op0;
     477            0 :                 {
     478            0 :                   tree _o1[1], _r1;
     479            0 :                   {
     480            0 :                     tree _o2[2], _r2;
     481            0 :                     _o2[0] = captures[1];
     482            0 :                     _o2[1] = captures[2];
     483            0 :                     _r2 = fold_build2_loc (loc, icmp, cmptype, _o2[0], _o2[1]);
     484            0 :                     _o1[0] = _r2;
     485              :                   }
     486            0 :                   if (TREE_TYPE (_o1[0]) != type)
     487              :                     {
     488            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     489              :                     }
     490              :                   else
     491              :                     _r1 = _o1[0];
     492            0 :                   res_op0 = _r1;
     493              :                 }
     494            0 :                 tree _r;
     495            0 :                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     496            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 139, __FILE__, __LINE__, true);
     497              :                 return _r;
     498              :               }
     499           56 : next_after_fail171:;
     500              :             }
     501              :           else
     502              :             {
     503            0 :               if (ic == ncmp
     504              : )
     505              :                 {
     506            0 :                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail172;
     507            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail172;
     508            0 :                   {
     509            0 :                     tree res_op0;
     510            0 :                     {
     511            0 :                       tree _o1[1], _r1;
     512            0 :                       {
     513            0 :                         tree _o2[2], _r2;
     514            0 :                         _o2[0] = captures[1];
     515            0 :                         _o2[1] = captures[2];
     516            0 :                         _r2 = fold_build2_loc (loc, ncmp, cmptype, _o2[0], _o2[1]);
     517            0 :                         _o1[0] = _r2;
     518              :                       }
     519            0 :                       if (TREE_TYPE (_o1[0]) != type)
     520              :                         {
     521            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     522              :                         }
     523              :                       else
     524              :                         _r1 = _o1[0];
     525            0 :                       res_op0 = _r1;
     526              :                     }
     527            0 :                     tree _r;
     528            0 :                     _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     529            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 140, __FILE__, __LINE__, true);
     530              :                     return _r;
     531              :                   }
     532           56 : next_after_fail172:;
     533              :                 }
     534              :             }
     535              :       }
     536              :     }
     537              :   return NULL_TREE;
     538              : }
     539              : 
     540              : tree
     541            1 : generic_simplify_100 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     542              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     543              : {
     544            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     545            1 :   if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
     546            1 :  && !TYPE_SATURATING (type) && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
     547            1 :  && !TYPE_OVERFLOW_TRAPS (TREE_TYPE (captures[0]))
     548            2 :  && !TYPE_SATURATING (TREE_TYPE (captures[0]))
     549              : )
     550              :     {
     551            1 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail190;
     552            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail190;
     553            1 :       {
     554            1 :         tree res_op0;
     555            1 :         {
     556            1 :           tree _o1[1], _r1;
     557            1 :           {
     558            1 :             tree _o2[2], _r2;
     559            1 :             _o2[0] = captures[1];
     560            1 :             _o2[1] = captures[2];
     561            1 :             _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     562            1 :             _o1[0] = _r2;
     563              :           }
     564            1 :           if (TREE_TYPE (_o1[0]) != type)
     565              :             {
     566            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     567              :             }
     568              :           else
     569              :             _r1 = _o1[0];
     570            1 :           res_op0 = _r1;
     571              :         }
     572            1 :         tree _r;
     573            1 :         _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     574            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 158, __FILE__, __LINE__, true);
     575              :         return _r;
     576              :       }
     577            1 : next_after_fail190:;
     578              :     }
     579              :   return NULL_TREE;
     580              : }
     581              : 
     582              : tree
     583           41 : generic_simplify_110 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     584              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     585              : {
     586           41 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     587           41 :   if (!TYPE_SATURATING (type)
     588              : )
     589              :     {
     590           41 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     591           82 :  && !FIXED_POINT_TYPE_P (type)
     592              : )
     593              :         {
     594           82 :           if (!TYPE_OVERFLOW_TRAPS (type)
     595           41 :  && TREE_CODE (type) != COMPLEX_TYPE
     596           81 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     597              : )
     598              :             {
     599           40 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail204;
     600           40 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail204;
     601           40 :               {
     602           40 :                 tree res_op0;
     603           40 :                 {
     604           40 :                   tree _o1[1], _r1;
     605           40 :                   _o1[0] = captures[0];
     606           40 :                   if (TREE_TYPE (_o1[0]) != type)
     607              :                     {
     608            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     609              :                     }
     610              :                   else
     611              :                     _r1 = _o1[0];
     612           40 :                   res_op0 = _r1;
     613              :                 }
     614           40 :                 tree _r;
     615           40 :                 _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     616           40 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 171, __FILE__, __LINE__, true);
     617              :                 return _r;
     618              :               }
     619           41 : next_after_fail204:;
     620              :             }
     621              :         }
     622              :     }
     623              :   return NULL_TREE;
     624              : }
     625              : 
     626              : tree
     627            4 : generic_simplify_117 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     628              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     629              :  const enum tree_code ARG_UNUSED (log1),
     630              :  const enum tree_code ARG_UNUSED (log2),
     631              :  const combined_fn ARG_UNUSED (popcount))
     632              : {
     633            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     634            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail213;
     635            4 :   {
     636            4 :     tree res_op0;
     637            4 :     {
     638            4 :       tree _o1[2], _r1;
     639            4 :       _o1[0] = captures[2];
     640            4 :       _o1[1] = captures[4];
     641            4 :       _r1 = fold_build2_loc (loc, log2, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     642            4 :       res_op0 = _r1;
     643              :     }
     644            4 :     tree _r;
     645            4 :     _r = maybe_build_call_expr_loc (loc, popcount, type, 1, res_op0);
     646            4 :     if (!_r)
     647            0 :       goto next_after_fail213;
     648            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 180, __FILE__, __LINE__, true);
     649              :     return _r;
     650              :   }
     651            4 : next_after_fail213:;
     652              :   return NULL_TREE;
     653              : }
     654              : 
     655              : tree
     656           39 : generic_simplify_121 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     657              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     658              :  const enum tree_code ARG_UNUSED (bitop),
     659              :  const enum tree_code ARG_UNUSED (cmp))
     660              : {
     661           39 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     662           78 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     663           37 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[4]))
     664           76 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[4]))
     665              : )
     666              :     {
     667           37 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail219;
     668           37 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail219;
     669           37 :       {
     670           37 :         tree res_op0;
     671           37 :         {
     672           37 :           tree _o1[2], _r1;
     673           37 :           _o1[0] = captures[1];
     674           37 :           {
     675           37 :             tree _o2[1], _r2;
     676           37 :             _o2[0] = captures[4];
     677           37 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     678              :               {
     679            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     680              :               }
     681              :             else
     682              :               _r2 = _o2[0];
     683           37 :             _o1[1] = _r2;
     684              :           }
     685           37 :           _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     686           37 :           res_op0 = _r1;
     687              :         }
     688           37 :         tree res_op1;
     689           37 :         res_op1 = captures[2];
     690           37 :         tree _r;
     691           37 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
     692           37 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 184, __FILE__, __LINE__, true);
     693              :         return _r;
     694              :       }
     695           39 : next_after_fail219:;
     696              :     }
     697              :   else
     698              :     {
     699            4 :       if (VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
     700            2 :  && VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[4]))
     701            2 :  && vector_nop_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[4]))
     702            2 :  && single_use (captures[0]) && single_use (captures[3])
     703              : )
     704              :         {
     705            2 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail220;
     706            2 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail220;
     707            2 :           {
     708            2 :             tree res_op0;
     709            2 :             {
     710            2 :               tree _o1[2], _r1;
     711            2 :               _o1[0] = captures[1];
     712            2 :               {
     713            2 :                 tree _o2[1], _r2;
     714            2 :                 _o2[0] = captures[4];
     715            2 :                 if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     716              :                   {
     717            2 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     718              :                   }
     719              :                 else
     720              :                   _r2 = _o2[0];
     721            2 :                 _o1[1] = _r2;
     722              :               }
     723            2 :               _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     724            2 :               res_op0 = _r1;
     725              :             }
     726            2 :             tree res_op1;
     727            2 :             res_op1 = captures[2];
     728            2 :             tree _r;
     729            2 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
     730            2 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 185, __FILE__, __LINE__, true);
     731              :             return _r;
     732              :           }
     733           39 : next_after_fail220:;
     734              :         }
     735              :     }
     736              :   return NULL_TREE;
     737              : }
     738              : 
     739              : tree
     740        18479 : generic_simplify_147 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     741              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     742              : {
     743        18479 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     744        18479 :   {
     745        18479 :  bool wascmp;
     746        18479 :       if ((bitwise_inverted_equal_p (captures[0], captures[2], wascmp)
     747        18479 :  || bitwise_inverted_equal_p (captures[1], captures[2], wascmp))
     748        18479 :  && (!wascmp || element_precision (type) == 1)
     749              : )
     750              :         {
     751            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail247;
     752            0 :           {
     753            0 :             tree _r;
     754            0 :             _r =  build_all_ones_cst (TREE_TYPE (captures[0]));
     755            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
     756            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     757            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
     758            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     759            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
     760            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     761            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 205, __FILE__, __LINE__, true);
     762            0 :             return _r;
     763              :           }
     764            0 : next_after_fail247:;
     765              :         }
     766              :   }
     767        18479 :   return NULL_TREE;
     768              : }
     769              : 
     770              : tree
     771            0 : generic_simplify_156 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     772              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     773              :  const enum tree_code ARG_UNUSED (bitop),
     774              :  const enum tree_code ARG_UNUSED (rbitop))
     775              : {
     776            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     777            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail260;
     778            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail260;
     779            0 :   {
     780            0 :     tree res_op0;
     781            0 :     res_op0 = captures[0];
     782            0 :     tree res_op1;
     783            0 :     res_op1 = captures[2];
     784            0 :     tree _r;
     785            0 :     _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     786            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 210, __FILE__, __LINE__, true);
     787              :     return _r;
     788              :   }
     789            0 : next_after_fail260:;
     790              :   return NULL_TREE;
     791              : }
     792              : 
     793              : tree
     794            0 : generic_simplify_163 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     795              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     796              :  const enum tree_code ARG_UNUSED (cmp),
     797              :  const enum tree_code ARG_UNUSED (icmp))
     798              : {
     799            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     800            0 :   if (integer_zerop (captures[5])
     801            0 :  && invert_tree_comparison (cmp, HONOR_NANS (captures[2])) == icmp
     802              : )
     803              :     {
     804            0 :       if (integer_onep (captures[4])
     805              : )
     806              :         {
     807            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail268;
     808            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail268;
     809            0 :           {
     810            0 :             tree res_op0;
     811            0 :             {
     812            0 :               tree _o1[3], _r1;
     813            0 :               _o1[0] = captures[1];
     814            0 :               _o1[1] = captures[6];
     815            0 :               _o1[2] = captures[9];
     816            0 :               _r1 = fold_build3_loc (loc, VEC_COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
     817            0 :               res_op0 = _r1;
     818              :             }
     819            0 :             tree res_op1;
     820            0 :             res_op1 = captures[4];
     821            0 :             tree _r;
     822            0 :             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
     823            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 215, __FILE__, __LINE__, true);
     824              :             return _r;
     825              :           }
     826            0 : next_after_fail268:;
     827              :         }
     828              :       else
     829              :         {
     830            0 :           if (integer_minus_onep (captures[4])
     831              : )
     832              :             {
     833            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail269;
     834            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail269;
     835            0 :               {
     836            0 :                 tree res_op0;
     837            0 :                 res_op0 = captures[1];
     838            0 :                 tree res_op1;
     839            0 :                 res_op1 = captures[6];
     840            0 :                 tree res_op2;
     841            0 :                 res_op2 = captures[9];
     842            0 :                 tree _r;
     843            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
     844            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 216, __FILE__, __LINE__, true);
     845              :                 return _r;
     846              :               }
     847            0 : next_after_fail269:;
     848              :             }
     849              :         }
     850              :     }
     851              :   else
     852              :     {
     853            0 :       if (integer_zerop (captures[4])
     854            0 :  && invert_tree_comparison (cmp, HONOR_NANS (captures[2])) == icmp
     855              : )
     856              :         {
     857            0 :           if (integer_onep (captures[5])
     858              : )
     859              :             {
     860            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail270;
     861            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail270;
     862            0 :               {
     863            0 :                 tree res_op0;
     864            0 :                 {
     865            0 :                   tree _o1[3], _r1;
     866            0 :                   _o1[0] = captures[1];
     867            0 :                   _o1[1] = captures[9];
     868            0 :                   _o1[2] = captures[6];
     869            0 :                   _r1 = fold_build3_loc (loc, VEC_COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
     870            0 :                   res_op0 = _r1;
     871              :                 }
     872            0 :                 tree res_op1;
     873            0 :                 res_op1 = captures[5];
     874            0 :                 tree _r;
     875            0 :                 _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
     876            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 217, __FILE__, __LINE__, true);
     877              :                 return _r;
     878              :               }
     879            0 : next_after_fail270:;
     880              :             }
     881              :           else
     882              :             {
     883            0 :               if (integer_minus_onep (captures[5])
     884              : )
     885              :                 {
     886            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail271;
     887            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail271;
     888            0 :                   {
     889            0 :                     tree res_op0;
     890            0 :                     res_op0 = captures[1];
     891            0 :                     tree res_op1;
     892            0 :                     res_op1 = captures[9];
     893            0 :                     tree res_op2;
     894            0 :                     res_op2 = captures[6];
     895            0 :                     tree _r;
     896            0 :                     _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
     897            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 218, __FILE__, __LINE__, true);
     898              :                     return _r;
     899              :                   }
     900            0 : next_after_fail271:;
     901              :                 }
     902              :             }
     903              :         }
     904              :     }
     905              :   return NULL_TREE;
     906              : }
     907              : 
     908              : tree
     909            4 : generic_simplify_184 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     910              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     911              : {
     912            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     913            4 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail325;
     914            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail325;
     915            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail325;
     916            4 :   {
     917            4 :     tree _r;
     918            4 :     _r = captures[0];
     919            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 244, __FILE__, __LINE__, true);
     920              :     return _r;
     921              :   }
     922            4 : next_after_fail325:;
     923              :   return NULL_TREE;
     924              : }
     925              : 
     926              : tree
     927            0 : generic_simplify_188 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     928              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     929              :  const enum tree_code ARG_UNUSED (bitop),
     930              :  const enum tree_code ARG_UNUSED (op))
     931              : {
     932            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     933            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail329;
     934            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail329;
     935            0 :   {
     936            0 :     tree _r;
     937            0 :     _r = captures[1];
     938            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 246, __FILE__, __LINE__, true);
     939              :     return _r;
     940              :   }
     941            0 : next_after_fail329:;
     942              :   return NULL_TREE;
     943              : }
     944              : 
     945              : tree
     946            4 : generic_simplify_193 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     947              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     948              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
     949              : {
     950            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     951            4 :   if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
     952              : )
     953              :     {
     954            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail334;
     955            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail334;
     956            0 :       {
     957            0 :         tree res_op0;
     958            0 :         res_op0 = captures[0];
     959            0 :         tree _r;
     960            0 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     961            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 250, __FILE__, __LINE__, true);
     962              :         return _r;
     963              :       }
     964            4 : next_after_fail334:;
     965              :     }
     966              :   return NULL_TREE;
     967              : }
     968              : 
     969              : tree
     970      6649129 : generic_simplify_196 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     971              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     972              :  const enum tree_code ARG_UNUSED (op))
     973              : {
     974      6649129 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     975      6649129 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail337;
     976      6649129 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail337;
     977      6649129 :   {
     978      6649129 :     tree res_op0;
     979      6649129 :     res_op0 = captures[0];
     980      6649129 :     tree _r;
     981      6649129 :     _r = non_lvalue_loc (loc, res_op0);
     982      6649129 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 252, __FILE__, __LINE__, true);
     983              :     return _r;
     984              :   }
     985      6649129 : next_after_fail337:;
     986              :   return NULL_TREE;
     987              : }
     988              : 
     989              : tree
     990            6 : generic_simplify_200 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     991              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     992              : {
     993            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     994            6 :   if (INTEGRAL_TYPE_P (type)
     995            6 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     996           12 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
     997              : )
     998              :     {
     999            6 :       if (TYPE_UNSIGNED (type)
    1000              : )
    1001              :         {
    1002            5 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail341;
    1003            5 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail341;
    1004            5 :           {
    1005            5 :             tree res_op0;
    1006            5 :             res_op0 = captures[0];
    1007            5 :             tree _r;
    1008            5 :             _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
    1009            5 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 256, __FILE__, __LINE__, true);
    1010              :             return _r;
    1011              :           }
    1012            6 : next_after_fail341:;
    1013              :         }
    1014              :       else
    1015              :         {
    1016            1 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail342;
    1017            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail342;
    1018            1 :           {
    1019            1 :             tree res_op0;
    1020            1 :             res_op0 = captures[0];
    1021            1 :             tree _r;
    1022            1 :             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    1023            1 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 257, __FILE__, __LINE__, true);
    1024              :             return _r;
    1025              :           }
    1026            6 : next_after_fail342:;
    1027              :         }
    1028              :     }
    1029              :   return NULL_TREE;
    1030              : }
    1031              : 
    1032              : tree
    1033           14 : generic_simplify_206 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1034              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1035              : {
    1036           14 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1037           14 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    1038           14 :  && wi::ltu_p (wi::to_widest (captures[1]), TYPE_PRECISION (type))
    1039              : )
    1040              :     {
    1041           14 :       {
    1042           14 :  unsigned int shift = tree_to_uhwi (captures[1]);
    1043           14 :  unsigned int prec = TYPE_PRECISION (type);
    1044           14 :           if ((prec <= TYPE_PRECISION (TREE_TYPE (captures[2])) + shift
    1045            0 :  || tree_int_cst_sgn (captures[2]) >= 0)
    1046           14 :  && wi::to_wide (captures[3]) == wi::set_bit_in_zero (shift, prec)
    1047              : )
    1048              :             {
    1049            6 :               {
    1050            6 :  auto mask = wide_int::from (wi::to_wide (captures[2]), prec, UNSIGNED);
    1051            6 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail349;
    1052            6 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail349;
    1053            6 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail349;
    1054            6 :                   {
    1055            6 :                     tree res_op0;
    1056            6 :                     {
    1057            6 :                       tree _o1[1], _r1;
    1058            6 :                       _o1[0] = captures[0];
    1059            6 :                       if (TREE_TYPE (_o1[0]) != type)
    1060              :                         {
    1061            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1062              :                         }
    1063              :                       else
    1064              :                         _r1 = _o1[0];
    1065            6 :                       res_op0 = _r1;
    1066              :                     }
    1067            6 :                     tree res_op1;
    1068            6 :                     res_op1 =  wide_int_to_tree (type, mask << shift);
    1069            6 :                     tree _r;
    1070            6 :                     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    1071            6 :                     if (TREE_SIDE_EFFECTS (captures[3]))
    1072            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1073            6 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 261, __FILE__, __LINE__, true);
    1074            6 :                     return _r;
    1075              :                   }
    1076            0 : next_after_fail349:;
    1077            6 :               }
    1078              :             }
    1079              :       }
    1080              :     }
    1081              :   return NULL_TREE;
    1082              : }
    1083              : 
    1084              : tree
    1085           64 : generic_simplify_220 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1086              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1087              :  const enum tree_code ARG_UNUSED (cmp))
    1088              : {
    1089           64 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1090          120 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1091          120 :  && tree_expr_nonzero_p (captures[0])
    1092              : )
    1093              :     {
    1094           12 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail364;
    1095           12 :       {
    1096           12 :         tree _r;
    1097           12 :         _r =  constant_boolean_node (cmp != EQ_EXPR, type);
    1098           12 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1099            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1100           12 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1101            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1102           12 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 276, __FILE__, __LINE__, true);
    1103              :         return _r;
    1104              :       }
    1105            0 : next_after_fail364:;
    1106              :     }
    1107              :   return NULL_TREE;
    1108              : }
    1109              : 
    1110              : tree
    1111        10440 : generic_simplify_228 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1112              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1113              :  const enum tree_code ARG_UNUSED (neeq),
    1114              :  const enum tree_code ARG_UNUSED (ltge))
    1115              : {
    1116        10440 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1117        10440 :   {
    1118        10440 :  tree itype = signed_type_for (TREE_TYPE (captures[1]));
    1119        20880 :       if (wi::to_wide (captures[2]) == element_precision (itype) - 1
    1120        10440 :  && (!VECTOR_TYPE_P (itype)
    1121           15 :  || (cfun
    1122           15 :  && cfun->after_inlining
    1123            7 :  && VECTOR_BOOLEAN_TYPE_P (type)
    1124            4 :  && (expand_vec_cmp_expr_p (itype, type, ltge)
    1125            4 :  || !expand_vec_cmp_expr_p (TREE_TYPE (captures[0]),
    1126              :  type, neeq))))
    1127              : )
    1128              :         {
    1129          213 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail376;
    1130          213 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail376;
    1131          213 :           {
    1132          213 :             tree res_op0;
    1133          213 :             {
    1134          213 :               tree _o1[1], _r1;
    1135          213 :               _o1[0] = captures[1];
    1136          213 :               if (TREE_TYPE (_o1[0]) != itype)
    1137              :                 {
    1138          161 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, itype, _o1[0]);
    1139              :                 }
    1140              :               else
    1141              :                 _r1 = _o1[0];
    1142          213 :               res_op0 = _r1;
    1143              :             }
    1144          213 :             tree res_op1;
    1145          213 :             res_op1 =  build_zero_cst (itype);
    1146          213 :             tree _r;
    1147          213 :             _r = fold_build2_loc (loc, ltge, type, res_op0, res_op1);
    1148          213 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1149            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1150          213 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 287, __FILE__, __LINE__, true);
    1151              :             return _r;
    1152              :           }
    1153        10440 : next_after_fail376:;
    1154              :         }
    1155              :   }
    1156              :   return NULL_TREE;
    1157              : }
    1158              : 
    1159              : tree
    1160          715 : generic_simplify_240 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1161              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1162              :  const enum tree_code ARG_UNUSED (cmp),
    1163              :  const enum tree_code ARG_UNUSED (ocmp))
    1164              : {
    1165          715 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1166          715 :   if (!integer_zerop (captures[1])
    1167          347 :  && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[1]))
    1168          264 :  && TREE_CODE (TREE_TYPE (captures[0])) != COMPLEX_TYPE
    1169          957 :  && (VECTOR_TYPE_P (type) || !VECTOR_TYPE_P (TREE_TYPE (captures[0])))
    1170              : )
    1171              :     {
    1172          242 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail401;
    1173          242 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail401;
    1174          242 :       {
    1175          242 :         tree res_op0;
    1176          242 :         res_op0 = captures[0];
    1177          242 :         tree res_op1;
    1178          242 :         res_op1 = captures[1];
    1179          242 :         tree _r;
    1180          242 :         _r = fold_build2_loc (loc, ocmp, type, res_op0, res_op1);
    1181          242 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 311, __FILE__, __LINE__, true);
    1182              :         return _r;
    1183              :       }
    1184          715 : next_after_fail401:;
    1185              :     }
    1186              :   return NULL_TREE;
    1187              : }
    1188              : 
    1189              : tree
    1190            0 : generic_simplify_247 (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              : {
    1194            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1195            0 :   if (wi::lt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    1196            0 :  TYPE_SIGN (TREE_TYPE (captures[0])))
    1197              : )
    1198              :     {
    1199            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail408;
    1200            0 :       {
    1201            0 :         tree _r;
    1202            0 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1203            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1204            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1205            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1206            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1207            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1208            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1209            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 318, __FILE__, __LINE__, true);
    1210              :         return _r;
    1211              :       }
    1212            0 : next_after_fail408:;
    1213              :     }
    1214              :   else
    1215              :     {
    1216            0 :       if (wi::gt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    1217            0 :  TYPE_SIGN (TREE_TYPE (captures[0])))
    1218              : )
    1219              :         {
    1220            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail409;
    1221            0 :           {
    1222            0 :             tree res_op0;
    1223            0 :             res_op0 = captures[0];
    1224            0 :             tree res_op1;
    1225            0 :             res_op1 = captures[2];
    1226            0 :             tree _r;
    1227            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1228            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1229            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1230            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 319, __FILE__, __LINE__, true);
    1231              :             return _r;
    1232              :           }
    1233            0 : next_after_fail409:;
    1234              :         }
    1235              :     }
    1236              :   return NULL_TREE;
    1237              : }
    1238              : 
    1239              : tree
    1240            0 : generic_simplify_257 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1241              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1242              :  const enum tree_code ARG_UNUSED (rotate),
    1243              :  const enum tree_code ARG_UNUSED (invrot),
    1244              :  const enum tree_code ARG_UNUSED (cmp))
    1245              : {
    1246            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1247            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail431;
    1248            0 :   {
    1249            0 :     tree res_op0;
    1250            0 :     res_op0 = captures[0];
    1251            0 :     tree res_op1;
    1252            0 :     res_op1 = captures[2];
    1253            0 :     tree _r;
    1254            0 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1255            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    1256            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1257            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 341, __FILE__, __LINE__, true);
    1258              :     return _r;
    1259              :   }
    1260            0 : next_after_fail431:;
    1261            0 :   return NULL_TREE;
    1262              : }
    1263              : 
    1264              : tree
    1265           14 : generic_simplify_261 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1266              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1267              :  const enum tree_code ARG_UNUSED (cmp),
    1268              :  const combined_fn ARG_UNUSED (bswap))
    1269              : {
    1270           14 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1271           14 :   {
    1272           14 :  tree ctype = TREE_TYPE (captures[0]);
    1273           14 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail435;
    1274           14 :       {
    1275           14 :         tree res_op0;
    1276           14 :         {
    1277           14 :           tree _o1[1], _r1;
    1278           14 :           _o1[0] = captures[1];
    1279           14 :           if (TREE_TYPE (_o1[0]) != ctype)
    1280              :             {
    1281            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, ctype, _o1[0]);
    1282              :             }
    1283              :           else
    1284              :             _r1 = _o1[0];
    1285           14 :           res_op0 = _r1;
    1286              :         }
    1287           14 :         tree res_op1;
    1288           14 :         {
    1289           14 :           tree _o1[1], _r1;
    1290           14 :           _o1[0] = captures[2];
    1291           14 :           if (TREE_TYPE (_o1[0]) != ctype)
    1292              :             {
    1293            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, ctype, _o1[0]);
    1294              :             }
    1295              :           else
    1296              :             _r1 = _o1[0];
    1297           14 :           res_op1 = _r1;
    1298              :         }
    1299           14 :         tree _r;
    1300           14 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1301           14 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 345, __FILE__, __LINE__, true);
    1302              :         return _r;
    1303              :       }
    1304            0 : next_after_fail435:;
    1305              :   }
    1306            0 :   return NULL_TREE;
    1307              : }
    1308              : 
    1309              : tree
    1310            0 : generic_simplify_271 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1311              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1312              :  const enum tree_code ARG_UNUSED (cmp))
    1313              : {
    1314            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1315            0 :   if (single_use (captures[1]) && single_use (captures[3])
    1316              : )
    1317              :     {
    1318            0 :       {
    1319            0 :  tree otype = TREE_TYPE (captures[0]);
    1320            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail451;
    1321            0 :           {
    1322            0 :             tree res_op0;
    1323            0 :             {
    1324            0 :               tree _o1[1], _r1;
    1325            0 :               _o1[0] = captures[4];
    1326            0 :               if (TREE_TYPE (_o1[0]) != otype)
    1327              :                 {
    1328            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, otype, _o1[0]);
    1329              :                 }
    1330              :               else
    1331              :                 _r1 = _o1[0];
    1332            0 :               res_op0 = _r1;
    1333              :             }
    1334            0 :             tree res_op1;
    1335            0 :             {
    1336            0 :               tree _o1[1], _r1;
    1337            0 :               _o1[0] = captures[2];
    1338            0 :               if (TREE_TYPE (_o1[0]) != otype)
    1339              :                 {
    1340            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, otype, _o1[0]);
    1341              :                 }
    1342              :               else
    1343              :                 _r1 = _o1[0];
    1344            0 :               res_op1 = _r1;
    1345              :             }
    1346            0 :             tree _r;
    1347            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1348            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 360, __FILE__, __LINE__, true);
    1349              :             return _r;
    1350              :           }
    1351            0 : next_after_fail451:;
    1352              :       }
    1353              :     }
    1354            0 :   return NULL_TREE;
    1355              : }
    1356              : 
    1357              : tree
    1358           24 : generic_simplify_277 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1359              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1360              :  const combined_fn ARG_UNUSED (sq),
    1361              :  const enum tree_code ARG_UNUSED (cmp))
    1362              : {
    1363           24 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1364           24 :   if (flag_unsafe_math_optimizations && ! flag_errno_math
    1365              : )
    1366              :     {
    1367           20 :       if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
    1368              : )
    1369              :         {
    1370            2 :           if (cmp == EQ_EXPR || cmp == LT_EXPR || cmp == LE_EXPR
    1371              : )
    1372              :             {
    1373            1 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail471;
    1374            1 :               {
    1375            1 :                 tree _r;
    1376            1 :                 _r =  constant_boolean_node (false, type);
    1377            1 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    1378            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1379            1 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1380            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1381            1 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 379, __FILE__, __LINE__, true);
    1382              :                 return _r;
    1383              :               }
    1384            0 : next_after_fail471:;
    1385            0 :             }
    1386              :           else
    1387              :             {
    1388            1 :               if (cmp == NE_EXPR || !HONOR_NANS (captures[0])
    1389              : )
    1390              :                 {
    1391            1 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail472;
    1392            1 :                   {
    1393            1 :                     tree _r;
    1394            1 :                     _r =  constant_boolean_node (true, type);
    1395            1 :                     if (TREE_SIDE_EFFECTS (captures[0]))
    1396            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1397            1 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1398            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1399            1 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 380, __FILE__, __LINE__, true);
    1400              :                     return _r;
    1401              :                   }
    1402            0 : next_after_fail472:;
    1403              :                 }
    1404              :               else
    1405              :                 {
    1406            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail473;
    1407            0 :                   {
    1408            0 :                     tree res_op0;
    1409            0 :                     res_op0 = captures[0];
    1410            0 :                     tree res_op1;
    1411            0 :                     res_op1 =  build_real (TREE_TYPE (captures[0]), dconst0);
    1412            0 :                     tree _r;
    1413            0 :                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    1414            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1415            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1416            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 381, __FILE__, __LINE__, true);
    1417              :                     return _r;
    1418              :                   }
    1419            0 : next_after_fail473:;
    1420              :                 }
    1421              :             }
    1422              :         }
    1423              :       else
    1424              :         {
    1425           18 :           if (real_equal (TREE_REAL_CST_PTR (captures[1]), &dconst0)
    1426              : )
    1427              :             {
    1428            0 :               if (cmp == LT_EXPR
    1429              : )
    1430              :                 {
    1431            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail474;
    1432            0 :                   {
    1433            0 :                     tree _r;
    1434            0 :                     _r =  constant_boolean_node (false, type);
    1435            0 :                     if (TREE_SIDE_EFFECTS (captures[0]))
    1436            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1437            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1438            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1439            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 382, __FILE__, __LINE__, true);
    1440              :                     return _r;
    1441              :                   }
    1442            0 : next_after_fail474:;
    1443              :                 }
    1444              :               else
    1445              :                 {
    1446            0 :                   if (cmp == GE_EXPR && !HONOR_NANS (captures[0])
    1447              : )
    1448              :                     {
    1449            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail475;
    1450            0 :                       {
    1451            0 :                         tree _r;
    1452            0 :                         _r =  constant_boolean_node (true, type);
    1453            0 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    1454            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1455            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1456            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1457            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 383, __FILE__, __LINE__, true);
    1458              :                         return _r;
    1459              :                       }
    1460            0 : next_after_fail475:;
    1461              :                     }
    1462              :                   else
    1463              :                     {
    1464            0 :                       if (cmp == LE_EXPR
    1465              : )
    1466              :                         {
    1467            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail476;
    1468            0 :                           {
    1469            0 :                             tree res_op0;
    1470            0 :                             res_op0 = captures[0];
    1471            0 :                             tree res_op1;
    1472            0 :                             res_op1 = captures[1];
    1473            0 :                             tree _r;
    1474            0 :                             _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1475            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 384, __FILE__, __LINE__, true);
    1476              :                             return _r;
    1477              :                           }
    1478            0 : next_after_fail476:;
    1479              :                         }
    1480              :                       else
    1481              :                         {
    1482            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail477;
    1483            0 :                           {
    1484            0 :                             tree res_op0;
    1485            0 :                             res_op0 = captures[0];
    1486            0 :                             tree res_op1;
    1487            0 :                             res_op1 = captures[1];
    1488            0 :                             tree _r;
    1489            0 :                             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1490            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 385, __FILE__, __LINE__, true);
    1491              :                             return _r;
    1492              :                           }
    1493            0 : next_after_fail477:;
    1494              :                         }
    1495              :                     }
    1496              :                 }
    1497              :             }
    1498              :           else
    1499              :             {
    1500           18 :               if ((cmp == LT_EXPR
    1501              :  || cmp == LE_EXPR
    1502              :  || cmp == GT_EXPR
    1503           18 :  || cmp == GE_EXPR)
    1504           16 :  && !REAL_VALUE_ISNAN (TREE_REAL_CST (captures[1]))
    1505           34 :  && !HONOR_SIGN_DEPENDENT_ROUNDING (TREE_TYPE (captures[0]))
    1506              : )
    1507              :                 {
    1508           16 :                   {
    1509           16 :  REAL_VALUE_TYPE c2;
    1510           16 :  enum tree_code ncmp = cmp;
    1511           16 :  const real_format *fmt
    1512           16 :  = REAL_MODE_FORMAT (TYPE_MODE (TREE_TYPE (captures[0])));
    1513           32 :  real_arithmetic (&c2, MULT_EXPR,
    1514           16 :  &TREE_REAL_CST (captures[1]), &TREE_REAL_CST (captures[1]));
    1515           16 :  real_convert (&c2, fmt, &c2);
    1516           16 :  if (!REAL_VALUE_ISINF (c2))
    1517              :  {
    1518           13 :  tree c3 = fold_const_call (CFN_SQRT, TREE_TYPE (captures[0]),
    1519           13 :  build_real (TREE_TYPE (captures[0]), c2));
    1520           13 :  if (c3 == NULL_TREE || TREE_CODE (c3) != REAL_CST)
    1521              :  ncmp = ERROR_MARK;
    1522           13 :  else if ((cmp == LT_EXPR || cmp == GE_EXPR)
    1523           13 :  && real_less (&TREE_REAL_CST (c3), &TREE_REAL_CST (captures[1])))
    1524            4 :  ncmp = cmp == LT_EXPR ? LE_EXPR : GT_EXPR;
    1525            9 :  else if ((cmp == LE_EXPR || cmp == GT_EXPR)
    1526           13 :  && real_less (&TREE_REAL_CST (captures[1]), &TREE_REAL_CST (c3)))
    1527            1 :  ncmp = cmp == LE_EXPR ? LT_EXPR : GE_EXPR;
    1528              :  else
    1529              :  {
    1530            8 :  REAL_VALUE_TYPE c2alt, tow;
    1531            8 :  if (cmp == LT_EXPR || cmp == GE_EXPR)
    1532            5 :  tow = dconst0;
    1533              :  else
    1534            3 :  tow = dconstinf;
    1535            8 :  real_nextafter (&c2alt, fmt, &c2, &tow);
    1536            8 :  real_convert (&c2alt, fmt, &c2alt);
    1537            8 :  if (REAL_VALUE_ISINF (c2alt))
    1538              :  ncmp = ERROR_MARK;
    1539              :  else
    1540              :  {
    1541            8 :  c3 = fold_const_call (CFN_SQRT, TREE_TYPE (captures[0]),
    1542            8 :  build_real (TREE_TYPE (captures[0]), c2alt));
    1543            8 :  if (c3 == NULL_TREE || TREE_CODE (c3) != REAL_CST)
    1544              :  ncmp = ERROR_MARK;
    1545            8 :  else if (real_equal (&TREE_REAL_CST (c3),
    1546            8 :  &TREE_REAL_CST (captures[1])))
    1547            8 :  c2 = c2alt;
    1548              :  }
    1549              :  }
    1550              :  }
    1551           12 :                       if (cmp == GT_EXPR || cmp == GE_EXPR
    1552              : )
    1553              :                         {
    1554            5 :                           if (REAL_VALUE_ISINF (c2)
    1555              : )
    1556              :                             {
    1557            1 :                               if (HONOR_INFINITIES (captures[0])
    1558              : )
    1559              :                                 {
    1560            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail478;
    1561            0 :                                   {
    1562            0 :                                     tree res_op0;
    1563            0 :                                     res_op0 = captures[0];
    1564            0 :                                     tree res_op1;
    1565            0 :                                     res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1566            0 :                                     tree _r;
    1567            0 :                                     _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1568            0 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1569            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1570            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 386, __FILE__, __LINE__, true);
    1571           14 :                                     return _r;
    1572              :                                   }
    1573            0 : next_after_fail478:;
    1574              :                                 }
    1575              :                               else
    1576              :                                 {
    1577            1 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail479;
    1578            1 :                                   {
    1579            1 :                                     tree _r;
    1580            1 :                                     _r =  constant_boolean_node (false, type);
    1581            1 :                                     if (TREE_SIDE_EFFECTS (captures[0]))
    1582            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1583            1 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1584            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1585            1 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 387, __FILE__, __LINE__, true);
    1586              :                                     return _r;
    1587              :                                   }
    1588            0 : next_after_fail479:;
    1589              :                                 }
    1590              :                             }
    1591              :                           else
    1592              :                             {
    1593            4 :                               if (ncmp != ERROR_MARK
    1594              : )
    1595              :                                 {
    1596            4 :                                   if (ncmp == GE_EXPR
    1597              : )
    1598              :                                     {
    1599            1 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail480;
    1600            1 :                                       {
    1601            1 :                                         tree res_op0;
    1602            1 :                                         res_op0 = captures[0];
    1603            1 :                                         tree res_op1;
    1604            1 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1605            1 :                                         tree _r;
    1606            1 :                                         _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    1607            1 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1608            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1609            1 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 388, __FILE__, __LINE__, true);
    1610              :                                         return _r;
    1611              :                                       }
    1612            0 : next_after_fail480:;
    1613              :                                     }
    1614              :                                   else
    1615              :                                     {
    1616            3 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail481;
    1617            3 :                                       {
    1618            3 :                                         tree res_op0;
    1619            3 :                                         res_op0 = captures[0];
    1620            3 :                                         tree res_op1;
    1621            3 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1622            3 :                                         tree _r;
    1623            3 :                                         _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    1624            3 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1625            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1626            3 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 389, __FILE__, __LINE__, true);
    1627              :                                         return _r;
    1628              :                                       }
    1629            0 : next_after_fail481:;
    1630              :                                     }
    1631              :                                 }
    1632              :                             }
    1633              :                         }
    1634              :                       else
    1635              :                         {
    1636           11 :                           if (REAL_VALUE_ISINF (c2)
    1637              : )
    1638              :                             {
    1639            2 :                               if (! HONOR_NANS (captures[0]) && ! HONOR_INFINITIES (captures[0])
    1640              : )
    1641              :                                 {
    1642            1 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail482;
    1643            1 :                                   {
    1644            1 :                                     tree _r;
    1645            1 :                                     _r =  constant_boolean_node (true, type);
    1646            1 :                                     if (TREE_SIDE_EFFECTS (captures[0]))
    1647            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1648            1 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1649            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1650            1 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 390, __FILE__, __LINE__, true);
    1651              :                                     return _r;
    1652              :                                   }
    1653            0 : next_after_fail482:;
    1654              :                                 }
    1655              :                               else
    1656              :                                 {
    1657            1 :                                   if (! HONOR_NANS (captures[0])
    1658              : )
    1659              :                                     {
    1660            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail483;
    1661            0 :                                       {
    1662            0 :                                         tree res_op0;
    1663            0 :                                         res_op0 = captures[0];
    1664            0 :                                         tree res_op1;
    1665            0 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1666            0 :                                         tree _r;
    1667            0 :                                         _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    1668            0 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1669            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1670            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 391, __FILE__, __LINE__, true);
    1671              :                                         return _r;
    1672              :                                       }
    1673            0 : next_after_fail483:;
    1674              :                                     }
    1675              :                                   else
    1676              :                                     {
    1677            1 :                                       if (! HONOR_INFINITIES (captures[0])
    1678              : )
    1679              :                                         {
    1680            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail484;
    1681            0 :                                           {
    1682            0 :                                             tree res_op0;
    1683            0 :                                             res_op0 = captures[0];
    1684            0 :                                             tree res_op1;
    1685            0 :                                             res_op1 =  build_real (TREE_TYPE (captures[0]), dconst0);
    1686            0 :                                             tree _r;
    1687            0 :                                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    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", 392, __FILE__, __LINE__, true);
    1691              :                                             return _r;
    1692              :                                           }
    1693            0 : next_after_fail484:;
    1694              :                                         }
    1695              :                                       else
    1696              :                                         {
    1697            1 :                                           if (1
    1698              : )
    1699              :                                             {
    1700            1 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail485;
    1701            1 :                                               {
    1702            1 :                                                 if (! tree_invariant_p (captures[0])) goto next_after_fail485;
    1703            0 :                                                 tree res_op0;
    1704            0 :                                                 {
    1705            0 :                                                   tree _o1[2], _r1;
    1706            0 :                                                   _o1[0] = unshare_expr (captures[0]);
    1707            0 :                                                   _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
    1708            0 :                                                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    1709            0 :                                                   res_op0 = _r1;
    1710              :                                                 }
    1711            0 :                                                 tree res_op1;
    1712            0 :                                                 {
    1713            0 :                                                   tree _o1[2], _r1;
    1714            0 :                                                   _o1[0] = captures[0];
    1715            0 :                                                   _o1[1] =  build_real (TREE_TYPE (captures[0]), c2);
    1716            0 :                                                   _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    1717            0 :                                                   res_op1 = _r1;
    1718              :                                                 }
    1719            0 :                                                 tree _r;
    1720            0 :                                                 _r = fold_build2_loc (loc, TRUTH_ANDIF_EXPR, type, res_op0, res_op1);
    1721            0 :                                                 if (TREE_SIDE_EFFECTS (captures[1]))
    1722            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1723            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 393, __FILE__, __LINE__, true);
    1724              :                                                 return _r;
    1725              :                                               }
    1726            2 : next_after_fail485:;
    1727              :                                             }
    1728              :                                         }
    1729              :                                     }
    1730              :                                 }
    1731              :                             }
    1732              :                           else
    1733              :                             {
    1734            9 :                               if (ncmp != ERROR_MARK && ! HONOR_NANS (captures[0])
    1735              : )
    1736              :                                 {
    1737            8 :                                   if (ncmp == LT_EXPR
    1738              : )
    1739              :                                     {
    1740            4 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail486;
    1741            4 :                                       {
    1742            4 :                                         tree res_op0;
    1743            4 :                                         res_op0 = captures[0];
    1744            4 :                                         tree res_op1;
    1745            4 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1746            4 :                                         tree _r;
    1747            4 :                                         _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    1748            4 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1749            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1750            4 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 394, __FILE__, __LINE__, true);
    1751              :                                         return _r;
    1752              :                                       }
    1753            0 : next_after_fail486:;
    1754              :                                     }
    1755              :                                   else
    1756              :                                     {
    1757            4 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail487;
    1758            4 :                                       {
    1759            4 :                                         tree res_op0;
    1760            4 :                                         res_op0 = captures[0];
    1761            4 :                                         tree res_op1;
    1762            4 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1763            4 :                                         tree _r;
    1764            4 :                                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
    1765            4 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1766            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1767            4 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 395, __FILE__, __LINE__, true);
    1768              :                                         return _r;
    1769              :                                       }
    1770            0 : next_after_fail487:;
    1771              :                                     }
    1772              :                                 }
    1773              :                               else
    1774              :                                 {
    1775            1 :                                   if (ncmp != ERROR_MARK &&
    1776              : 1
    1777              : )
    1778              :                                     {
    1779            1 :                                       if (ncmp == LT_EXPR
    1780              : )
    1781              :                                         {
    1782            1 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail488;
    1783            1 :                                           {
    1784            1 :                                             if (! tree_invariant_p (captures[0])) goto next_after_fail488;
    1785            0 :                                             tree res_op0;
    1786            0 :                                             {
    1787            0 :                                               tree _o1[2], _r1;
    1788            0 :                                               _o1[0] = unshare_expr (captures[0]);
    1789            0 :                                               _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
    1790            0 :                                               _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    1791            0 :                                               res_op0 = _r1;
    1792              :                                             }
    1793            0 :                                             tree res_op1;
    1794            0 :                                             {
    1795            0 :                                               tree _o1[2], _r1;
    1796            0 :                                               _o1[0] = captures[0];
    1797            0 :                                               _o1[1] =  build_real (TREE_TYPE (captures[0]), c2);
    1798            0 :                                               _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    1799            0 :                                               res_op1 = _r1;
    1800              :                                             }
    1801            0 :                                             tree _r;
    1802            0 :                                             _r = fold_build2_loc (loc, TRUTH_ANDIF_EXPR, type, res_op0, res_op1);
    1803            0 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1804            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1805            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 396, __FILE__, __LINE__, true);
    1806              :                                             return _r;
    1807              :                                           }
    1808            2 : next_after_fail488:;
    1809              :                                         }
    1810              :                                       else
    1811              :                                         {
    1812            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail489;
    1813            0 :                                           {
    1814            0 :                                             if (! tree_invariant_p (captures[0])) goto next_after_fail489;
    1815            0 :                                             tree res_op0;
    1816            0 :                                             {
    1817            0 :                                               tree _o1[2], _r1;
    1818            0 :                                               _o1[0] = unshare_expr (captures[0]);
    1819            0 :                                               _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
    1820            0 :                                               _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    1821            0 :                                               res_op0 = _r1;
    1822              :                                             }
    1823            0 :                                             tree res_op1;
    1824            0 :                                             {
    1825            0 :                                               tree _o1[2], _r1;
    1826            0 :                                               _o1[0] = captures[0];
    1827            0 :                                               _o1[1] =  build_real (TREE_TYPE (captures[0]), c2);
    1828            0 :                                               _r1 = fold_build2_loc (loc, LE_EXPR, type, _o1[0], _o1[1]);
    1829            0 :                                               res_op1 = _r1;
    1830              :                                             }
    1831            0 :                                             tree _r;
    1832            0 :                                             _r = fold_build2_loc (loc, TRUTH_ANDIF_EXPR, type, res_op0, res_op1);
    1833            0 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1834            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1835            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 397, __FILE__, __LINE__, true);
    1836              :                                             return _r;
    1837              :                                           }
    1838            2 : next_after_fail489:;
    1839              :                                         }
    1840              :                                     }
    1841              :                                 }
    1842              :                             }
    1843              :                         }
    1844              :                   }
    1845              :                 }
    1846              :             }
    1847              :         }
    1848              :     }
    1849              :   return NULL_TREE;
    1850              : }
    1851              : 
    1852              : tree
    1853         7219 : generic_simplify_348 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1854              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1855              :  const enum tree_code ARG_UNUSED (mod))
    1856              : {
    1857         7219 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1858            0 :   if (ANY_INTEGRAL_TYPE_P (type)
    1859         7219 :  && TYPE_OVERFLOW_UNDEFINED (type)
    1860        14438 :  && wi::multiple_of_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    1861          195 :  TYPE_SIGN (type))
    1862              : )
    1863              :     {
    1864            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail623;
    1865            0 :       {
    1866            0 :         tree _r;
    1867            0 :         _r =  build_zero_cst (type);
    1868            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1869            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1870            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1871            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1872            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1873            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1874            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 511, __FILE__, __LINE__, true);
    1875              :         return _r;
    1876              :       }
    1877            0 : next_after_fail623:;
    1878              :     }
    1879              :   return NULL_TREE;
    1880              : }
    1881              : 
    1882              : tree
    1883            4 : generic_simplify_360 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1884              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1885              :  const combined_fn ARG_UNUSED (POW))
    1886              : {
    1887            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1888            4 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1889              : )
    1890              :     {
    1891            4 :       if (!TREE_OVERFLOW (captures[2])
    1892              : )
    1893              :         {
    1894            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail637;
    1895            4 :           {
    1896            4 :             tree res_op0;
    1897            4 :             res_op0 = captures[1];
    1898            4 :             tree res_op1;
    1899            4 :             {
    1900            4 :               tree _o1[2], _r1;
    1901            4 :               _o1[0] = captures[2];
    1902            4 :               _o1[1] =  build_one_cst (type);
    1903            4 :               _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1904            4 :               res_op1 = _r1;
    1905              :             }
    1906            4 :             tree _r;
    1907            4 :             _r = maybe_build_call_expr_loc (loc, POW, type, 2, res_op0, res_op1);
    1908            4 :             if (!_r)
    1909            0 :               goto next_after_fail637;
    1910            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 525, __FILE__, __LINE__, true);
    1911              :             return _r;
    1912              :           }
    1913            4 : next_after_fail637:;
    1914              :         }
    1915              :     }
    1916              :   return NULL_TREE;
    1917              : }
    1918              : 
    1919              : tree
    1920            0 : generic_simplify_369 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1921              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1922              :  const enum tree_code ARG_UNUSED (cmp))
    1923              : {
    1924            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1925            0 :   if (INTEGRAL_TYPE_P (type)
    1926              : )
    1927              :     {
    1928            0 :       if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail652;
    1929            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail652;
    1930            0 :       {
    1931            0 :         tree _r;
    1932            0 :         _r = captures[2];
    1933            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1934            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1935            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 540, __FILE__, __LINE__, true);
    1936              :         return _r;
    1937              :       }
    1938            0 : next_after_fail652:;
    1939              :     }
    1940              :   return NULL_TREE;
    1941              : }
    1942              : 
    1943              : tree
    1944           21 : generic_simplify_373 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1945              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1946              : {
    1947           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1948           21 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail656;
    1949           21 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail656;
    1950           21 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail656;
    1951           21 :   {
    1952           21 :     tree _r;
    1953           21 :     _r = captures[2];
    1954           21 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 544, __FILE__, __LINE__, true);
    1955              :     return _r;
    1956              :   }
    1957           21 : next_after_fail656:;
    1958              :   return NULL_TREE;
    1959              : }
    1960              : 
    1961              : tree
    1962            0 : generic_simplify_377 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1963              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1964              :  const enum tree_code ARG_UNUSED (neeq))
    1965              : {
    1966            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1967            0 :   if (neeq == EQ_EXPR
    1968              : )
    1969              :     {
    1970            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail660;
    1971            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail660;
    1972            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail660;
    1973            0 :       {
    1974            0 :         tree _r;
    1975            0 :         _r = captures[3];
    1976            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 548, __FILE__, __LINE__, true);
    1977              :         return _r;
    1978              :       }
    1979            0 : next_after_fail660:;
    1980              :     }
    1981              :   else
    1982              :     {
    1983            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail661;
    1984            0 :       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail661;
    1985            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail661;
    1986            0 :       {
    1987            0 :         tree _r;
    1988            0 :         _r = captures[0];
    1989            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 549, __FILE__, __LINE__, true);
    1990              :         return _r;
    1991              :       }
    1992            0 : next_after_fail661:;
    1993              :     }
    1994              :   return NULL_TREE;
    1995              : }
    1996              : 
    1997              : tree
    1998            0 : generic_simplify_386 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1999              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2000              :  const enum tree_code ARG_UNUSED (op))
    2001              : {
    2002            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2003            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail673;
    2004            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail673;
    2005            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail673;
    2006            0 :   {
    2007            0 :     tree _r;
    2008            0 :     _r = captures[2];
    2009            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 561, __FILE__, __LINE__, true);
    2010              :     return _r;
    2011              :   }
    2012            0 : next_after_fail673:;
    2013              :   return NULL_TREE;
    2014              : }
    2015              : 
    2016              : tree
    2017            3 : generic_simplify_393 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2018              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2019              :  const combined_fn ARG_UNUSED (func))
    2020              : {
    2021            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2022            3 :   if (wi::to_widest (captures[4]) == TYPE_PRECISION (TREE_TYPE (captures[3])) - 1
    2023              : )
    2024              :     {
    2025            3 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail681;
    2026            3 :       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail681;
    2027            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail681;
    2028            3 :       {
    2029            3 :         tree _r;
    2030            3 :         _r = captures[2];
    2031            3 :         if (TREE_SIDE_EFFECTS (captures[1]))
    2032            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2033            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 568, __FILE__, __LINE__, true);
    2034              :         return _r;
    2035              :       }
    2036            3 : next_after_fail681:;
    2037              :     }
    2038              :   return NULL_TREE;
    2039              : }
    2040              : 
    2041              : tree
    2042       163546 : generic_simplify_401 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2043              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2044              :  const enum tree_code ARG_UNUSED (op))
    2045              : {
    2046       163546 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2047       327092 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2048       327092 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    2049              : )
    2050              :     {
    2051        69258 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail693;
    2052        69258 :       {
    2053        69258 :         tree res_op0;
    2054        69258 :         res_op0 = captures[0];
    2055        69258 :         tree res_op1;
    2056        69258 :         res_op1 = captures[2];
    2057        69258 :         tree _r;
    2058        69258 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2059        69258 :         if (TREE_SIDE_EFFECTS (captures[1]))
    2060            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2061        69258 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 579, __FILE__, __LINE__, true);
    2062              :         return _r;
    2063              :       }
    2064            0 : next_after_fail693:;
    2065              :     }
    2066              :   return NULL_TREE;
    2067              : }
    2068              : 
    2069              : tree
    2070            0 : generic_simplify_407 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2071              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2072              :  const enum tree_code ARG_UNUSED (legt))
    2073              : {
    2074            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2075            0 :   if (!HONOR_NANS (captures[0])
    2076              : )
    2077              :     {
    2078            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail700;
    2079            0 :       {
    2080            0 :         tree _r;
    2081            0 :         _r =  constant_boolean_node (legt == LE_EXPR, type);
    2082            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
    2083            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2084            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    2085            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2086            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 586, __FILE__, __LINE__, true);
    2087              :         return _r;
    2088              :       }
    2089            0 : next_after_fail700:;
    2090              :     }
    2091              :   return NULL_TREE;
    2092              : }
    2093              : 
    2094              : tree
    2095            0 : generic_simplify_414 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2096              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2097              :  const enum tree_code ARG_UNUSED (cmp1),
    2098              :  const enum tree_code ARG_UNUSED (cmp2),
    2099              :  const enum tree_code ARG_UNUSED (rel))
    2100              : {
    2101            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2102            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2103            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2104            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) > 1
    2105              : )
    2106              :     {
    2107            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail707;
    2108            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail707;
    2109            0 :       {
    2110            0 :         tree res_op0;
    2111            0 :         res_op0 = captures[1];
    2112            0 :         tree res_op1;
    2113            0 :         res_op1 = captures[2];
    2114            0 :         tree _r;
    2115            0 :         _r = fold_build2_loc (loc, rel, type, res_op0, res_op1);
    2116            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 593, __FILE__, __LINE__, true);
    2117              :         return _r;
    2118              :       }
    2119            0 : next_after_fail707:;
    2120              :     }
    2121              :   return NULL_TREE;
    2122              : }
    2123              : 
    2124              : tree
    2125            0 : generic_simplify_424 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2126              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2127              :  const enum tree_code ARG_UNUSED (cmp),
    2128              :  const enum tree_code ARG_UNUSED (out))
    2129              : {
    2130            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2131            0 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2132            0 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    2133              : )
    2134              :     {
    2135            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail749;
    2136            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail749;
    2137            0 :       {
    2138            0 :         tree res_op0;
    2139            0 :         {
    2140            0 :           tree _o1[1], _r1;
    2141            0 :           _o1[0] = captures[0];
    2142            0 :           _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2143            0 :           res_op0 = _r1;
    2144              :         }
    2145            0 :         tree res_op1;
    2146            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2147            0 :         tree _r;
    2148            0 :         _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2149            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 618, __FILE__, __LINE__, true);
    2150              :         return _r;
    2151              :       }
    2152            0 : next_after_fail749:;
    2153              :     }
    2154              :   return NULL_TREE;
    2155              : }
    2156              : 
    2157              : tree
    2158       738570 : generic_simplify_430 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2159              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2160              :  const enum tree_code ARG_UNUSED (cmp),
    2161              :  const enum tree_code ARG_UNUSED (icmp))
    2162              : {
    2163       738570 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2164      1473818 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2165       738570 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2166       339386 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) > 1
    2167      1477140 :  && (wi::to_wide (captures[2])
    2168      1417342 :  == wi::max_value (TYPE_PRECISION (TREE_TYPE (captures[0])), SIGNED) - 1)
    2169              : )
    2170              :     {
    2171         4615 :       {
    2172         4615 :  tree stype = signed_type_for (TREE_TYPE (captures[0]));
    2173         4615 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail762;
    2174         4615 :           {
    2175         4615 :             tree res_op0;
    2176         4615 :             {
    2177         4615 :               tree _o1[1], _r1;
    2178         4615 :               _o1[0] = captures[0];
    2179         4615 :               if (TREE_TYPE (_o1[0]) != stype)
    2180              :                 {
    2181         4615 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    2182              :                 }
    2183              :               else
    2184              :                 _r1 = _o1[0];
    2185         4615 :               res_op0 = _r1;
    2186              :             }
    2187         4615 :             tree res_op1;
    2188         4615 :             res_op1 =  build_int_cst (stype, 0);
    2189         4615 :             tree _r;
    2190         4615 :             _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    2191         4615 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2192            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2193         4615 :             if (TREE_SIDE_EFFECTS (captures[2]))
    2194            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2195         4615 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 631, __FILE__, __LINE__, true);
    2196              :             return _r;
    2197              :           }
    2198            0 : next_after_fail762:;
    2199              :       }
    2200              :     }
    2201              :   return NULL_TREE;
    2202              : }
    2203              : 
    2204              : tree
    2205            0 : generic_simplify_436 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2206              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2207              :  const enum tree_code ARG_UNUSED (cmp),
    2208              :  const enum tree_code ARG_UNUSED (out))
    2209              : {
    2210            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2211            0 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2212            0 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    2213              : )
    2214              :     {
    2215            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail768;
    2216            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail768;
    2217            0 :       {
    2218            0 :         tree res_op0;
    2219            0 :         {
    2220            0 :           tree _o1[1], _r1;
    2221            0 :           _o1[0] = captures[0];
    2222            0 :           _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2223            0 :           res_op0 = _r1;
    2224              :         }
    2225            0 :         tree res_op1;
    2226            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2227            0 :         tree _r;
    2228            0 :         _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2229            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 618, __FILE__, __LINE__, true);
    2230              :         return _r;
    2231              :       }
    2232            0 : next_after_fail768:;
    2233              :     }
    2234              :   return NULL_TREE;
    2235              : }
    2236              : 
    2237              : tree
    2238           94 : generic_simplify_442 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2239              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2240              : {
    2241           94 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2242          188 :   if (INTEGRAL_TYPE_P (type)
    2243           93 :  && !TYPE_UNSIGNED (type)
    2244           93 :  && !TYPE_OVERFLOW_TRAPS (type)
    2245           93 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
    2246          281 :  && (expr_not_equal_to (captures[0], wi::to_wide (TYPE_MIN_VALUE (type)))
    2247          187 :  || expr_not_equal_to (captures[2], wi::minus_one (TYPE_PRECISION
    2248              :  (TREE_TYPE (captures[2]))),
    2249              :  gimple_match_ctx (captures[1])))
    2250              : )
    2251              :     {
    2252            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail778;
    2253            0 :       {
    2254            0 :         tree res_op0;
    2255            0 :         res_op0 = captures[0];
    2256            0 :         tree res_op1;
    2257            0 :         {
    2258            0 :           tree _o1[1], _r1;
    2259            0 :           _o1[0] = captures[2];
    2260            0 :           if (TREE_TYPE (_o1[0]) != type)
    2261              :             {
    2262            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2263              :             }
    2264              :           else
    2265              :             _r1 = _o1[0];
    2266            0 :           res_op1 = _r1;
    2267              :         }
    2268            0 :         tree _r;
    2269            0 :         _r = fold_build2_loc (loc, TRUNC_MOD_EXPR, type, res_op0, res_op1);
    2270            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 643, __FILE__, __LINE__, true);
    2271              :         return _r;
    2272              :       }
    2273            0 : next_after_fail778:;
    2274              :     }
    2275              :   return NULL_TREE;
    2276              : }
    2277              : 
    2278              : tree
    2279            0 : generic_simplify_448 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2280              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2281              :  const enum tree_code ARG_UNUSED (shiftrotate))
    2282              : {
    2283            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2284            0 :   {
    2285            0 :  tree tem = uniform_vector_p (captures[1]);
    2286            0 :       if (tem
    2287              : )
    2288              :         {
    2289            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail784;
    2290            0 :           {
    2291            0 :             tree res_op0;
    2292            0 :             res_op0 = captures[0];
    2293            0 :             tree res_op1;
    2294            0 :             res_op1 =  tem;
    2295            0 :             tree _r;
    2296            0 :             _r = fold_build2_loc (loc, shiftrotate, type, res_op0, res_op1);
    2297            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2298            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2299            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 649, __FILE__, __LINE__, true);
    2300              :             return _r;
    2301              :           }
    2302            0 : next_after_fail784:;
    2303              :         }
    2304              :   }
    2305              :   return NULL_TREE;
    2306              : }
    2307              : 
    2308              : tree
    2309           75 : generic_simplify_455 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2310              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2311              : {
    2312           75 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2313           75 :   if (wi::ltu_p (wi::to_wide (captures[1]), element_precision (type))
    2314              : )
    2315              :     {
    2316           75 :       if (TYPE_UNSIGNED (type)
    2317              : )
    2318              :         {
    2319            2 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail795;
    2320            2 :           {
    2321            2 :             tree res_op0;
    2322            2 :             {
    2323            2 :               tree _o1[1], _r1;
    2324            2 :               _o1[0] = captures[0];
    2325            2 :               if (TREE_TYPE (_o1[0]) != type)
    2326              :                 {
    2327            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2328              :                 }
    2329              :               else
    2330              :                 _r1 = _o1[0];
    2331            2 :               res_op0 = _r1;
    2332              :             }
    2333            2 :             tree res_op1;
    2334            2 :             {
    2335            2 :               tree _o1[2], _r1;
    2336            2 :               _o1[0] =  build_minus_one_cst (type);
    2337            2 :               _o1[1] = captures[1];
    2338            2 :               _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2339            2 :               res_op1 = _r1;
    2340              :             }
    2341            2 :             tree _r;
    2342            2 :             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2343            2 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 658, __FILE__, __LINE__, true);
    2344              :             return _r;
    2345              :           }
    2346            0 : next_after_fail795:;
    2347              :         }
    2348              :       else
    2349              :         {
    2350           73 :           if (INTEGRAL_TYPE_P (type)
    2351              : )
    2352              :             {
    2353           73 :               {
    2354           73 :  int width = element_precision (type) - tree_to_uhwi (captures[1]);
    2355           73 :  tree stype = NULL_TREE;
    2356          146 :  if (width <= MAX_FIXED_MODE_SIZE)
    2357           73 :  stype = build_nonstandard_integer_type (width, 0);
    2358           73 :                   if (stype && (width == 1 || type_has_mode_precision_p (stype))
    2359              : )
    2360              :                     {
    2361           25 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail796;
    2362           25 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail796;
    2363           25 :                       {
    2364           25 :                         tree res_op0;
    2365           25 :                         {
    2366           25 :                           tree _o1[1], _r1;
    2367           25 :                           _o1[0] = captures[0];
    2368           25 :                           if (TREE_TYPE (_o1[0]) != stype)
    2369              :                             {
    2370           25 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    2371              :                             }
    2372              :                           else
    2373              :                             _r1 = _o1[0];
    2374           25 :                           res_op0 = _r1;
    2375              :                         }
    2376           25 :                         tree _r;
    2377           25 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2378           25 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 659, __FILE__, __LINE__, true);
    2379              :                         return _r;
    2380              :                       }
    2381           75 : next_after_fail796:;
    2382              :                     }
    2383              :               }
    2384              :             }
    2385              :         }
    2386              :     }
    2387              :   return NULL_TREE;
    2388              : }
    2389              : 
    2390              : tree
    2391      9223980 : generic_simplify_462 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2392              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2393              :  const enum tree_code ARG_UNUSED (op))
    2394              : {
    2395      9223980 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2396      9223980 :   if (INTEGRAL_TYPE_P (type)
    2397      8343890 :  && op != MULT_EXPR
    2398      8343890 :  && op != RDIV_EXPR
    2399      4191580 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2400      3772619 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2401      3772619 :  && type_has_mode_precision_p (TREE_TYPE (captures[2]))
    2402      3718221 :  && type_has_mode_precision_p (TREE_TYPE (captures[4]))
    2403      3718213 :  && type_has_mode_precision_p (type)
    2404      3709143 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
    2405      1205454 :  && types_match (captures[2], type)
    2406      9237198 :  && (types_match (captures[2], captures[4])
    2407        13218 :  || poly_int_tree_p (captures[3]))
    2408              : )
    2409              :     {
    2410        10471 :       if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
    2411              : )
    2412              :         {
    2413         5980 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail811;
    2414         5980 :           {
    2415         5980 :             tree res_op0;
    2416         5980 :             res_op0 = captures[2];
    2417         5980 :             tree res_op1;
    2418         5980 :             {
    2419         5980 :               tree _o1[1], _r1;
    2420         5980 :               _o1[0] = captures[4];
    2421         5980 :               if (TREE_TYPE (_o1[0]) != type)
    2422              :                 {
    2423         5980 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2424              :                 }
    2425              :               else
    2426              :                 _r1 = _o1[0];
    2427         5980 :               res_op1 = _r1;
    2428              :             }
    2429         5980 :             tree _r;
    2430         5980 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2431         5980 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 670, __FILE__, __LINE__, true);
    2432              :             return _r;
    2433              :           }
    2434            0 : next_after_fail811:;
    2435              :         }
    2436              :       else
    2437              :         {
    2438         4491 :           {
    2439         4491 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
    2440         4491 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail812;
    2441         4491 :               {
    2442         4491 :                 tree res_op0;
    2443         4491 :                 {
    2444         4491 :                   tree _o1[2], _r1;
    2445         4491 :                   {
    2446         4491 :                     tree _o2[1], _r2;
    2447         4491 :                     _o2[0] = captures[2];
    2448         4491 :                     if (TREE_TYPE (_o2[0]) != utype)
    2449              :                       {
    2450         4491 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2451              :                       }
    2452              :                     else
    2453              :                       _r2 = _o2[0];
    2454         4491 :                     _o1[0] = _r2;
    2455              :                   }
    2456         4491 :                   {
    2457         4491 :                     tree _o2[1], _r2;
    2458         4491 :                     _o2[0] = captures[4];
    2459         4491 :                     if (TREE_TYPE (_o2[0]) != utype)
    2460              :                       {
    2461         4491 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2462              :                       }
    2463              :                     else
    2464              :                       _r2 = _o2[0];
    2465         4491 :                     _o1[1] = _r2;
    2466              :                   }
    2467         4491 :                   _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2468         4491 :                   res_op0 = _r1;
    2469              :                 }
    2470         4491 :                 tree _r;
    2471         4491 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2472         4491 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 671, __FILE__, __LINE__, true);
    2473              :                 return _r;
    2474              :               }
    2475            0 : next_after_fail812:;
    2476              :           }
    2477              :         }
    2478              :     }
    2479              :   else
    2480              :     {
    2481      9178552 :       if (FLOAT_TYPE_P (type)
    2482      9248466 :  && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    2483        34957 :  == DECIMAL_FLOAT_TYPE_P (type)
    2484              : )
    2485              :         {
    2486        34931 :           {
    2487        34931 :  tree arg0 = strip_float_extensions (captures[2]);
    2488        34931 :  tree arg1 = strip_float_extensions (captures[4]);
    2489        34931 :  tree itype = TREE_TYPE (captures[0]);
    2490        34931 :  tree ty1 = TREE_TYPE (arg0);
    2491        34931 :  tree ty2 = TREE_TYPE (arg1);
    2492        34931 :  enum tree_code code = TREE_CODE (itype);
    2493            0 :               if (FLOAT_TYPE_P (ty1)
    2494        34931 :  && FLOAT_TYPE_P (ty2)
    2495              : )
    2496              :                 {
    2497        34931 :                   {
    2498        34931 :  tree newtype = type;
    2499        34931 :  if (TYPE_MODE (ty1) == SDmode
    2500        34669 :  || TYPE_MODE (ty2) == SDmode
    2501        69600 :  || TYPE_MODE (type) == SDmode)
    2502          262 :  newtype = dfloat32_type_node;
    2503        34931 :  if (TYPE_MODE (ty1) == DDmode
    2504        34799 :  || TYPE_MODE (ty2) == DDmode
    2505        69603 :  || TYPE_MODE (type) == DDmode)
    2506          259 :  newtype = dfloat64_type_node;
    2507        34931 :  if (TYPE_MODE (ty1) == TDmode
    2508        34931 :  || TYPE_MODE (ty2) == TDmode
    2509        69610 :  || TYPE_MODE (type) == TDmode)
    2510          267 :  newtype = dfloat128_type_node;
    2511        34931 :                       if ((newtype == dfloat32_type_node
    2512        34931 :  || newtype == dfloat64_type_node
    2513        34804 :  || newtype == dfloat128_type_node)
    2514          394 :  && newtype == type
    2515        34937 :  && types_match (newtype, type)
    2516              : )
    2517              :                         {
    2518            6 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail813;
    2519            0 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail813;
    2520            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail813;
    2521            0 :                           {
    2522            0 :                             tree res_op0;
    2523            0 :                             {
    2524            0 :                               tree _o1[1], _r1;
    2525            0 :                               _o1[0] = captures[2];
    2526            0 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2527              :                                 {
    2528            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2529              :                                 }
    2530              :                               else
    2531              :                                 _r1 = _o1[0];
    2532            0 :                               res_op0 = _r1;
    2533              :                             }
    2534            0 :                             tree res_op1;
    2535            0 :                             {
    2536            0 :                               tree _o1[1], _r1;
    2537            0 :                               _o1[0] = captures[4];
    2538            0 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2539              :                                 {
    2540            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2541              :                                 }
    2542              :                               else
    2543              :                                 _r1 = _o1[0];
    2544            0 :                               res_op1 = _r1;
    2545              :                             }
    2546            0 :                             tree _r;
    2547            0 :                             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2548            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 672, __FILE__, __LINE__, true);
    2549              :                             return _r;
    2550              :                           }
    2551      9223980 : next_after_fail813:;
    2552              :                         }
    2553              :                       else
    2554              :                         {
    2555        34925 :                           {
    2556        34925 :  if (element_precision (ty1) > element_precision (newtype))
    2557           15 :  newtype = ty1;
    2558        34925 :  if (element_precision (ty2) > element_precision (newtype))
    2559         4664 :  newtype = ty2;
    2560        34925 :                               if (element_precision (newtype) < element_precision (itype)
    2561        17471 :  && (!VECTOR_MODE_P (TYPE_MODE (newtype))
    2562            0 :  || target_supports_op_p (newtype, op, optab_default))
    2563        17471 :  && (flag_unsafe_math_optimizations
    2564        17446 :  || (element_precision (newtype) == element_precision (type)
    2565        17422 :  && real_can_shorten_arithmetic (element_mode (itype),
    2566              :  element_mode (type))
    2567         7727 :  && !excess_precision_type (newtype)))
    2568        38202 :  && !types_match (itype, newtype)
    2569              : )
    2570              :                                 {
    2571         3277 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail814;
    2572         3276 :                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail814;
    2573         3268 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail814;
    2574         3268 :                                   {
    2575         3268 :                                     tree res_op0;
    2576         3268 :                                     {
    2577         3268 :                                       tree _o1[2], _r1;
    2578         3268 :                                       {
    2579         3268 :                                         tree _o2[1], _r2;
    2580         3268 :                                         _o2[0] = captures[2];
    2581         3268 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2582              :                                           {
    2583            3 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2584              :                                           }
    2585              :                                         else
    2586              :                                           _r2 = _o2[0];
    2587         3268 :                                         _o1[0] = _r2;
    2588              :                                       }
    2589         3268 :                                       {
    2590         3268 :                                         tree _o2[1], _r2;
    2591         3268 :                                         _o2[0] = captures[4];
    2592         3268 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2593              :                                           {
    2594         3268 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2595              :                                           }
    2596              :                                         else
    2597              :                                           _r2 = _o2[0];
    2598         3268 :                                         _o1[1] = _r2;
    2599              :                                       }
    2600         3268 :                                       _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2601         3268 :                                       res_op0 = _r1;
    2602              :                                     }
    2603         3268 :                                     tree _r;
    2604         3268 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2605         3268 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 673, __FILE__, __LINE__, true);
    2606              :                                     return _r;
    2607              :                                   }
    2608      9223980 : next_after_fail814:;
    2609              :                                 }
    2610              :                           }
    2611              :                         }
    2612              :                   }
    2613              :                 }
    2614              :           }
    2615              :         }
    2616              :     }
    2617              :   return NULL_TREE;
    2618              : }
    2619              : 
    2620              : tree
    2621            2 : generic_simplify_493 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2622              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2623              : {
    2624            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2625            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail851;
    2626            2 :   {
    2627            2 :     tree res_op0;
    2628            2 :     {
    2629            2 :       tree _o1[2], _r1;
    2630            2 :       _o1[0] = captures[1];
    2631            2 :       _o1[1] = captures[2];
    2632            2 :       _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2633            2 :       res_op0 = _r1;
    2634              :     }
    2635            2 :     tree _r;
    2636            2 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    2637            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 701, __FILE__, __LINE__, true);
    2638              :     return _r;
    2639              :   }
    2640            0 : next_after_fail851:;
    2641            0 :   return NULL_TREE;
    2642              : }
    2643              : 
    2644              : tree
    2645            0 : generic_simplify_501 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2646              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2647              :  const enum tree_code ARG_UNUSED (code2),
    2648              :  const enum tree_code ARG_UNUSED (code1))
    2649              : {
    2650            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2651            0 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
    2652            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2653            0 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2654            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[2]))
    2655            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[2])))
    2656            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, code2))
    2657            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
    2658            0 :  && bitwise_equal_p (captures[2], captures[5]))
    2659              : )
    2660              :     {
    2661            0 :       {
    2662            0 :  bool one_before = false;
    2663            0 :  bool one_after = false;
    2664            0 :  int cmp = 0;
    2665            0 :  bool allbits = true;
    2666            0 :  if (TREE_CODE (captures[2]) == INTEGER_CST
    2667            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2668              :  {
    2669            0 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
    2670            0 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
    2671            0 :  auto t2 = wi::to_wide (captures[5]);
    2672            0 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
    2673            0 :  if (cmp < 0
    2674            0 :  && t1 == t2 - 1)
    2675              :  one_before = true;
    2676            0 :  if (cmp > 0
    2677            0 :  && t1 == t2 + 1)
    2678              :  one_after = true;
    2679              :  }
    2680            0 :  bool val;
    2681            0 :  switch (code2)
    2682              :  {
    2683            0 :  case EQ_EXPR: val = (cmp == 0); break;
    2684            0 :  case NE_EXPR: val = (cmp != 0); break;
    2685            0 :  case LT_EXPR: val = (cmp < 0); break;
    2686            0 :  case GT_EXPR: val = (cmp > 0); break;
    2687            0 :  case LE_EXPR: val = (cmp <= 0); break;
    2688            0 :  case GE_EXPR: val = (cmp >= 0); break;
    2689            0 :  default: gcc_unreachable ();
    2690              :  }
    2691            0 :           if (code1 == EQ_EXPR && val
    2692              : )
    2693              :             {
    2694            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail861;
    2695            0 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail861;
    2696            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail861;
    2697            0 :               {
    2698            0 :                 tree _r;
    2699            0 :                 _r = captures[0];
    2700            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 710, __FILE__, __LINE__, true);
    2701              :                 return _r;
    2702              :               }
    2703            0 : next_after_fail861:;
    2704              :             }
    2705              :           else
    2706              :             {
    2707            0 :               if (code1 == EQ_EXPR && !val
    2708              : )
    2709              :                 {
    2710            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail862;
    2711            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail862;
    2712            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail862;
    2713            0 :                   {
    2714            0 :                     tree _r;
    2715            0 :                     _r =  constant_boolean_node (false, type);
    2716            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    2717            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2718            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 711, __FILE__, __LINE__, true);
    2719              :                     return _r;
    2720              :                   }
    2721            0 : next_after_fail862:;
    2722              :                 }
    2723              :               else
    2724              :                 {
    2725            0 :                   if (code1 == NE_EXPR && !val && allbits
    2726              : )
    2727              :                     {
    2728            0 :                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail863;
    2729            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail863;
    2730            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail863;
    2731            0 :                       {
    2732            0 :                         tree _r;
    2733            0 :                         _r = captures[3];
    2734            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 712, __FILE__, __LINE__, true);
    2735              :                         return _r;
    2736              :                       }
    2737            0 : next_after_fail863:;
    2738              :                     }
    2739              :                   else
    2740              :                     {
    2741            0 :                       if ((code1 == NE_EXPR
    2742            0 :  && code2 == GE_EXPR
    2743            0 :  && cmp == 0
    2744            0 :  && allbits)
    2745            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2746            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2747            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2748              : )
    2749              :                         {
    2750            0 :                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail864;
    2751            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail864;
    2752            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail864;
    2753            0 :                           {
    2754            0 :                             tree res_op0;
    2755            0 :                             res_op0 = captures[4];
    2756            0 :                             tree res_op1;
    2757            0 :                             {
    2758            0 :                               tree _o1[1], _r1;
    2759            0 :                               _o1[0] = captures[2];
    2760            0 :                               if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2761              :                                 {
    2762            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2763              :                                 }
    2764              :                               else
    2765              :                                 _r1 = _o1[0];
    2766            0 :                               res_op1 = _r1;
    2767              :                             }
    2768            0 :                             tree _r;
    2769            0 :                             _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2770            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 713, __FILE__, __LINE__, true);
    2771              :                             return _r;
    2772              :                           }
    2773            0 : next_after_fail864:;
    2774              :                         }
    2775              :                       else
    2776              :                         {
    2777            0 :                           if ((code1 == NE_EXPR
    2778            0 :  && code2 == LE_EXPR
    2779            0 :  && cmp == 0
    2780            0 :  && allbits)
    2781            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2782            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2783            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2784              : )
    2785              :                             {
    2786            0 :                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail865;
    2787            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail865;
    2788            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail865;
    2789            0 :                               {
    2790            0 :                                 tree res_op0;
    2791            0 :                                 res_op0 = captures[4];
    2792            0 :                                 tree res_op1;
    2793            0 :                                 {
    2794            0 :                                   tree _o1[1], _r1;
    2795            0 :                                   _o1[0] = captures[2];
    2796            0 :                                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2797              :                                     {
    2798            0 :                                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2799              :                                     }
    2800              :                                   else
    2801              :                                     _r1 = _o1[0];
    2802            0 :                                   res_op1 = _r1;
    2803              :                                 }
    2804            0 :                                 tree _r;
    2805            0 :                                 _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2806            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 714, __FILE__, __LINE__, true);
    2807              :                                 return _r;
    2808              :                               }
    2809            0 : next_after_fail865:;
    2810              :                             }
    2811              :                           else
    2812              :                             {
    2813            0 :                               if ((code1 == NE_EXPR
    2814            0 :  && code2 == GT_EXPR
    2815              :  && one_after
    2816            0 :  && allbits)
    2817            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2818            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2819            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2820              : )
    2821              :                                 {
    2822            0 :                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail866;
    2823            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail866;
    2824            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail866;
    2825            0 :                                   {
    2826            0 :                                     tree res_op0;
    2827            0 :                                     res_op0 = captures[4];
    2828            0 :                                     tree res_op1;
    2829            0 :                                     {
    2830            0 :                                       tree _o1[1], _r1;
    2831            0 :                                       _o1[0] = captures[2];
    2832            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2833              :                                         {
    2834            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2835              :                                         }
    2836              :                                       else
    2837              :                                         _r1 = _o1[0];
    2838            0 :                                       res_op1 = _r1;
    2839              :                                     }
    2840            0 :                                     tree _r;
    2841            0 :                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2842            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 715, __FILE__, __LINE__, true);
    2843              :                                     return _r;
    2844              :                                   }
    2845            0 : next_after_fail866:;
    2846              :                                 }
    2847              :                               else
    2848              :                                 {
    2849            0 :                                   if ((code1 == NE_EXPR
    2850            0 :  && code2 == LT_EXPR
    2851              :  && one_before
    2852            0 :  && allbits)
    2853            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2854            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2855            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2856              : )
    2857              :                                     {
    2858            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail867;
    2859            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail867;
    2860            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail867;
    2861            0 :                                       {
    2862            0 :                                         tree res_op0;
    2863            0 :                                         res_op0 = captures[4];
    2864            0 :                                         tree res_op1;
    2865            0 :                                         {
    2866            0 :                                           tree _o1[1], _r1;
    2867            0 :                                           _o1[0] = captures[2];
    2868            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2869              :                                             {
    2870            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2871              :                                             }
    2872              :                                           else
    2873              :                                             _r1 = _o1[0];
    2874            0 :                                           res_op1 = _r1;
    2875              :                                         }
    2876            0 :                                         tree _r;
    2877            0 :                                         _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2878            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 716, __FILE__, __LINE__, true);
    2879              :                                         return _r;
    2880              :                                       }
    2881            0 : next_after_fail867:;
    2882              :                                     }
    2883              :                                 }
    2884              :                             }
    2885              :                         }
    2886              :                     }
    2887              :                 }
    2888              :             }
    2889              :       }
    2890              :     }
    2891              :   return NULL_TREE;
    2892              : }
    2893              : 
    2894              : tree
    2895           31 : generic_simplify_529 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2896              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2897              : {
    2898           31 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2899           31 :   if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2900           54 :  && (element_precision (TREE_TYPE (captures[2]))
    2901           23 :  <= element_precision (TREE_TYPE (captures[3]))
    2902            1 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2903              : )
    2904              :     {
    2905           22 :       {
    2906           22 :  tree shift_type = TREE_TYPE (captures[2]);
    2907           22 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail931;
    2908           22 :           {
    2909           22 :             tree res_op0;
    2910           22 :             {
    2911           22 :               tree _o1[2], _r1;
    2912           22 :               {
    2913           22 :                 tree _o2[1], _r2;
    2914           22 :                 _o2[0] = captures[3];
    2915           22 :                 if (TREE_TYPE (_o2[0]) != shift_type)
    2916              :                   {
    2917            1 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o2[0]);
    2918              :                   }
    2919              :                 else
    2920              :                   _r2 = _o2[0];
    2921           22 :                 _o1[0] = _r2;
    2922              :               }
    2923           22 :               _o1[1] = captures[4];
    2924           22 :               _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2925           22 :               res_op0 = _r1;
    2926              :             }
    2927           22 :             tree _r;
    2928           22 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2929           22 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 743, __FILE__, __LINE__, true);
    2930              :             return _r;
    2931              :           }
    2932            0 : next_after_fail931:;
    2933              :       }
    2934              :     }
    2935              :   return NULL_TREE;
    2936              : }
    2937              : 
    2938              : tree
    2939          147 : generic_simplify_540 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2940              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2941              : {
    2942          147 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2943          147 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail943;
    2944          147 :   {
    2945          147 :     tree res_op0;
    2946          147 :     {
    2947          147 :       tree _o1[1], _r1;
    2948          147 :       _o1[0] = captures[0];
    2949          147 :       if (TREE_TYPE (_o1[0]) != type)
    2950              :         {
    2951            0 :           _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    2952              :         }
    2953              :       else
    2954              :         _r1 = _o1[0];
    2955          147 :       res_op0 = _r1;
    2956              :     }
    2957          147 :     tree res_op1;
    2958          147 :     res_op1 =  build_each_one_cst (type);
    2959          147 :     tree _r;
    2960          147 :     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    2961          147 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 753, __FILE__, __LINE__, true);
    2962              :     return _r;
    2963              :   }
    2964            0 : next_after_fail943:;
    2965            0 :   return NULL_TREE;
    2966              : }
    2967              : 
    2968              : tree
    2969            0 : generic_simplify_548 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2970              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2971              :  const enum tree_code ARG_UNUSED (minmax),
    2972              :  const enum tree_code ARG_UNUSED (maxmin))
    2973              : {
    2974            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2975            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail952;
    2976            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail952;
    2977            0 :   {
    2978            0 :     tree _r;
    2979            0 :     _r = captures[0];
    2980            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 761, __FILE__, __LINE__, true);
    2981              :     return _r;
    2982              :   }
    2983            0 : next_after_fail952:;
    2984              :   return NULL_TREE;
    2985              : }
    2986              : 
    2987              : tree
    2988           47 : generic_simplify_557 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2989              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2990              :  const enum tree_code ARG_UNUSED (minmax),
    2991              :  const enum tree_code ARG_UNUSED (cmp))
    2992              : {
    2993           47 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2994           47 :   {
    2995           47 :  poly_int64 off0, off1;
    2996           47 :  tree base0, base1;
    2997           47 :  int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[3], base0, base1,
    2998              :  off0, off1,
    2999              : 1
    3000              : );
    3001           47 :       if (equal == 1
    3002              : )
    3003              :         {
    3004            0 :           if (minmax == MIN_EXPR
    3005              : )
    3006              :             {
    3007            0 :               if (known_le (off0, off1)
    3008              : )
    3009              :                 {
    3010            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail963;
    3011            0 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail963;
    3012            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail963;
    3013            0 :                   {
    3014            0 :                     tree _r;
    3015            0 :                     _r = captures[0];
    3016            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 772, __FILE__, __LINE__, true);
    3017            0 :                     return _r;
    3018              :                   }
    3019           47 : next_after_fail963:;
    3020              :                 }
    3021              :               else
    3022              :                 {
    3023            0 :                   if (known_gt (off0, off1)
    3024              : )
    3025              :                     {
    3026            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail964;
    3027            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail964;
    3028            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail964;
    3029            0 :                       {
    3030            0 :                         tree _r;
    3031            0 :                         _r = captures[2];
    3032            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 773, __FILE__, __LINE__, true);
    3033              :                         return _r;
    3034              :                       }
    3035           47 : next_after_fail964:;
    3036              :                     }
    3037              :                 }
    3038              :             }
    3039              :           else
    3040              :             {
    3041            0 :               if (known_ge (off0, off1)
    3042              : )
    3043              :                 {
    3044            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail965;
    3045            0 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail965;
    3046            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail965;
    3047            0 :                   {
    3048            0 :                     tree _r;
    3049            0 :                     _r = captures[0];
    3050            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 774, __FILE__, __LINE__, true);
    3051              :                     return _r;
    3052              :                   }
    3053           47 : next_after_fail965:;
    3054              :                 }
    3055              :               else
    3056              :                 {
    3057            0 :                   if (known_lt (off0, off1)
    3058              : )
    3059              :                     {
    3060            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail966;
    3061            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail966;
    3062            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail966;
    3063            0 :                       {
    3064            0 :                         tree _r;
    3065            0 :                         _r = captures[2];
    3066            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 775, __FILE__, __LINE__, true);
    3067              :                         return _r;
    3068              :                       }
    3069           47 : next_after_fail966:;
    3070              :                     }
    3071              :                 }
    3072              :             }
    3073              :         }
    3074              :   }
    3075           47 :   return NULL_TREE;
    3076              : }
    3077              : 
    3078              : tree
    3079            0 : generic_simplify_574 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3080              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3081              :  const combined_fn ARG_UNUSED (cond_op))
    3082              : {
    3083            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3084            0 :   {
    3085            0 :  tree op_type = TREE_TYPE (captures[3]);
    3086            0 :       if (element_precision (type) == element_precision (op_type)
    3087              : )
    3088              :         {
    3089            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail992;
    3090            0 :           {
    3091            0 :             tree res_op0;
    3092            0 :             {
    3093            0 :               tree _o1[4], _r1;
    3094            0 :               _o1[0] = captures[0];
    3095            0 :               _o1[1] = captures[1];
    3096            0 :               _o1[2] = captures[2];
    3097            0 :               {
    3098            0 :                 tree _o2[1], _r2;
    3099            0 :                 _o2[0] = captures[4];
    3100            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    3101              :                   {
    3102            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    3103              :                   }
    3104              :                 else
    3105              :                   _r2 = _o2[0];
    3106            0 :                 _o1[3] = _r2;
    3107              :               }
    3108            0 :               _r1 = maybe_build_call_expr_loc (loc, cond_op, TREE_TYPE (_o1[1]), 4, _o1[0], _o1[1], _o1[2], _o1[3]);
    3109            0 :               if (!_r1)
    3110            0 :                 goto next_after_fail992;
    3111            0 :               res_op0 = _r1;
    3112              :             }
    3113            0 :             tree _r;
    3114            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3115            0 :             if (TREE_SIDE_EFFECTS (captures[3]))
    3116            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3117            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 785, __FILE__, __LINE__, true);
    3118              :             return _r;
    3119              :           }
    3120            0 : next_after_fail992:;
    3121              :         }
    3122              :   }
    3123              :   return NULL_TREE;
    3124              : }
    3125              : 
    3126              : tree
    3127            0 : generic_simplify_584 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3128              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    3129              :  const enum tree_code ARG_UNUSED (rotate))
    3130              : {
    3131            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3132            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1002;
    3133            0 :   {
    3134            0 :     tree _r;
    3135            0 :     _r = captures[0];
    3136            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    3137            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3138            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 795, __FILE__, __LINE__, true);
    3139              :     return _r;
    3140              :   }
    3141            0 : next_after_fail1002:;
    3142            0 :   return NULL_TREE;
    3143              : }
    3144              : 
    3145              : tree
    3146           60 : generic_simplify_593 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3147              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    3148              :  const enum tree_code ARG_UNUSED (cmp))
    3149              : {
    3150           60 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3151           60 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1014;
    3152           60 :   {
    3153           60 :     tree _r;
    3154           60 :     _r =  constant_boolean_node (true, type);
    3155           60 :     if (TREE_SIDE_EFFECTS (captures[0]))
    3156            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3157           60 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 807, __FILE__, __LINE__, true);
    3158              :     return _r;
    3159              :   }
    3160            0 : next_after_fail1014:;
    3161            0 :   return NULL_TREE;
    3162              : }
    3163              : 
    3164              : tree
    3165            0 : generic_simplify_600 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3166              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3167              :  const combined_fn ARG_UNUSED (sins),
    3168              :  const combined_fn ARG_UNUSED (atans),
    3169              :  const combined_fn ARG_UNUSED (sqrts),
    3170              :  const combined_fn ARG_UNUSED (copysigns))
    3171              : {
    3172            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3173            0 :   {
    3174            0 :  REAL_VALUE_TYPE r_cst;
    3175            0 :  build_sinatan_real (&r_cst, type);
    3176            0 :  tree t_cst = build_real (type, r_cst);
    3177            0 :  tree t_one = build_one_cst (type);
    3178            0 :       if (SCALAR_FLOAT_TYPE_P (type)
    3179              : )
    3180              :         {
    3181            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1021;
    3182            0 :           {
    3183            0 :             if (! tree_invariant_p (captures[1])) goto next_after_fail1021;
    3184            0 :             tree res_op0;
    3185            0 :             {
    3186            0 :               tree _o1[2], _r1;
    3187            0 :               {
    3188            0 :                 tree _o2[1], _r2;
    3189            0 :                 _o2[0] = unshare_expr (captures[1]);
    3190            0 :                 _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    3191            0 :                 _o1[0] = _r2;
    3192              :               }
    3193            0 :               _o1[1] =  t_cst;
    3194            0 :               _r1 = fold_build2_loc (loc, LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3195            0 :               res_op0 = _r1;
    3196              :             }
    3197            0 :             tree res_op1;
    3198            0 :             {
    3199            0 :               tree _o1[2], _r1;
    3200            0 :               _o1[0] = unshare_expr (captures[1]);
    3201            0 :               {
    3202            0 :                 tree _o2[1], _r2;
    3203            0 :                 {
    3204            0 :                   tree _o3[2], _r3;
    3205            0 :                   {
    3206            0 :                     tree _o4[2], _r4;
    3207            0 :                     _o4[0] = unshare_expr (captures[1]);
    3208            0 :                     _o4[1] = unshare_expr (captures[1]);
    3209            0 :                     _r4 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o4[0]), _o4[0], _o4[1]);
    3210            0 :                     _o3[0] = _r4;
    3211              :                   }
    3212            0 :                   _o3[1] =  t_one;
    3213            0 :                   _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    3214            0 :                   _o2[0] = _r3;
    3215              :                 }
    3216            0 :                 _r2 = maybe_build_call_expr_loc (loc, sqrts, TREE_TYPE (_o2[0]), 1, _o2[0]);
    3217            0 :                 if (!_r2)
    3218            0 :                   goto next_after_fail1021;
    3219            0 :                 _o1[1] = _r2;
    3220              :               }
    3221            0 :               _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3222            0 :               res_op1 = _r1;
    3223              :             }
    3224            0 :             tree res_op2;
    3225            0 :             {
    3226            0 :               tree _o1[2], _r1;
    3227            0 :               _o1[0] =  t_one;
    3228            0 :               _o1[1] = captures[1];
    3229            0 :               _r1 = maybe_build_call_expr_loc (loc, copysigns, TREE_TYPE (_o1[0]), 2, _o1[0], _o1[1]);
    3230            0 :               if (!_r1)
    3231            0 :                 goto next_after_fail1021;
    3232            0 :               res_op2 = _r1;
    3233              :             }
    3234            0 :             tree _r;
    3235            0 :             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    3236            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 814, __FILE__, __LINE__, true);
    3237            0 :             return _r;
    3238              :           }
    3239            0 : next_after_fail1021:;
    3240              :         }
    3241              :   }
    3242            0 :   return NULL_TREE;
    3243              : }
    3244              : 
    3245              : tree
    3246            0 : generic_simplify_623 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3247              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    3248              : {
    3249            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3250            0 :   if (canonicalize_math_after_vectorization_p ()
    3251              : )
    3252              :     {
    3253              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1044;
    3254              :       {
    3255              :         tree res_op0;
    3256              :         res_op0 = captures[0];
    3257              :         tree res_op1;
    3258              :         res_op1 = captures[1];
    3259              :         tree res_op2;
    3260              :         res_op2 = captures[2];
    3261              :         tree _r;
    3262              :         _r = maybe_build_call_expr_loc (loc, CFN_FNMA, type, 3, res_op0, res_op1, res_op2);
    3263              :         if (!_r)
    3264              :           goto next_after_fail1044;
    3265              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 837, __FILE__, __LINE__, true);
    3266              :         return _r;
    3267              :       }
    3268            0 : next_after_fail1044:;
    3269              :     }
    3270            0 :   return NULL_TREE;
    3271              : }
    3272              : 
    3273              : tree
    3274            0 : generic_simplify_632 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3275              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures))
    3276              : {
    3277            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3278            0 :   if (canonicalize_math_after_vectorization_p ()
    3279              : )
    3280              :     {
    3281              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1053;
    3282              :       {
    3283              :         tree res_op0;
    3284              :         res_op0 = captures[0];
    3285              :         tree res_op1;
    3286              :         res_op1 = captures[1];
    3287              :         tree res_op2;
    3288              :         res_op2 = captures[2];
    3289              :         tree res_op3;
    3290              :         res_op3 = captures[3];
    3291              :         tree res_op4;
    3292              :         res_op4 = captures[4];
    3293              :         tree _r;
    3294              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3295              :         if (!_r)
    3296              :           goto next_after_fail1053;
    3297              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 846, __FILE__, __LINE__, true);
    3298              :         return _r;
    3299              :       }
    3300            0 : next_after_fail1053:;
    3301              :     }
    3302            0 :   return NULL_TREE;
    3303              : }
    3304              : 
    3305              : tree
    3306            0 : generic_simplify_641 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3307              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3308              :  const enum tree_code ARG_UNUSED (rot),
    3309              :  const combined_fn ARG_UNUSED (popcount))
    3310              : {
    3311            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3312            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3313            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3314            0 :  && (
    3315              : 
    3316            0 :  || !TREE_SIDE_EFFECTS (captures[3]))
    3317              : )
    3318              :     {
    3319            0 :       {
    3320            0 :  tree type0 = TREE_TYPE (captures[0]);
    3321            0 :  tree type1 = TREE_TYPE (captures[1]);
    3322            0 :  unsigned int prec0 = TYPE_PRECISION (type0);
    3323            0 :  unsigned int prec1 = TYPE_PRECISION (type1);
    3324            0 :           if (prec0 == prec1 || (prec0 > prec1 && TYPE_UNSIGNED (type1))
    3325              : )
    3326              :             {
    3327            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1062;
    3328            0 :               {
    3329            0 :                 tree res_op0;
    3330            0 :                 {
    3331            0 :                   tree _o1[1], _r1;
    3332            0 :                   _o1[0] = captures[2];
    3333            0 :                   if (TREE_TYPE (_o1[0]) != type0)
    3334              :                     {
    3335            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3336              :                     }
    3337              :                   else
    3338              :                     _r1 = _o1[0];
    3339            0 :                   res_op0 = _r1;
    3340              :                 }
    3341            0 :                 tree _r;
    3342            0 :                 _r = maybe_build_call_expr_loc (loc, popcount, type, 1, res_op0);
    3343            0 :                 if (!_r)
    3344            0 :                   goto next_after_fail1062;
    3345            0 :                 if (TREE_SIDE_EFFECTS (captures[3]))
    3346            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3347            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 852, __FILE__, __LINE__, true);
    3348              :                 return _r;
    3349              :               }
    3350            0 : next_after_fail1062:;
    3351              :             }
    3352              :       }
    3353              :     }
    3354              :   return NULL_TREE;
    3355              : }
    3356              : 
    3357              : tree
    3358            0 : generic_simplify_653 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3359              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3360              :  const enum tree_code ARG_UNUSED (plusminus),
    3361              :  const enum tree_code ARG_UNUSED (minusplus))
    3362              : {
    3363            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3364            0 :   if (!VECTOR_INTEGER_TYPE_P (type)
    3365              :  && !FLOAT_WORDS_BIG_ENDIAN
    3366            0 :  && (operand_equal_p (captures[0], captures[2], 0)
    3367            0 :  ? operand_equal_p (captures[1], captures[3], 0)
    3368            0 :  : operand_equal_p (captures[0], captures[3], 0) && operand_equal_p (captures[1], captures[2], 0))
    3369              : )
    3370              :     {
    3371            0 :       {
    3372            0 :  vec_perm_builder builder;
    3373            0 :           if (tree_to_vec_perm_builder (&builder, captures[4])
    3374              : )
    3375              :             {
    3376            0 :               {
    3377            0 :  poly_uint64 nelts = TYPE_VECTOR_SUBPARTS (type);
    3378            0 :  vec_perm_indices sel (builder, 2, nelts);
    3379            0 :  machine_mode vec_mode = TYPE_MODE (type);
    3380            0 :  machine_mode wide_mode;
    3381            0 :  scalar_mode wide_elt_mode;
    3382            0 :  poly_uint64 wide_nunits;
    3383            0 :  scalar_mode inner_mode = GET_MODE_INNER (vec_mode);
    3384            0 :                   if (VECTOR_MODE_P (vec_mode)
    3385            0 :  && sel.series_p (0, 2, 0, 2)
    3386            0 :  && sel.series_p (1, 2, nelts + 1, 2)
    3387            0 :  && GET_MODE_2XWIDER_MODE (inner_mode).exists (&wide_elt_mode)
    3388            0 :  && multiple_p (GET_MODE_NUNITS (vec_mode), 2, &wide_nunits)
    3389            0 :  && related_vector_mode (vec_mode, wide_elt_mode,
    3390            0 :  wide_nunits).exists (&wide_mode)
    3391              : )
    3392              :                     {
    3393            0 :                       {
    3394            0 :  tree stype
    3395            0 :  = lang_hooks.types.type_for_mode (GET_MODE_INNER (wide_mode),
    3396            0 :  TYPE_UNSIGNED (type));
    3397            0 :  tree ntype = build_vector_type_for_mode (stype, wide_mode);
    3398            0 :  const struct real_format *fmt_old = FLOAT_MODE_FORMAT (vec_mode);
    3399            0 :  const struct real_format *fmt_new = FLOAT_MODE_FORMAT (wide_mode);
    3400            0 :                           if (TYPE_MODE (stype) != BLKmode
    3401            0 :  && VECTOR_TYPE_P (ntype)
    3402            0 :  && fmt_old != NULL
    3403            0 :  && fmt_new != NULL
    3404              : )
    3405              :                             {
    3406            0 :                               {
    3407            0 :  if (known_eq (GET_MODE_NUNITS (wide_mode), 1)
    3408            0 :  && !target_supports_op_p (ntype, NEGATE_EXPR, optab_vector))
    3409              :  ntype = stype;
    3410            0 :                                   if (fmt_new->signbit_rw
    3411            0 :  == fmt_old->signbit_rw + GET_MODE_UNIT_BITSIZE (vec_mode)
    3412            0 :  && fmt_new->signbit_rw == fmt_new->signbit_ro
    3413            0 :  && targetm.can_change_mode_class (TYPE_MODE (ntype),
    3414            0 :  TYPE_MODE (type), ALL_REGS)
    3415            0 :  && ((optimize_vectors_before_lowering_p ()
    3416            0 :  && VECTOR_TYPE_P (ntype))
    3417            0 :  || target_supports_op_p (ntype, NEGATE_EXPR, optab_vector))
    3418              : )
    3419              :                                     {
    3420            0 :                                       if (plusminus == PLUS_EXPR
    3421              : )
    3422              :                                         {
    3423            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1076;
    3424            0 :                                           {
    3425            0 :                                             tree res_op0;
    3426            0 :                                             {
    3427            0 :                                               tree _o1[1], _r1;
    3428            0 :                                               {
    3429            0 :                                                 tree _o2[1], _r2;
    3430            0 :                                                 {
    3431            0 :                                                   tree _o3[1], _r3;
    3432            0 :                                                   _o3[0] = captures[3];
    3433            0 :                                                   if (TREE_TYPE (_o3[0]) != ntype)
    3434              :                                                     {
    3435            0 :                                                       _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, ntype, _o3[0]);
    3436              :                                                     }
    3437              :                                                   else
    3438              :                                                     _r3 = _o3[0];
    3439            0 :                                                   _o2[0] = _r3;
    3440              :                                                 }
    3441            0 :                                                 _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    3442            0 :                                                 _o1[0] = _r2;
    3443              :                                               }
    3444            0 :                                               if (TREE_TYPE (_o1[0]) != type)
    3445              :                                                 {
    3446            0 :                                                   _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    3447              :                                                 }
    3448              :                                               else
    3449              :                                                 _r1 = _o1[0];
    3450            0 :                                               res_op0 = _r1;
    3451              :                                             }
    3452            0 :                                             tree res_op1;
    3453            0 :                                             res_op1 = captures[2];
    3454            0 :                                             tree _r;
    3455            0 :                                             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3456            0 :                                             if (TREE_SIDE_EFFECTS (captures[0]))
    3457            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3458            0 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    3459            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3460            0 :                                             if (TREE_SIDE_EFFECTS (captures[4]))
    3461            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    3462            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 862, __FILE__, __LINE__, true);
    3463              :                                             return _r;
    3464              :                                           }
    3465            0 : next_after_fail1076:;
    3466              :                                         }
    3467              :                                       else
    3468              :                                         {
    3469            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1077;
    3470            0 :                                           {
    3471            0 :                                             tree res_op0;
    3472            0 :                                             res_op0 = captures[0];
    3473            0 :                                             tree res_op1;
    3474            0 :                                             {
    3475            0 :                                               tree _o1[1], _r1;
    3476            0 :                                               {
    3477            0 :                                                 tree _o2[1], _r2;
    3478            0 :                                                 {
    3479            0 :                                                   tree _o3[1], _r3;
    3480            0 :                                                   _o3[0] = captures[1];
    3481            0 :                                                   if (TREE_TYPE (_o3[0]) != ntype)
    3482              :                                                     {
    3483            0 :                                                       _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, ntype, _o3[0]);
    3484              :                                                     }
    3485              :                                                   else
    3486              :                                                     _r3 = _o3[0];
    3487            0 :                                                   _o2[0] = _r3;
    3488              :                                                 }
    3489            0 :                                                 _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    3490            0 :                                                 _o1[0] = _r2;
    3491              :                                               }
    3492            0 :                                               if (TREE_TYPE (_o1[0]) != type)
    3493              :                                                 {
    3494            0 :                                                   _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    3495              :                                                 }
    3496              :                                               else
    3497              :                                                 _r1 = _o1[0];
    3498            0 :                                               res_op1 = _r1;
    3499              :                                             }
    3500            0 :                                             tree _r;
    3501            0 :                                             _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    3502            0 :                                             if (TREE_SIDE_EFFECTS (captures[2]))
    3503            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3504            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
    3505            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3506            0 :                                             if (TREE_SIDE_EFFECTS (captures[4]))
    3507            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    3508            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 863, __FILE__, __LINE__, true);
    3509              :                                             return _r;
    3510              :                                           }
    3511            0 : next_after_fail1077:;
    3512              :                                         }
    3513              :                                     }
    3514              :                               }
    3515              :                             }
    3516              :                       }
    3517              :                     }
    3518            0 :               }
    3519              :             }
    3520            0 :       }
    3521              :     }
    3522              :   return NULL_TREE;
    3523              : }
    3524              : 
    3525              : tree
    3526         1330 : generic_simplify_CONJ_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3527              : {
    3528         1330 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3529         1330 :   switch (TREE_CODE (_p0))
    3530              :     {
    3531            0 :     CASE_CONVERT:
    3532            0 :       {
    3533            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3534            0 :         switch (TREE_CODE (_q20))
    3535              :           {
    3536            0 :           case CONJ_EXPR:
    3537            0 :             {
    3538            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3539            0 :               {
    3540            0 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3541            0 :                 tree res = generic_simplify_587 (loc, type, _p0, captures);
    3542            0 :                 if (res) return res;
    3543              :               }
    3544            0 :               break;
    3545              :             }
    3546            0 :           case COMPLEX_EXPR:
    3547            0 :             {
    3548            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3549            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3550            0 :               {
    3551            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3552            0 :                 {
    3553            0 :  tree itype = TREE_TYPE (type);
    3554            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1200;
    3555            0 :                     {
    3556            0 :                       tree res_op0;
    3557            0 :                       {
    3558            0 :                         tree _o1[1], _r1;
    3559            0 :                         _o1[0] = captures[2];
    3560            0 :                         if (TREE_TYPE (_o1[0]) != itype)
    3561              :                           {
    3562            0 :                             _r1 = fold_build1_loc (loc, NOP_EXPR, itype, _o1[0]);
    3563              :                           }
    3564              :                         else
    3565              :                           _r1 = _o1[0];
    3566            0 :                         res_op0 = _r1;
    3567              :                       }
    3568            0 :                       tree res_op1;
    3569            0 :                       {
    3570            0 :                         tree _o1[1], _r1;
    3571            0 :                         {
    3572            0 :                           tree _o2[1], _r2;
    3573            0 :                           _o2[0] = captures[3];
    3574            0 :                           if (TREE_TYPE (_o2[0]) != itype)
    3575              :                             {
    3576            0 :                               _r2 = fold_build1_loc (loc, NOP_EXPR, itype, _o2[0]);
    3577              :                             }
    3578              :                           else
    3579              :                             _r2 = _o2[0];
    3580            0 :                           _o1[0] = _r2;
    3581              :                         }
    3582            0 :                         _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3583            0 :                         res_op1 = _r1;
    3584              :                       }
    3585            0 :                       tree _r;
    3586            0 :                       _r = fold_build2_loc (loc, COMPLEX_EXPR, type, res_op0, res_op1);
    3587            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 925, __FILE__, __LINE__, true);
    3588              :                       return _r;
    3589              :                     }
    3590            0 : next_after_fail1200:;
    3591              :                 }
    3592              :               }
    3593            0 :               break;
    3594              :             }
    3595              :           default:;
    3596              :           }
    3597              :         break;
    3598              :       }
    3599            1 :     case CONJ_EXPR:
    3600            1 :       {
    3601            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3602            1 :         {
    3603            1 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3604            1 :           tree res = generic_simplify_587 (loc, type, _p0, captures);
    3605            1 :           if (res) return res;
    3606              :         }
    3607            0 :         break;
    3608              :       }
    3609           12 :     case COMPLEX_EXPR:
    3610           12 :       {
    3611           12 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3612           12 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3613           12 :         {
    3614           12 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    3615           12 :           {
    3616           12 :  tree itype = TREE_TYPE (type);
    3617           12 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1201;
    3618           12 :               {
    3619           12 :                 tree res_op0;
    3620           12 :                 {
    3621           12 :                   tree _o1[1], _r1;
    3622           12 :                   _o1[0] = captures[2];
    3623           12 :                   if (TREE_TYPE (_o1[0]) != itype)
    3624              :                     {
    3625            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, itype, _o1[0]);
    3626              :                     }
    3627              :                   else
    3628              :                     _r1 = _o1[0];
    3629           12 :                   res_op0 = _r1;
    3630              :                 }
    3631           12 :                 tree res_op1;
    3632           12 :                 {
    3633           12 :                   tree _o1[1], _r1;
    3634           12 :                   {
    3635           12 :                     tree _o2[1], _r2;
    3636           12 :                     _o2[0] = captures[3];
    3637           12 :                     if (TREE_TYPE (_o2[0]) != itype)
    3638              :                       {
    3639            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, itype, _o2[0]);
    3640              :                       }
    3641              :                     else
    3642              :                       _r2 = _o2[0];
    3643           12 :                     _o1[0] = _r2;
    3644              :                   }
    3645           12 :                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3646           12 :                   res_op1 = _r1;
    3647              :                 }
    3648           12 :                 tree _r;
    3649           12 :                 _r = fold_build2_loc (loc, COMPLEX_EXPR, type, res_op0, res_op1);
    3650           12 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 925, __FILE__, __LINE__, true);
    3651              :                 return _r;
    3652              :               }
    3653            0 : next_after_fail1201:;
    3654              :           }
    3655              :         }
    3656            0 :         break;
    3657              :       }
    3658              :     default:;
    3659              :     }
    3660              :   return NULL_TREE;
    3661              : }
    3662              : 
    3663              : tree
    3664     99376822 : generic_simplify_PLUS_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    3665              : {
    3666     99376822 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3667     99376822 :   switch (TREE_CODE (_p0))
    3668              :     {
    3669         1541 :     case BIT_XOR_EXPR:
    3670         1541 :       {
    3671         1541 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3672         1541 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3673         1541 :         switch (TREE_CODE (_q21))
    3674              :           {
    3675            8 :           case NEGATE_EXPR:
    3676            8 :             {
    3677            8 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3678            8 :               switch (TREE_CODE (_q40))
    3679              :                 {
    3680            0 :                 CASE_CONVERT:
    3681            0 :                   {
    3682            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    3683            0 :                     switch (TREE_CODE (_q50))
    3684              :                       {
    3685            0 :                       case LT_EXPR:
    3686            0 :                         {
    3687            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    3688            0 :                           tree _q61 = TREE_OPERAND (_q50, 1);
    3689            0 :                           if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    3690              :                             {
    3691            0 :                               if (integer_zerop (_q61))
    3692              :                                 {
    3693            0 :                                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    3694              :                                     {
    3695            0 :                                       {
    3696            0 :                                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    3697            0 :                                         tree res = generic_simplify_51 (loc, type, _p0, _p1, captures);
    3698            0 :                                         if (res) return res;
    3699              :                                       }
    3700              :                                     }
    3701              :                                 }
    3702              :                             }
    3703              :                           break;
    3704              :                         }
    3705              :                       default:;
    3706              :                       }
    3707              :                     break;
    3708              :                   }
    3709              :                 default:;
    3710              :                 }
    3711              :               break;
    3712              :             }
    3713         1541 :           default:;
    3714              :           }
    3715         1541 :         switch (TREE_CODE (_q20))
    3716              :           {
    3717           10 :           case NEGATE_EXPR:
    3718           10 :             {
    3719           10 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3720           10 :               switch (TREE_CODE (_q30))
    3721              :                 {
    3722            0 :                 CASE_CONVERT:
    3723            0 :                   {
    3724            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3725            0 :                     switch (TREE_CODE (_q40))
    3726              :                       {
    3727            0 :                       case LT_EXPR:
    3728            0 :                         {
    3729            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    3730            0 :                           tree _q51 = TREE_OPERAND (_q40, 1);
    3731            0 :                           if (integer_zerop (_q51))
    3732              :                             {
    3733            0 :                               if ((_q21 == _q50 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q50, 0) && types_match (_q21, _q50)))
    3734              :                                 {
    3735            0 :                                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    3736              :                                     {
    3737            0 :                                       {
    3738            0 :                                         tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    3739            0 :                                         tree res = generic_simplify_51 (loc, type, _p0, _p1, captures);
    3740            0 :                                         if (res) return res;
    3741              :                                       }
    3742              :                                     }
    3743              :                                 }
    3744              :                             }
    3745              :                           break;
    3746              :                         }
    3747              :                       default:;
    3748              :                       }
    3749              :                     break;
    3750              :                   }
    3751              :                 default:;
    3752              :                 }
    3753              :               break;
    3754              :             }
    3755              :           default:;
    3756              :           }
    3757              :         break;
    3758              :       }
    3759     99376822 :     default:;
    3760              :     }
    3761     99376822 :   switch (TREE_CODE (_p1))
    3762              :     {
    3763          165 :     case BIT_XOR_EXPR:
    3764          165 :       {
    3765          165 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3766          165 :         tree _q31 = TREE_OPERAND (_p1, 1);
    3767          165 :         switch (TREE_CODE (_q31))
    3768              :           {
    3769            0 :           case NEGATE_EXPR:
    3770            0 :             {
    3771            0 :               tree _q50 = TREE_OPERAND (_q31, 0);
    3772            0 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    3773              :                 {
    3774            0 :                   switch (TREE_CODE (_q50))
    3775              :                     {
    3776            0 :                     CASE_CONVERT:
    3777            0 :                       {
    3778            0 :                         tree _q70 = TREE_OPERAND (_q50, 0);
    3779            0 :                         switch (TREE_CODE (_q70))
    3780              :                           {
    3781            0 :                           case LT_EXPR:
    3782            0 :                             {
    3783            0 :                               tree _q80 = TREE_OPERAND (_q70, 0);
    3784            0 :                               tree _q81 = TREE_OPERAND (_q70, 1);
    3785            0 :                               if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
    3786              :                                 {
    3787            0 :                                   if (integer_zerop (_q81))
    3788              :                                     {
    3789            0 :                                       {
    3790            0 :                                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    3791            0 :                                         tree res = generic_simplify_52 (loc, type, _p0, _p1, captures);
    3792            0 :                                         if (res) return res;
    3793              :                                       }
    3794              :                                     }
    3795              :                                 }
    3796              :                               break;
    3797              :                             }
    3798              :                           default:;
    3799              :                           }
    3800              :                         break;
    3801              :                       }
    3802              :                     default:;
    3803              :                     }
    3804              :                 }
    3805              :               break;
    3806              :             }
    3807          165 :           default:;
    3808              :           }
    3809          165 :         switch (TREE_CODE (_q30))
    3810              :           {
    3811            0 :           case NEGATE_EXPR:
    3812            0 :             {
    3813            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    3814            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    3815              :                 {
    3816            0 :                   switch (TREE_CODE (_q40))
    3817              :                     {
    3818            0 :                     CASE_CONVERT:
    3819            0 :                       {
    3820            0 :                         tree _q60 = TREE_OPERAND (_q40, 0);
    3821            0 :                         switch (TREE_CODE (_q60))
    3822              :                           {
    3823            0 :                           case LT_EXPR:
    3824            0 :                             {
    3825            0 :                               tree _q70 = TREE_OPERAND (_q60, 0);
    3826            0 :                               tree _q71 = TREE_OPERAND (_q60, 1);
    3827            0 :                               if (integer_zerop (_q71))
    3828              :                                 {
    3829            0 :                                   if ((_q31 == _q70 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q70, 0) && types_match (_q31, _q70)))
    3830              :                                     {
    3831            0 :                                       {
    3832            0 :                                         tree captures[2] ATTRIBUTE_UNUSED = { _q70, _p0 };
    3833            0 :                                         tree res = generic_simplify_52 (loc, type, _p0, _p1, captures);
    3834            0 :                                         if (res) return res;
    3835              :                                       }
    3836              :                                     }
    3837              :                                 }
    3838              :                               break;
    3839              :                             }
    3840              :                           default:;
    3841              :                           }
    3842              :                         break;
    3843              :                       }
    3844              :                     default:;
    3845              :                     }
    3846              :                 }
    3847              :               break;
    3848              :             }
    3849              :           default:;
    3850              :           }
    3851              :         break;
    3852              :       }
    3853     99376822 :     default:;
    3854              :     }
    3855     99376822 : if (integer_zerop (_p1))
    3856              :   {
    3857     27930868 :     {
    3858     27930868 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3859     27930868 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1295;
    3860     27930868 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1295;
    3861     27930868 :       {
    3862     27930868 :         tree res_op0;
    3863     27930868 :         res_op0 = captures[0];
    3864     27930868 :         tree _r;
    3865     27930868 :         _r = non_lvalue_loc (loc, res_op0);
    3866     27930868 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    3867     99376822 :         return _r;
    3868              :       }
    3869     71445954 : next_after_fail1295:;
    3870              :     }
    3871              :   }
    3872     71445954 : if (real_zerop (_p1))
    3873              :   {
    3874         5353 :     {
    3875         5353 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    3876         5353 :       tree res = generic_simplify_53 (loc, type, _p0, _p1, captures);
    3877         5353 :       if (res) return res;
    3878              :     }
    3879              :   }
    3880     71445859 :   switch (TREE_CODE (_p0))
    3881              :     {
    3882      6564417 :     case PLUS_EXPR:
    3883      6564417 :       {
    3884      6564417 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3885      6564417 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3886      6564417 :         switch (TREE_CODE (_q21))
    3887              :           {
    3888       120167 :           case REAL_CST:
    3889       120167 :             {
    3890       120167 :               switch (TREE_CODE (_p1))
    3891              :                 {
    3892           71 :                 case REAL_CST:
    3893           71 :                   {
    3894           71 :                     {
    3895           71 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    3896           71 :                       tree res = generic_simplify_54 (loc, type, _p0, _p1, captures, PLUS_EXPR, PLUS_EXPR);
    3897           71 :                       if (res) return res;
    3898              :                     }
    3899           68 :                     break;
    3900              :                   }
    3901              :                 default:;
    3902              :                 }
    3903              :               break;
    3904              :             }
    3905              :           default:;
    3906              :           }
    3907              :         break;
    3908              :       }
    3909      2079025 :     case MINUS_EXPR:
    3910      2079025 :       {
    3911      2079025 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3912      2079025 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3913      2079025 :         switch (TREE_CODE (_q21))
    3914              :           {
    3915        22628 :           case REAL_CST:
    3916        22628 :             {
    3917        22628 :               switch (TREE_CODE (_p1))
    3918              :                 {
    3919          190 :                 case REAL_CST:
    3920          190 :                   {
    3921          190 :                     {
    3922          190 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    3923          190 :                       tree res = generic_simplify_54 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR);
    3924          190 :                       if (res) return res;
    3925              :                     }
    3926          188 :                     break;
    3927              :                   }
    3928              :                 default:;
    3929              :                 }
    3930              :               break;
    3931              :             }
    3932              :           default:;
    3933              :           }
    3934              :         break;
    3935              :       }
    3936        12286 :     case MAX_EXPR:
    3937        12286 :       {
    3938        12286 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3939        12286 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3940        12286 :         if (integer_zerop (_q21))
    3941              :           {
    3942         4642 :             switch (TREE_CODE (_p1))
    3943              :               {
    3944          114 :               case MAX_EXPR:
    3945          114 :                 {
    3946          114 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    3947          114 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    3948          114 :                   switch (TREE_CODE (_q50))
    3949              :                     {
    3950           48 :                     case NEGATE_EXPR:
    3951           48 :                       {
    3952           48 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    3953           48 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    3954              :                           {
    3955           48 :                             if (integer_zerop (_q51))
    3956              :                               {
    3957           48 :                                 {
    3958           48 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3959           48 :                                   tree res = generic_simplify_55 (loc, type, _p0, _p1, captures);
    3960           48 :                                   if (res) return res;
    3961              :                                 }
    3962              :                               }
    3963              :                           }
    3964              :                         break;
    3965              :                       }
    3966              :                     default:;
    3967              :                     }
    3968              :                   break;
    3969              :                 }
    3970              :               default:;
    3971              :               }
    3972              :           }
    3973        12238 :         switch (TREE_CODE (_q20))
    3974              :           {
    3975           18 :           case NEGATE_EXPR:
    3976           18 :             {
    3977           18 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3978           18 :               if (integer_zerop (_q21))
    3979              :                 {
    3980           18 :                   switch (TREE_CODE (_p1))
    3981              :                     {
    3982           18 :                     case MAX_EXPR:
    3983           18 :                       {
    3984           18 :                         tree _q60 = TREE_OPERAND (_p1, 0);
    3985           18 :                         tree _q61 = TREE_OPERAND (_p1, 1);
    3986           18 :                         if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    3987              :                           {
    3988           18 :                             if (integer_zerop (_q61))
    3989              :                               {
    3990           18 :                                 {
    3991           18 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3992           18 :                                   tree res = generic_simplify_55 (loc, type, _p0, _p1, captures);
    3993           18 :                                   if (res) return res;
    3994              :                                 }
    3995              :                               }
    3996              :                           }
    3997              :                         break;
    3998              :                       }
    3999              :                     default:;
    4000              :                     }
    4001              :                 }
    4002              :               break;
    4003              :             }
    4004              :           default:;
    4005              :           }
    4006              :         break;
    4007              :       }
    4008     13466037 :     case MULT_EXPR:
    4009     13466037 :       {
    4010     13466037 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4011     13466037 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4012     13466037 :         switch (TREE_CODE (_q20))
    4013              :           {
    4014      1942017 :           case PLUS_EXPR:
    4015      1942017 :             {
    4016      1942017 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4017      1942017 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4018      1942017 :               switch (TREE_CODE (_q31))
    4019              :                 {
    4020       525678 :                 case INTEGER_CST:
    4021       525678 :                   {
    4022       525678 :                     switch (TREE_CODE (_q21))
    4023              :                       {
    4024       192683 :                       case INTEGER_CST:
    4025       192683 :                         {
    4026       192683 :                           switch (TREE_CODE (_p1))
    4027              :                             {
    4028       127344 :                             case INTEGER_CST:
    4029       127344 :                               {
    4030       127344 :                                 {
    4031       127344 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    4032       127344 :                                   {
    4033       127344 :  bool overflowed = true;
    4034       127344 :  wi::overflow_type ovf1;
    4035       127344 :  wi::overflow_type ovf2;
    4036       127344 :  wide_int mul = wi::mul (wi::to_wide (captures[3]), wi::to_wide (captures[4]),
    4037       254688 :  TYPE_SIGN (type), &ovf1);
    4038       382032 :  wide_int add = wi::add (mul, wi::to_wide (captures[5]),
    4039       127344 :  TYPE_SIGN (type), &ovf2);
    4040       127344 :  if (TYPE_OVERFLOW_UNDEFINED (type))
    4041              :  {
    4042              :  }
    4043              :  else
    4044        66425 :  overflowed = false;
    4045        66425 :                                       if (!overflowed
    4046              : )
    4047              :                                         {
    4048        66425 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1296;
    4049        66425 :                                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1296;
    4050        66425 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1296;
    4051        66425 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1296;
    4052        66425 :                                           {
    4053        66425 :                                             tree res_op0;
    4054        66425 :                                             {
    4055        66425 :                                               tree _o1[2], _r1;
    4056        66425 :                                               _o1[0] = captures[2];
    4057        66425 :                                               _o1[1] = captures[4];
    4058        66425 :                                               _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4059        66425 :                                               res_op0 = _r1;
    4060              :                                             }
    4061        66425 :                                             tree res_op1;
    4062        66425 :                                             res_op1 =  wide_int_to_tree (type, add);
    4063        66425 :                                             tree _r;
    4064        66425 :                                             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    4065        66425 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 943, __FILE__, __LINE__, true);
    4066        66425 :                                             return _r;
    4067              :                                           }
    4068        60919 : next_after_fail1296:;
    4069              :                                         }
    4070       127344 :                                   }
    4071              :                                 }
    4072        60919 :                                 break;
    4073              :                               }
    4074              :                             default:;
    4075              :                             }
    4076              :                           break;
    4077              :                         }
    4078              :                       default:;
    4079              :                       }
    4080              :                     break;
    4081              :                   }
    4082              :                 default:;
    4083              :                 }
    4084              :               break;
    4085              :             }
    4086              :           default:;
    4087              :           }
    4088              :         break;
    4089              :       }
    4090        26326 :     case LSHIFT_EXPR:
    4091        26326 :       {
    4092        26326 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4093        26326 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4094        26326 :         switch (TREE_CODE (_p1))
    4095              :           {
    4096          688 :           case LSHIFT_EXPR:
    4097          688 :             {
    4098          688 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4099          688 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4100          688 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4101              :                 {
    4102            7 :                   {
    4103            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    4104            7 :                     tree res = generic_simplify_56 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    4105            7 :                     if (res) return res;
    4106              :                   }
    4107              :                 }
    4108              :               break;
    4109              :             }
    4110              :           default:;
    4111              :           }
    4112              :         break;
    4113              :       }
    4114       218322 :     case BIT_AND_EXPR:
    4115       218322 :       {
    4116       218322 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4117       218322 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4118       218322 :         switch (TREE_CODE (_p1))
    4119              :           {
    4120          302 :           case BIT_AND_EXPR:
    4121          302 :             {
    4122          302 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4123          302 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4124          302 :               {
    4125          302 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
    4126          302 :                 tree res = generic_simplify_4 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    4127          302 :                 if (res) return res;
    4128              :               }
    4129          302 :               {
    4130          302 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q50 };
    4131          302 :                 tree res = generic_simplify_4 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    4132          302 :                 if (res) return res;
    4133              :               }
    4134          302 :               {
    4135          302 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q51 };
    4136          302 :                 tree res = generic_simplify_4 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    4137          302 :                 if (res) return res;
    4138              :               }
    4139          302 :               {
    4140          302 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q50 };
    4141          302 :                 tree res = generic_simplify_4 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    4142          302 :                 if (res) return res;
    4143              :               }
    4144          302 :               break;
    4145              :             }
    4146       218322 :           default:;
    4147              :           }
    4148       218322 :         if (integer_onep (_q21))
    4149              :           {
    4150       130759 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4151              :               {
    4152           29 :                 {
    4153           29 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    4154           29 :                   tree res = generic_simplify_57 (loc, type, _p0, _p1, captures);
    4155           29 :                   if (res) return res;
    4156              :                 }
    4157              :               }
    4158              :           }
    4159              :         break;
    4160              :       }
    4161     71379327 :     default:;
    4162              :     }
    4163     71379327 : if (real_zerop (_p0))
    4164              :   {
    4165            0 :     {
    4166            0 :       tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
    4167            0 :       tree res = generic_simplify_53 (loc, type, _p0, _p1, captures);
    4168            0 :       if (res) return res;
    4169              :     }
    4170              :   }
    4171     71379327 :   switch (TREE_CODE (_p1))
    4172              :     {
    4173         5561 :     case BIT_AND_EXPR:
    4174         5561 :       {
    4175         5561 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4176         5561 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4177         5561 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4178              :           {
    4179           16 :             if (integer_onep (_q31))
    4180              :               {
    4181           16 :                 {
    4182           16 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    4183           16 :                   tree res = generic_simplify_57 (loc, type, _p0, _p1, captures);
    4184           16 :                   if (res) return res;
    4185              :                 }
    4186              :               }
    4187              :           }
    4188              :         break;
    4189              :       }
    4190     71379311 :     default:;
    4191              :     }
    4192     71379311 :   switch (TREE_CODE (_p0))
    4193              :     {
    4194       218293 :     case BIT_AND_EXPR:
    4195       218293 :       {
    4196       218293 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4197       218293 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4198       218293 :         switch (TREE_CODE (_p1))
    4199              :           {
    4200            9 :           case BIT_XOR_EXPR:
    4201            9 :             {
    4202            9 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4203            9 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4204            9 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4205              :                 {
    4206            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4207              :                     {
    4208            0 :                       {
    4209            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4210            0 :                         tree res = generic_simplify_20 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    4211            0 :                         if (res) return res;
    4212              :                       }
    4213              :                     }
    4214              :                 }
    4215              :               break;
    4216              :             }
    4217       218293 :           default:;
    4218              :           }
    4219       218293 :         switch (TREE_CODE (_q20))
    4220              :           {
    4221            1 :           case BIT_AND_EXPR:
    4222            1 :             {
    4223            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4224            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4225            1 :               if (integer_onep (_q21))
    4226              :                 {
    4227            1 :                   switch (TREE_CODE (_p1))
    4228              :                     {
    4229            1 :                     case PLUS_EXPR:
    4230            1 :                       {
    4231            1 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    4232            1 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    4233            1 :                         switch (TREE_CODE (_q70))
    4234              :                           {
    4235            1 :                           case RSHIFT_EXPR:
    4236            1 :                             {
    4237            1 :                               tree _q80 = TREE_OPERAND (_q70, 0);
    4238            1 :                               tree _q81 = TREE_OPERAND (_q70, 1);
    4239            1 :                               if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
    4240              :                                 {
    4241            1 :                                   if (integer_onep (_q81))
    4242              :                                     {
    4243            1 :                                       switch (TREE_CODE (_q71))
    4244              :                                         {
    4245            1 :                                         case RSHIFT_EXPR:
    4246            1 :                                           {
    4247            1 :                                             tree _q110 = TREE_OPERAND (_q71, 0);
    4248            1 :                                             tree _q111 = TREE_OPERAND (_q71, 1);
    4249            1 :                                             if ((_q110 == _q31 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q31, 0) && types_match (_q110, _q31)))
    4250              :                                               {
    4251            1 :                                                 if ((_q111 == _q81 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q81, 0) && types_match (_q111, _q81)))
    4252              :                                                   {
    4253            1 :                                                     {
    4254            1 :                                                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q81, _q31, _q20 };
    4255            1 :                                                       tree res = generic_simplify_58 (loc, type, _p0, _p1, captures);
    4256            1 :                                                       if (res) return res;
    4257              :                                                     }
    4258              :                                                   }
    4259              :                                               }
    4260              :                                             break;
    4261              :                                           }
    4262              :                                         default:;
    4263              :                                         }
    4264              :                                     }
    4265              :                                 }
    4266            0 :                               if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
    4267              :                                 {
    4268            0 :                                   if (integer_onep (_q81))
    4269              :                                     {
    4270            0 :                                       switch (TREE_CODE (_q71))
    4271              :                                         {
    4272            0 :                                         case RSHIFT_EXPR:
    4273            0 :                                           {
    4274            0 :                                             tree _q110 = TREE_OPERAND (_q71, 0);
    4275            0 :                                             tree _q111 = TREE_OPERAND (_q71, 1);
    4276            0 :                                             if ((_q110 == _q30 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q30, 0) && types_match (_q110, _q30)))
    4277              :                                               {
    4278            0 :                                                 if ((_q111 == _q81 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q81, 0) && types_match (_q111, _q81)))
    4279              :                                                   {
    4280            0 :                                                     {
    4281            0 :                                                       tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q81, _q30, _q20 };
    4282            0 :                                                       tree res = generic_simplify_58 (loc, type, _p0, _p1, captures);
    4283            0 :                                                       if (res) return res;
    4284              :                                                     }
    4285              :                                                   }
    4286              :                                               }
    4287              :                                             break;
    4288              :                                           }
    4289              :                                         default:;
    4290              :                                         }
    4291              :                                     }
    4292              :                                 }
    4293              :                               break;
    4294              :                             }
    4295              :                           default:;
    4296              :                           }
    4297              :                         break;
    4298              :                       }
    4299              :                     default:;
    4300              :                     }
    4301              :                 }
    4302              :               break;
    4303              :             }
    4304       218292 :           default:;
    4305              :           }
    4306       218292 :         switch (TREE_CODE (_p1))
    4307              :           {
    4308            1 :           case BIT_IOR_EXPR:
    4309            1 :             {
    4310            1 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4311            1 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4312            1 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4313              :                 {
    4314            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4315              :                     {
    4316            0 :                       {
    4317            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4318            0 :                         tree res = generic_simplify_59 (loc, type, _p0, _p1, captures);
    4319            0 :                         if (res) return res;
    4320              :                       }
    4321              :                     }
    4322              :                 }
    4323              :               break;
    4324              :             }
    4325              :           default:;
    4326              :           }
    4327              :         break;
    4328              :       }
    4329         1541 :     case BIT_XOR_EXPR:
    4330         1541 :       {
    4331         1541 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4332         1541 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4333         1541 :         switch (TREE_CODE (_p1))
    4334              :           {
    4335            0 :           case BIT_AND_EXPR:
    4336            0 :             {
    4337            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4338            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4339            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4340              :                 {
    4341            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4342              :                     {
    4343            0 :                       {
    4344            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4345            0 :                         tree res = generic_simplify_20 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    4346            0 :                         if (res) return res;
    4347              :                       }
    4348              :                     }
    4349              :                 }
    4350              :               break;
    4351              :             }
    4352              :           default:;
    4353              :           }
    4354              :         break;
    4355              :       }
    4356      6564414 :     case PLUS_EXPR:
    4357      6564414 :       {
    4358      6564414 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4359      6564414 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4360      6564414 :         switch (TREE_CODE (_q20))
    4361              :           {
    4362          990 :           case RSHIFT_EXPR:
    4363          990 :             {
    4364          990 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4365          990 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4366          990 :               if (integer_onep (_q31))
    4367              :                 {
    4368           36 :                   switch (TREE_CODE (_q21))
    4369              :                     {
    4370           24 :                     case RSHIFT_EXPR:
    4371           24 :                       {
    4372           24 :                         tree _q60 = TREE_OPERAND (_q21, 0);
    4373           24 :                         tree _q61 = TREE_OPERAND (_q21, 1);
    4374           24 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    4375              :                           {
    4376            8 :                             switch (TREE_CODE (_p1))
    4377              :                               {
    4378            8 :                               case BIT_AND_EXPR:
    4379            8 :                                 {
    4380            8 :                                   tree _q90 = TREE_OPERAND (_p1, 0);
    4381            8 :                                   tree _q91 = TREE_OPERAND (_p1, 1);
    4382            8 :                                   switch (TREE_CODE (_q90))
    4383              :                                     {
    4384            2 :                                     case BIT_AND_EXPR:
    4385            2 :                                       {
    4386            2 :                                         tree _q100 = TREE_OPERAND (_q90, 0);
    4387            2 :                                         tree _q101 = TREE_OPERAND (_q90, 1);
    4388            2 :                                         if ((_q100 == _q30 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q30, 0) && types_match (_q100, _q30)))
    4389              :                                           {
    4390            1 :                                             if ((_q101 == _q60 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q60, 0) && types_match (_q101, _q60)))
    4391              :                                               {
    4392            1 :                                                 if (integer_onep (_q91))
    4393              :                                                   {
    4394            1 :                                                     {
    4395            1 :                                                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q60, _q90 };
    4396            1 :                                                       tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
    4397            1 :                                                       if (res) return res;
    4398              :                                                     }
    4399              :                                                   }
    4400              :                                               }
    4401              :                                           }
    4402            1 :                                         if ((_q100 == _q60 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q60, 0) && types_match (_q100, _q60)))
    4403              :                                           {
    4404            1 :                                             if ((_q101 == _q30 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q30, 0) && types_match (_q101, _q30)))
    4405              :                                               {
    4406            0 :                                                 if (integer_onep (_q91))
    4407              :                                                   {
    4408            0 :                                                     {
    4409            0 :                                                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q60, _q90 };
    4410            0 :                                                       tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
    4411            0 :                                                       if (res) return res;
    4412              :                                                     }
    4413              :                                                   }
    4414              :                                               }
    4415              :                                           }
    4416              :                                         break;
    4417              :                                       }
    4418              :                                     default:;
    4419              :                                     }
    4420              :                                   break;
    4421              :                                 }
    4422              :                               default:;
    4423              :                               }
    4424              :                           }
    4425              :                         break;
    4426              :                       }
    4427              :                     default:;
    4428              :                     }
    4429              :                 }
    4430              :               break;
    4431              :             }
    4432              :           default:;
    4433              :           }
    4434              :         break;
    4435              :       }
    4436          537 :     case BIT_IOR_EXPR:
    4437          537 :       {
    4438          537 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4439          537 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4440          537 :         switch (TREE_CODE (_p1))
    4441              :           {
    4442            0 :           case BIT_AND_EXPR:
    4443            0 :             {
    4444            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4445            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4446            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4447              :                 {
    4448            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4449              :                     {
    4450            0 :                       {
    4451            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4452            0 :                         tree res = generic_simplify_59 (loc, type, _p0, _p1, captures);
    4453            0 :                         if (res) return res;
    4454              :                       }
    4455              :                     }
    4456              :                 }
    4457              :               break;
    4458              :             }
    4459          537 :           default:;
    4460              :           }
    4461          537 :         switch (TREE_CODE (_q21))
    4462              :           {
    4463           28 :           case NEGATE_EXPR:
    4464           28 :             {
    4465           28 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4466           28 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    4467              :                 {
    4468            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4469              :                     {
    4470            0 :                       {
    4471            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p0 };
    4472            0 :                         tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    4473            0 :                         if (res) return res;
    4474              :                       }
    4475              :                     }
    4476              :                 }
    4477              :               break;
    4478              :             }
    4479          537 :           default:;
    4480              :           }
    4481          537 :         switch (TREE_CODE (_q20))
    4482              :           {
    4483           11 :           case NEGATE_EXPR:
    4484           11 :             {
    4485           11 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4486           11 :               if ((_q21 == _q30 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q30, 0) && types_match (_q21, _q30)))
    4487              :                 {
    4488            3 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4489              :                     {
    4490            3 :                       {
    4491            3 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    4492            3 :                         tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    4493            3 :                         if (res) return res;
    4494              :                       }
    4495              :                     }
    4496              :                 }
    4497              :               break;
    4498              :             }
    4499              :           default:;
    4500              :           }
    4501              :         break;
    4502              :       }
    4503     71379307 :     default:;
    4504              :     }
    4505     71379307 :   switch (TREE_CODE (_p1))
    4506              :     {
    4507          140 :     case BIT_IOR_EXPR:
    4508          140 :       {
    4509          140 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4510          140 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4511          140 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4512              :           {
    4513            0 :             switch (TREE_CODE (_q31))
    4514              :               {
    4515            0 :               case NEGATE_EXPR:
    4516            0 :                 {
    4517            0 :                   tree _q50 = TREE_OPERAND (_q31, 0);
    4518            0 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    4519              :                     {
    4520            0 :                       {
    4521            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4522            0 :                         tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    4523            0 :                         if (res) return res;
    4524              :                       }
    4525              :                     }
    4526              :                   break;
    4527              :                 }
    4528              :               default:;
    4529              :               }
    4530              :           }
    4531          140 :         switch (TREE_CODE (_q30))
    4532              :           {
    4533            0 :           case NEGATE_EXPR:
    4534            0 :             {
    4535            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4536            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4537              :                 {
    4538            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4539              :                     {
    4540            0 :                       {
    4541            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4542            0 :                         tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    4543            0 :                         if (res) return res;
    4544              :                       }
    4545              :                     }
    4546              :                 }
    4547              :               break;
    4548              :             }
    4549              :           default:;
    4550              :           }
    4551              :         break;
    4552              :       }
    4553         5544 :     case BIT_AND_EXPR:
    4554         5544 :       {
    4555         5544 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4556         5544 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4557         5544 :         switch (TREE_CODE (_q30))
    4558              :           {
    4559            8 :           case NEGATE_EXPR:
    4560            8 :             {
    4561            8 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4562            8 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4563              :                 {
    4564            6 :                   if (uniform_integer_cst_p (_q31))
    4565              :                     {
    4566            0 :                       {
    4567            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    4568            0 :                         tree res = generic_simplify_62 (loc, type, _p0, _p1, captures);
    4569            0 :                         if (res) return res;
    4570              :                       }
    4571              :                     }
    4572              :                 }
    4573              :               break;
    4574              :             }
    4575         5544 :           default:;
    4576              :           }
    4577         5544 :       if (uniform_integer_cst_p (_q30))
    4578              :         {
    4579            0 :           switch (TREE_CODE (_q31))
    4580              :             {
    4581            0 :             case NEGATE_EXPR:
    4582            0 :               {
    4583            0 :                 tree _q50 = TREE_OPERAND (_q31, 0);
    4584            0 :                 if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    4585              :                   {
    4586            0 :                     {
    4587            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    4588            0 :                       tree res = generic_simplify_62 (loc, type, _p0, _p1, captures);
    4589            0 :                       if (res) return res;
    4590              :                     }
    4591              :                   }
    4592              :                 break;
    4593              :               }
    4594              :             default:;
    4595              :             }
    4596              :         }
    4597              :         break;
    4598              :       }
    4599     71379307 :     default:;
    4600              :     }
    4601     71379307 :   switch (TREE_CODE (_p0))
    4602              :     {
    4603       218292 :     case BIT_AND_EXPR:
    4604       218292 :       {
    4605       218292 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4606       218292 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4607       218292 :         switch (TREE_CODE (_q20))
    4608              :           {
    4609          254 :           case NEGATE_EXPR:
    4610          254 :             {
    4611          254 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4612          254 :               if (uniform_integer_cst_p (_q21))
    4613              :                 {
    4614          236 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4615              :                     {
    4616           53 :                       {
    4617           53 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q21 };
    4618           53 :                         tree res = generic_simplify_62 (loc, type, _p0, _p1, captures);
    4619           53 :                         if (res) return res;
    4620              :                       }
    4621              :                     }
    4622              :                 }
    4623              :               break;
    4624              :             }
    4625       218272 :           default:;
    4626              :           }
    4627       218272 :       if (uniform_integer_cst_p (_q20))
    4628              :         {
    4629            0 :           switch (TREE_CODE (_q21))
    4630              :             {
    4631            0 :             case NEGATE_EXPR:
    4632            0 :               {
    4633            0 :                 tree _q40 = TREE_OPERAND (_q21, 0);
    4634            0 :                 if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4635              :                   {
    4636            0 :                     {
    4637            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q40, _p0, _q20 };
    4638            0 :                       tree res = generic_simplify_62 (loc, type, _p0, _p1, captures);
    4639            0 :                       if (res) return res;
    4640              :                     }
    4641              :                   }
    4642              :                 break;
    4643              :               }
    4644              :             default:;
    4645              :             }
    4646              :         }
    4647       218272 :         switch (TREE_CODE (_q21))
    4648              :           {
    4649       217964 :           case INTEGER_CST:
    4650       217964 :             {
    4651       217964 :               switch (TREE_CODE (_p1))
    4652              :                 {
    4653        14733 :                 CASE_CONVERT:
    4654        14733 :                   {
    4655        14733 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4656        14733 :                     switch (TREE_CODE (_q50))
    4657              :                       {
    4658            0 :                       case BIT_AND_EXPR:
    4659            0 :                         {
    4660            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    4661            0 :                           tree _q61 = TREE_OPERAND (_q50, 1);
    4662            0 :                           switch (TREE_CODE (_q61))
    4663              :                             {
    4664            0 :                             case INTEGER_CST:
    4665            0 :                               {
    4666            0 :                                 {
    4667            0 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q60, _q61 };
    4668            0 :                                   tree res = generic_simplify_21 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    4669            0 :                                   if (res) return res;
    4670              :                                 }
    4671            0 :                                 break;
    4672              :                               }
    4673              :                             default:;
    4674              :                             }
    4675              :                           break;
    4676              :                         }
    4677              :                       default:;
    4678              :                       }
    4679              :                     break;
    4680              :                   }
    4681          300 :                 case BIT_AND_EXPR:
    4682          300 :                   {
    4683          300 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4684          300 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4685          300 :                     switch (TREE_CODE (_q51))
    4686              :                       {
    4687          300 :                       case INTEGER_CST:
    4688          300 :                         {
    4689          300 :                           {
    4690          300 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
    4691          300 :                             tree res = generic_simplify_21 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    4692          300 :                             if (res) return res;
    4693              :                           }
    4694          200 :                           break;
    4695              :                         }
    4696              :                       default:;
    4697              :                       }
    4698              :                     break;
    4699              :                   }
    4700              :                 default:;
    4701              :                 }
    4702              :               break;
    4703              :             }
    4704              :           default:;
    4705              :           }
    4706              :         break;
    4707              :       }
    4708          535 :     case BIT_IOR_EXPR:
    4709          535 :       {
    4710          535 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4711          535 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4712          535 :         switch (TREE_CODE (_q20))
    4713              :           {
    4714           65 :           case PLUS_EXPR:
    4715           65 :             {
    4716           65 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4717           65 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4718           65 :               if (integer_minus_onep (_q31))
    4719              :                 {
    4720           63 :                   if (uniform_integer_cst_p (_q21))
    4721              :                     {
    4722           52 :                       if (integer_onep (_p1))
    4723              :                         {
    4724           52 :                           {
    4725           52 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    4726           52 :                             {
    4727           52 :  tree cst = uniform_integer_cst_p (captures[2]);
    4728           52 :  tree etype = TREE_TYPE (cst);
    4729           52 :  wide_int c = wi::to_wide (cst);
    4730           52 :                                 if (TYPE_OVERFLOW_WRAPS (type)
    4731           45 :  && c != 0
    4732           97 :  && wi::popcount (c + 1) == 1
    4733              : )
    4734              :                                   {
    4735           44 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1297;
    4736           44 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1297;
    4737           44 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1297;
    4738           44 :                                     {
    4739           44 :                                       tree res_op0;
    4740           44 :                                       {
    4741           44 :                                         tree _o1[2], _r1;
    4742           44 :                                         _o1[0] = captures[1];
    4743           44 :                                         _o1[1] = captures[2];
    4744           44 :                                         _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4745           44 :                                         res_op0 = _r1;
    4746              :                                       }
    4747           44 :                                       tree res_op1;
    4748           44 :                                       res_op1 =  build_uniform_cst
    4749           44 :  (type, wide_int_to_tree (etype, wi::bit_not (c)));
    4750           44 :                                       tree _r;
    4751           44 :                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    4752           44 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 944, __FILE__, __LINE__, true);
    4753           44 :                                       return _r;
    4754              :                                     }
    4755            8 : next_after_fail1297:;
    4756              :                                   }
    4757           52 :                             }
    4758              :                           }
    4759              :                         }
    4760              :                     }
    4761              :                 }
    4762              :               break;
    4763              :             }
    4764              :           default:;
    4765              :           }
    4766              :         break;
    4767              :       }
    4768      2079023 :     case MINUS_EXPR:
    4769      2079023 :       {
    4770      2079023 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4771      2079023 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4772      2079023 :         switch (TREE_CODE (_q20))
    4773              :           {
    4774            2 :           case BIT_AND_EXPR:
    4775            2 :             {
    4776            2 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4777            2 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4778            2 :               switch (TREE_CODE (_q21))
    4779              :                 {
    4780            1 :                 case BIT_IOR_EXPR:
    4781            1 :                   {
    4782            1 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    4783            1 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    4784            1 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    4785              :                       {
    4786            1 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    4787              :                           {
    4788            1 :                             if (integer_all_onesp (_p1))
    4789              :                               {
    4790            1 :                                 {
    4791            1 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    4792            1 :                                   tree res = generic_simplify_63 (loc, type, _p0, _p1, captures);
    4793            1 :                                   if (res) return res;
    4794              :                                 }
    4795              :                               }
    4796              :                           }
    4797              :                       }
    4798            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    4799              :                       {
    4800            0 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    4801              :                           {
    4802            0 :                             if (integer_all_onesp (_p1))
    4803              :                               {
    4804            0 :                                 {
    4805            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
    4806            0 :                                   tree res = generic_simplify_63 (loc, type, _p0, _p1, captures);
    4807            0 :                                   if (res) return res;
    4808              :                                 }
    4809              :                               }
    4810              :                           }
    4811              :                       }
    4812              :                     break;
    4813              :                   }
    4814              :                 default:;
    4815              :                 }
    4816              :               break;
    4817              :             }
    4818      2079022 :           default:;
    4819              :           }
    4820      2079022 :       {
    4821      2079022 :         tree _q20_pops[1];
    4822      2079022 :         if (tree_nop_convert (_q20, _q20_pops))
    4823              :           {
    4824       923428 :             tree _q30 = _q20_pops[0];
    4825       923428 :             switch (TREE_CODE (_q30))
    4826              :               {
    4827            0 :               case BIT_AND_EXPR:
    4828            0 :                 {
    4829            0 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    4830            0 :                   tree _q41 = TREE_OPERAND (_q30, 1);
    4831            0 :                   {
    4832            0 :                     tree _q21_pops[1];
    4833            0 :                     if (tree_nop_convert (_q21, _q21_pops))
    4834              :                       {
    4835            0 :                         tree _q70 = _q21_pops[0];
    4836            0 :                         switch (TREE_CODE (_q70))
    4837              :                           {
    4838            0 :                           case BIT_IOR_EXPR:
    4839            0 :                             {
    4840            0 :                               tree _q80 = TREE_OPERAND (_q70, 0);
    4841            0 :                               tree _q81 = TREE_OPERAND (_q70, 1);
    4842            0 :                               if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    4843              :                                 {
    4844            0 :                                   if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
    4845              :                                     {
    4846            0 :                                       if (integer_all_onesp (_p1))
    4847              :                                         {
    4848            0 :                                           {
    4849            0 :                                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    4850            0 :                                             tree res = generic_simplify_63 (loc, type, _p0, _p1, captures);
    4851            0 :                                             if (res) return res;
    4852              :                                           }
    4853              :                                         }
    4854              :                                     }
    4855              :                                 }
    4856            0 :                               if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
    4857              :                                 {
    4858            0 :                                   if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
    4859              :                                     {
    4860            0 :                                       if (integer_all_onesp (_p1))
    4861              :                                         {
    4862            0 :                                           {
    4863            0 :                                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
    4864            0 :                                             tree res = generic_simplify_63 (loc, type, _p0, _p1, captures);
    4865            0 :                                             if (res) return res;
    4866              :                                           }
    4867              :                                         }
    4868              :                                     }
    4869              :                                 }
    4870              :                               break;
    4871              :                             }
    4872              :                           default:;
    4873              :                           }
    4874              :                       }
    4875              :                   }
    4876            0 :                   break;
    4877              :                 }
    4878              :               default:;
    4879              :               }
    4880              :           }
    4881              :       }
    4882      2079022 :         {
    4883      2079022 :           tree _q21_pops[1];
    4884      2079022 :           if (tree_nop_convert (_q21, _q21_pops))
    4885              :             {
    4886      1161628 :               tree _q40 = _q21_pops[0];
    4887      1161628 :               if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4888              :                 {
    4889           34 :                   {
    4890           34 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    4891           34 :                     tree res = generic_simplify_64 (loc, type, _p0, _p1, captures);
    4892           34 :                     if (res) return res;
    4893              :                   }
    4894              :                 }
    4895              :             }
    4896              :         }
    4897      2078992 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4898              :           {
    4899        45845 :             {
    4900        45845 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4901        45845 :               tree res = generic_simplify_64 (loc, type, _p0, _p1, captures);
    4902        45845 :               if (res) return res;
    4903              :             }
    4904              :           }
    4905              :         break;
    4906              :       }
    4907     19274753 :     CASE_CONVERT:
    4908     19274753 :       {
    4909     19274753 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4910     19274753 :         switch (TREE_CODE (_q20))
    4911              :           {
    4912           72 :           case BIT_AND_EXPR:
    4913           72 :             {
    4914           72 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4915           72 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4916           72 :               switch (TREE_CODE (_q31))
    4917              :                 {
    4918            8 :                 case INTEGER_CST:
    4919            8 :                   {
    4920            8 :                     switch (TREE_CODE (_p1))
    4921              :                       {
    4922            0 :                       CASE_CONVERT:
    4923            0 :                         {
    4924            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4925            0 :                           switch (TREE_CODE (_q60))
    4926              :                             {
    4927            0 :                             case BIT_AND_EXPR:
    4928            0 :                               {
    4929            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    4930            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    4931            0 :                                 switch (TREE_CODE (_q71))
    4932              :                                   {
    4933            0 :                                   case INTEGER_CST:
    4934            0 :                                     {
    4935            0 :                                       {
    4936            0 :                                         tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q60, _q70, _q71 };
    4937            0 :                                         tree res = generic_simplify_21 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    4938            0 :                                         if (res) return res;
    4939              :                                       }
    4940            0 :                                       break;
    4941              :                                     }
    4942              :                                   default:;
    4943              :                                   }
    4944              :                                 break;
    4945              :                               }
    4946              :                             default:;
    4947              :                             }
    4948              :                           break;
    4949              :                         }
    4950            0 :                       case BIT_AND_EXPR:
    4951            0 :                         {
    4952            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4953            0 :                           tree _q61 = TREE_OPERAND (_p1, 1);
    4954            0 :                           switch (TREE_CODE (_q61))
    4955              :                             {
    4956            0 :                             case INTEGER_CST:
    4957            0 :                               {
    4958            0 :                                 {
    4959            0 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1, _q60, _q61 };
    4960            0 :                                   tree res = generic_simplify_21 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    4961            0 :                                   if (res) return res;
    4962              :                                 }
    4963            0 :                                 break;
    4964              :                               }
    4965              :                             default:;
    4966              :                             }
    4967              :                           break;
    4968              :                         }
    4969              :                       default:;
    4970              :                       }
    4971              :                     break;
    4972              :                   }
    4973              :                 default:;
    4974              :                 }
    4975              :               break;
    4976              :             }
    4977         4523 :           case NEGATE_EXPR:
    4978         4523 :             {
    4979         4523 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4980         4523 :               {
    4981         4523 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q30 };
    4982         4523 :                 tree res = generic_simplify_65 (loc, type, _p0, _p1, captures);
    4983         4523 :                 if (res) return res;
    4984              :               }
    4985         1824 :               break;
    4986              :             }
    4987              :           default:;
    4988              :           }
    4989              :         break;
    4990              :       }
    4991       134571 :     case COND_EXPR:
    4992       134571 :       {
    4993       134571 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4994       134571 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4995       134571 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4996       134571 :         if (integer_zerop (_q22))
    4997              :           {
    4998       123522 :             switch (TREE_CODE (_p1))
    4999              :               {
    5000           44 :               case COND_EXPR:
    5001           44 :                 {
    5002           44 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    5003           44 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    5004           44 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    5005           44 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5006              :                     {
    5007            6 :                       if (integer_zerop (_q61))
    5008              :                         {
    5009            0 :                           {
    5010            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
    5011            0 :                             const enum tree_code op = PLUS_EXPR;
    5012            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1298;
    5013            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1298;
    5014            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1298;
    5015            0 :                             {
    5016            0 :                               tree res_op0;
    5017            0 :                               res_op0 = captures[1];
    5018            0 :                               tree res_op1;
    5019            0 :                               res_op1 = captures[2];
    5020            0 :                               tree res_op2;
    5021            0 :                               res_op2 = captures[4];
    5022            0 :                               tree _r;
    5023            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    5024            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 934, __FILE__, __LINE__, true);
    5025              :                               return _r;
    5026              :                             }
    5027       134571 : next_after_fail1298:;
    5028              :                           }
    5029              :                         }
    5030              :                     }
    5031              :                   break;
    5032              :                 }
    5033              :               default:;
    5034              :               }
    5035              :           }
    5036       134571 :         if (integer_zerop (_q21))
    5037              :           {
    5038         1050 :             switch (TREE_CODE (_p1))
    5039              :               {
    5040            0 :               case COND_EXPR:
    5041            0 :                 {
    5042            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    5043            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    5044            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    5045            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5046              :                     {
    5047            0 :                       if (integer_zerop (_q62))
    5048              :                         {
    5049            0 :                           {
    5050            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
    5051            0 :                             const enum tree_code op = PLUS_EXPR;
    5052            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1299;
    5053            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1299;
    5054            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1299;
    5055            0 :                             {
    5056            0 :                               tree res_op0;
    5057            0 :                               res_op0 = captures[1];
    5058            0 :                               tree res_op1;
    5059            0 :                               res_op1 = captures[2];
    5060            0 :                               tree res_op2;
    5061            0 :                               res_op2 = captures[4];
    5062            0 :                               tree _r;
    5063            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    5064            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 934, __FILE__, __LINE__, true);
    5065              :                               return _r;
    5066              :                             }
    5067       134571 : next_after_fail1299:;
    5068              :                           }
    5069              :                         }
    5070              :                     }
    5071              :                   break;
    5072              :                 }
    5073              :               default:;
    5074              :               }
    5075              :           }
    5076       134571 :         switch (TREE_CODE (_q20))
    5077              :           {
    5078        29880 :           case LT_EXPR:
    5079        29880 :             {
    5080        29880 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5081        29880 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5082        29880 :               if (zerop (_q22))
    5083              :                 {
    5084        29814 :                   switch (TREE_CODE (_p1))
    5085              :                     {
    5086            0 :                     case COND_EXPR:
    5087            0 :                       {
    5088            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5089            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5090            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5091            0 :                         switch (TREE_CODE (_q80))
    5092              :                           {
    5093            0 :                           case GE_EXPR:
    5094            0 :                             {
    5095            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5096            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5097            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5098              :                                 {
    5099            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5100              :                                     {
    5101            0 :                                       if (zerop (_q82))
    5102              :                                         {
    5103            0 :                                           {
    5104            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    5105            0 :                                             tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, PLUS_EXPR, LT_EXPR, GE_EXPR);
    5106            0 :                                             if (res) return res;
    5107              :                                           }
    5108              :                                         }
    5109              :                                     }
    5110              :                                 }
    5111              :                               break;
    5112              :                             }
    5113              :                           default:;
    5114              :                           }
    5115              :                         break;
    5116              :                       }
    5117              :                     default:;
    5118              :                     }
    5119              :                 }
    5120              :               break;
    5121              :             }
    5122        33989 :           case LE_EXPR:
    5123        33989 :             {
    5124        33989 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5125        33989 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5126        33989 :               if (zerop (_q22))
    5127              :                 {
    5128        33849 :                   switch (TREE_CODE (_p1))
    5129              :                     {
    5130            5 :                     case COND_EXPR:
    5131            5 :                       {
    5132            5 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5133            5 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5134            5 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5135            5 :                         switch (TREE_CODE (_q80))
    5136              :                           {
    5137            0 :                           case GT_EXPR:
    5138            0 :                             {
    5139            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5140            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5141            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5142              :                                 {
    5143            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5144              :                                     {
    5145            0 :                                       if (zerop (_q82))
    5146              :                                         {
    5147            0 :                                           {
    5148            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    5149            0 :                                             tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, PLUS_EXPR, LE_EXPR, GT_EXPR);
    5150            0 :                                             if (res) return res;
    5151              :                                           }
    5152              :                                         }
    5153              :                                     }
    5154              :                                 }
    5155              :                               break;
    5156              :                             }
    5157              :                           default:;
    5158              :                           }
    5159              :                         break;
    5160              :                       }
    5161              :                     default:;
    5162              :                     }
    5163              :                 }
    5164              :               break;
    5165              :             }
    5166         1051 :           case EQ_EXPR:
    5167         1051 :             {
    5168         1051 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5169         1051 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5170         1051 :               if (zerop (_q22))
    5171              :                 {
    5172          570 :                   switch (TREE_CODE (_p1))
    5173              :                     {
    5174           32 :                     case COND_EXPR:
    5175           32 :                       {
    5176           32 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5177           32 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5178           32 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5179           32 :                         switch (TREE_CODE (_q80))
    5180              :                           {
    5181            0 :                           case NE_EXPR:
    5182            0 :                             {
    5183            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5184            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5185            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5186              :                                 {
    5187            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5188              :                                     {
    5189            0 :                                       if (zerop (_q82))
    5190              :                                         {
    5191            0 :                                           {
    5192            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    5193            0 :                                             tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, PLUS_EXPR, EQ_EXPR, NE_EXPR);
    5194            0 :                                             if (res) return res;
    5195              :                                           }
    5196              :                                         }
    5197              :                                     }
    5198              :                                 }
    5199              :                               break;
    5200              :                             }
    5201              :                           default:;
    5202              :                           }
    5203              :                         break;
    5204              :                       }
    5205              :                     default:;
    5206              :                     }
    5207              :                 }
    5208              :               break;
    5209              :             }
    5210         8071 :           case NE_EXPR:
    5211         8071 :             {
    5212         8071 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5213         8071 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5214         8071 :               if (zerop (_q22))
    5215              :                 {
    5216         5466 :                   switch (TREE_CODE (_p1))
    5217              :                     {
    5218            7 :                     case COND_EXPR:
    5219            7 :                       {
    5220            7 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5221            7 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5222            7 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5223            7 :                         switch (TREE_CODE (_q80))
    5224              :                           {
    5225            0 :                           case EQ_EXPR:
    5226            0 :                             {
    5227            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5228            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5229            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5230              :                                 {
    5231            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5232              :                                     {
    5233            0 :                                       if (zerop (_q82))
    5234              :                                         {
    5235            0 :                                           {
    5236            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    5237            0 :                                             tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, PLUS_EXPR, NE_EXPR, EQ_EXPR);
    5238            0 :                                             if (res) return res;
    5239              :                                           }
    5240              :                                         }
    5241              :                                     }
    5242              :                                 }
    5243              :                               break;
    5244              :                             }
    5245              :                           default:;
    5246              :                           }
    5247              :                         break;
    5248              :                       }
    5249              :                     default:;
    5250              :                     }
    5251              :                 }
    5252              :               break;
    5253              :             }
    5254        20051 :           case GE_EXPR:
    5255        20051 :             {
    5256        20051 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5257        20051 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5258        20051 :               if (zerop (_q22))
    5259              :                 {
    5260        18703 :                   switch (TREE_CODE (_p1))
    5261              :                     {
    5262            0 :                     case COND_EXPR:
    5263            0 :                       {
    5264            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5265            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5266            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5267            0 :                         switch (TREE_CODE (_q80))
    5268              :                           {
    5269            0 :                           case LT_EXPR:
    5270            0 :                             {
    5271            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5272            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5273            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5274              :                                 {
    5275            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5276              :                                     {
    5277            0 :                                       if (zerop (_q82))
    5278              :                                         {
    5279            0 :                                           {
    5280            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    5281            0 :                                             tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, PLUS_EXPR, GE_EXPR, LT_EXPR);
    5282            0 :                                             if (res) return res;
    5283              :                                           }
    5284              :                                         }
    5285              :                                     }
    5286              :                                 }
    5287              :                               break;
    5288              :                             }
    5289              :                           default:;
    5290              :                           }
    5291              :                         break;
    5292              :                       }
    5293              :                     default:;
    5294              :                     }
    5295              :                 }
    5296              :               break;
    5297              :             }
    5298        34659 :           case GT_EXPR:
    5299        34659 :             {
    5300        34659 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5301        34659 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5302        34659 :               if (zerop (_q22))
    5303              :                 {
    5304        32342 :                   switch (TREE_CODE (_p1))
    5305              :                     {
    5306            0 :                     case COND_EXPR:
    5307            0 :                       {
    5308            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5309            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5310            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5311            0 :                         switch (TREE_CODE (_q80))
    5312              :                           {
    5313            0 :                           case LE_EXPR:
    5314            0 :                             {
    5315            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5316            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5317            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5318              :                                 {
    5319            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5320              :                                     {
    5321            0 :                                       if (zerop (_q82))
    5322              :                                         {
    5323            0 :                                           {
    5324            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    5325            0 :                                             tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, PLUS_EXPR, GT_EXPR, LE_EXPR);
    5326            0 :                                             if (res) return res;
    5327              :                                           }
    5328              :                                         }
    5329              :                                     }
    5330              :                                 }
    5331              :                               break;
    5332              :                             }
    5333              :                           default:;
    5334              :                           }
    5335              :                         break;
    5336              :                       }
    5337              :                     default:;
    5338              :                     }
    5339              :                 }
    5340              :               break;
    5341              :             }
    5342            0 :           case UNORDERED_EXPR:
    5343            0 :             {
    5344            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5345            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5346            0 :               if (zerop (_q22))
    5347              :                 {
    5348            0 :                   switch (TREE_CODE (_p1))
    5349              :                     {
    5350            0 :                     case COND_EXPR:
    5351            0 :                       {
    5352            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5353            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5354            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5355            0 :                         switch (TREE_CODE (_q80))
    5356              :                           {
    5357            0 :                           case ORDERED_EXPR:
    5358            0 :                             {
    5359            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5360            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5361            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5362              :                                 {
    5363            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5364              :                                     {
    5365            0 :                                       if (zerop (_q82))
    5366              :                                         {
    5367            0 :                                           {
    5368            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    5369            0 :                                             tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNORDERED_EXPR, ORDERED_EXPR);
    5370            0 :                                             if (res) return res;
    5371              :                                           }
    5372              :                                         }
    5373              :                                     }
    5374              :                                 }
    5375              :                               break;
    5376              :                             }
    5377              :                           default:;
    5378              :                           }
    5379              :                         break;
    5380              :                       }
    5381              :                     default:;
    5382              :                     }
    5383              :                 }
    5384              :               break;
    5385              :             }
    5386            0 :           case ORDERED_EXPR:
    5387            0 :             {
    5388            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5389            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5390            0 :               if (zerop (_q22))
    5391              :                 {
    5392            0 :                   switch (TREE_CODE (_p1))
    5393              :                     {
    5394            0 :                     case COND_EXPR:
    5395            0 :                       {
    5396            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5397            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5398            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5399            0 :                         switch (TREE_CODE (_q80))
    5400              :                           {
    5401            0 :                           case UNORDERED_EXPR:
    5402            0 :                             {
    5403            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5404            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5405            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5406              :                                 {
    5407            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5408              :                                     {
    5409            0 :                                       if (zerop (_q82))
    5410              :                                         {
    5411            0 :                                           {
    5412            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    5413            0 :                                             tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, PLUS_EXPR, ORDERED_EXPR, UNORDERED_EXPR);
    5414            0 :                                             if (res) return res;
    5415              :                                           }
    5416              :                                         }
    5417              :                                     }
    5418              :                                 }
    5419              :                               break;
    5420              :                             }
    5421              :                           default:;
    5422              :                           }
    5423              :                         break;
    5424              :                       }
    5425              :                     default:;
    5426              :                     }
    5427              :                 }
    5428              :               break;
    5429              :             }
    5430            0 :           case UNLT_EXPR:
    5431            0 :             {
    5432            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5433            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5434            0 :               if (zerop (_q22))
    5435              :                 {
    5436            0 :                   switch (TREE_CODE (_p1))
    5437              :                     {
    5438            0 :                     case COND_EXPR:
    5439            0 :                       {
    5440            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5441            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5442            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5443            0 :                         switch (TREE_CODE (_q80))
    5444              :                           {
    5445            0 :                           case GE_EXPR:
    5446            0 :                             {
    5447            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5448            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5449            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5450              :                                 {
    5451            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5452              :                                     {
    5453            0 :                                       if (zerop (_q82))
    5454              :                                         {
    5455            0 :                                           {
    5456            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    5457            0 :                                             tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNLT_EXPR, GE_EXPR);
    5458            0 :                                             if (res) return res;
    5459              :                                           }
    5460              :                                         }
    5461              :                                     }
    5462              :                                 }
    5463              :                               break;
    5464              :                             }
    5465              :                           default:;
    5466              :                           }
    5467              :                         break;
    5468              :                       }
    5469              :                     default:;
    5470              :                     }
    5471              :                 }
    5472              :               break;
    5473              :             }
    5474            0 :           case UNLE_EXPR:
    5475            0 :             {
    5476            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5477            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5478            0 :               if (zerop (_q22))
    5479              :                 {
    5480            0 :                   switch (TREE_CODE (_p1))
    5481              :                     {
    5482            0 :                     case COND_EXPR:
    5483            0 :                       {
    5484            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5485            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5486            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5487            0 :                         switch (TREE_CODE (_q80))
    5488              :                           {
    5489            0 :                           case GT_EXPR:
    5490            0 :                             {
    5491            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5492            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5493            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5494              :                                 {
    5495            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5496              :                                     {
    5497            0 :                                       if (zerop (_q82))
    5498              :                                         {
    5499            0 :                                           {
    5500            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    5501            0 :                                             tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNLE_EXPR, GT_EXPR);
    5502            0 :                                             if (res) return res;
    5503              :                                           }
    5504              :                                         }
    5505              :                                     }
    5506              :                                 }
    5507              :                               break;
    5508              :                             }
    5509              :                           default:;
    5510              :                           }
    5511              :                         break;
    5512              :                       }
    5513              :                     default:;
    5514              :                     }
    5515              :                 }
    5516              :               break;
    5517              :             }
    5518            0 :           case UNGT_EXPR:
    5519            0 :             {
    5520            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5521            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5522            0 :               if (zerop (_q22))
    5523              :                 {
    5524            0 :                   switch (TREE_CODE (_p1))
    5525              :                     {
    5526            0 :                     case COND_EXPR:
    5527            0 :                       {
    5528            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5529            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5530            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5531            0 :                         switch (TREE_CODE (_q80))
    5532              :                           {
    5533            0 :                           case LE_EXPR:
    5534            0 :                             {
    5535            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5536            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5537            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5538              :                                 {
    5539            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5540              :                                     {
    5541            0 :                                       if (zerop (_q82))
    5542              :                                         {
    5543            0 :                                           {
    5544            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    5545            0 :                                             tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNGT_EXPR, LE_EXPR);
    5546            0 :                                             if (res) return res;
    5547              :                                           }
    5548              :                                         }
    5549              :                                     }
    5550              :                                 }
    5551              :                               break;
    5552              :                             }
    5553              :                           default:;
    5554              :                           }
    5555              :                         break;
    5556              :                       }
    5557              :                     default:;
    5558              :                     }
    5559              :                 }
    5560              :               break;
    5561              :             }
    5562            0 :           case UNGE_EXPR:
    5563            0 :             {
    5564            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5565            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5566            0 :               if (zerop (_q22))
    5567              :                 {
    5568            0 :                   switch (TREE_CODE (_p1))
    5569              :                     {
    5570            0 :                     case COND_EXPR:
    5571            0 :                       {
    5572            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5573            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5574            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5575            0 :                         switch (TREE_CODE (_q80))
    5576              :                           {
    5577            0 :                           case LT_EXPR:
    5578            0 :                             {
    5579            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5580            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5581            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5582              :                                 {
    5583            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5584              :                                     {
    5585            0 :                                       if (zerop (_q82))
    5586              :                                         {
    5587            0 :                                           {
    5588            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    5589            0 :                                             tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNGE_EXPR, LT_EXPR);
    5590            0 :                                             if (res) return res;
    5591              :                                           }
    5592              :                                         }
    5593              :                                     }
    5594              :                                 }
    5595              :                               break;
    5596              :                             }
    5597              :                           default:;
    5598              :                           }
    5599              :                         break;
    5600              :                       }
    5601              :                     default:;
    5602              :                     }
    5603              :                 }
    5604              :               break;
    5605              :             }
    5606            0 :           case UNEQ_EXPR:
    5607            0 :             {
    5608            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5609            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5610            0 :               if (zerop (_q22))
    5611              :                 {
    5612            0 :                   switch (TREE_CODE (_p1))
    5613              :                     {
    5614            0 :                     case COND_EXPR:
    5615            0 :                       {
    5616            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5617            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5618            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5619            0 :                         switch (TREE_CODE (_q80))
    5620              :                           {
    5621            0 :                           case LTGT_EXPR:
    5622            0 :                             {
    5623            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5624            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5625            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5626              :                                 {
    5627            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5628              :                                     {
    5629            0 :                                       if (zerop (_q82))
    5630              :                                         {
    5631            0 :                                           {
    5632            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    5633            0 :                                             tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNEQ_EXPR, LTGT_EXPR);
    5634            0 :                                             if (res) return res;
    5635              :                                           }
    5636              :                                         }
    5637              :                                     }
    5638              :                                 }
    5639              :                               break;
    5640              :                             }
    5641              :                           default:;
    5642              :                           }
    5643              :                         break;
    5644              :                       }
    5645              :                     default:;
    5646              :                     }
    5647              :                 }
    5648              :               break;
    5649              :             }
    5650            0 :           case LTGT_EXPR:
    5651            0 :             {
    5652            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5653            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5654            0 :               if (zerop (_q22))
    5655              :                 {
    5656            0 :                   switch (TREE_CODE (_p1))
    5657              :                     {
    5658            0 :                     case COND_EXPR:
    5659            0 :                       {
    5660            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5661            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5662            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5663            0 :                         switch (TREE_CODE (_q80))
    5664              :                           {
    5665            0 :                           case UNEQ_EXPR:
    5666            0 :                             {
    5667            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5668            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5669            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5670              :                                 {
    5671            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5672              :                                     {
    5673            0 :                                       if (zerop (_q82))
    5674              :                                         {
    5675            0 :                                           {
    5676            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    5677            0 :                                             tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, PLUS_EXPR, LTGT_EXPR, UNEQ_EXPR);
    5678            0 :                                             if (res) return res;
    5679              :                                           }
    5680              :                                         }
    5681              :                                     }
    5682              :                                 }
    5683              :                               break;
    5684              :                             }
    5685              :                           default:;
    5686              :                           }
    5687              :                         break;
    5688              :                       }
    5689              :                     default:;
    5690              :                     }
    5691              :                 }
    5692              :               break;
    5693              :             }
    5694              :           default:;
    5695              :           }
    5696              :         break;
    5697              :       }
    5698          168 :     case VEC_COND_EXPR:
    5699          168 :       {
    5700          168 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5701          168 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5702          168 :         tree _q22 = TREE_OPERAND (_p0, 2);
    5703          168 :         if (integer_zerop (_q22))
    5704              :           {
    5705          106 :             switch (TREE_CODE (_p1))
    5706              :               {
    5707           24 :               case VEC_COND_EXPR:
    5708           24 :                 {
    5709           24 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    5710           24 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    5711           24 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    5712           24 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5713              :                     {
    5714            0 :                       if (integer_zerop (_q61))
    5715              :                         {
    5716            0 :                           {
    5717            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
    5718            0 :                             const enum tree_code op = PLUS_EXPR;
    5719            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1300;
    5720            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1300;
    5721            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1300;
    5722            0 :                             {
    5723            0 :                               tree res_op0;
    5724            0 :                               res_op0 = captures[1];
    5725            0 :                               tree res_op1;
    5726            0 :                               res_op1 = captures[2];
    5727            0 :                               tree res_op2;
    5728            0 :                               res_op2 = captures[4];
    5729            0 :                               tree _r;
    5730            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5731            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 934, __FILE__, __LINE__, true);
    5732              :                               return _r;
    5733              :                             }
    5734          168 : next_after_fail1300:;
    5735              :                           }
    5736              :                         }
    5737              :                     }
    5738              :                   break;
    5739              :                 }
    5740              :               default:;
    5741              :               }
    5742              :           }
    5743          168 :         if (integer_zerop (_q21))
    5744              :           {
    5745            0 :             switch (TREE_CODE (_p1))
    5746              :               {
    5747            0 :               case VEC_COND_EXPR:
    5748            0 :                 {
    5749            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    5750            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    5751            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    5752            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5753              :                     {
    5754            0 :                       if (integer_zerop (_q62))
    5755              :                         {
    5756            0 :                           {
    5757            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
    5758            0 :                             const enum tree_code op = PLUS_EXPR;
    5759            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1301;
    5760            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1301;
    5761            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1301;
    5762            0 :                             {
    5763            0 :                               tree res_op0;
    5764            0 :                               res_op0 = captures[1];
    5765            0 :                               tree res_op1;
    5766            0 :                               res_op1 = captures[2];
    5767            0 :                               tree res_op2;
    5768            0 :                               res_op2 = captures[4];
    5769            0 :                               tree _r;
    5770            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5771            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 934, __FILE__, __LINE__, true);
    5772              :                               return _r;
    5773              :                             }
    5774          168 : next_after_fail1301:;
    5775              :                           }
    5776              :                         }
    5777              :                     }
    5778              :                   break;
    5779              :                 }
    5780              :               default:;
    5781              :               }
    5782              :           }
    5783          168 :         switch (TREE_CODE (_q20))
    5784              :           {
    5785            8 :           case LT_EXPR:
    5786            8 :             {
    5787            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5788            8 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5789            8 :               if (integer_zerop (_q22))
    5790              :                 {
    5791            8 :                   switch (TREE_CODE (_p1))
    5792              :                     {
    5793            0 :                     case VEC_COND_EXPR:
    5794            0 :                       {
    5795            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5796            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5797            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5798            0 :                         switch (TREE_CODE (_q80))
    5799              :                           {
    5800            0 :                           case GE_EXPR:
    5801            0 :                             {
    5802            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5803            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5804            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5805              :                                 {
    5806            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5807              :                                     {
    5808            0 :                                       if (integer_zerop (_q82))
    5809              :                                         {
    5810            0 :                                           {
    5811            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5812            0 :                                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, PLUS_EXPR, LT_EXPR, GE_EXPR);
    5813            0 :                                             if (res) return res;
    5814              :                                           }
    5815              :                                         }
    5816              :                                     }
    5817              :                                 }
    5818              :                               break;
    5819              :                             }
    5820              :                           default:;
    5821              :                           }
    5822              :                         break;
    5823              :                       }
    5824              :                     default:;
    5825              :                     }
    5826              :                 }
    5827              :               break;
    5828              :             }
    5829            8 :           case LE_EXPR:
    5830            8 :             {
    5831            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5832            8 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5833            8 :               if (integer_zerop (_q22))
    5834              :                 {
    5835            8 :                   switch (TREE_CODE (_p1))
    5836              :                     {
    5837            0 :                     case VEC_COND_EXPR:
    5838            0 :                       {
    5839            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5840            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5841            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5842            0 :                         switch (TREE_CODE (_q80))
    5843              :                           {
    5844            0 :                           case GT_EXPR:
    5845            0 :                             {
    5846            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5847            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5848            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5849              :                                 {
    5850            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5851              :                                     {
    5852            0 :                                       if (integer_zerop (_q82))
    5853              :                                         {
    5854            0 :                                           {
    5855            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5856            0 :                                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, PLUS_EXPR, LE_EXPR, GT_EXPR);
    5857            0 :                                             if (res) return res;
    5858              :                                           }
    5859              :                                         }
    5860              :                                     }
    5861              :                                 }
    5862              :                               break;
    5863              :                             }
    5864              :                           default:;
    5865              :                           }
    5866              :                         break;
    5867              :                       }
    5868              :                     default:;
    5869              :                     }
    5870              :                 }
    5871              :               break;
    5872              :             }
    5873           34 :           case EQ_EXPR:
    5874           34 :             {
    5875           34 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5876           34 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5877           34 :               if (integer_zerop (_q22))
    5878              :                 {
    5879           34 :                   switch (TREE_CODE (_p1))
    5880              :                     {
    5881           24 :                     case VEC_COND_EXPR:
    5882           24 :                       {
    5883           24 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5884           24 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5885           24 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5886           24 :                         switch (TREE_CODE (_q80))
    5887              :                           {
    5888           24 :                           case NE_EXPR:
    5889           24 :                             {
    5890           24 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5891           24 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5892           24 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5893              :                                 {
    5894           24 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5895              :                                     {
    5896           24 :                                       if (integer_zerop (_q82))
    5897              :                                         {
    5898           24 :                                           {
    5899           24 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5900           24 :                                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, PLUS_EXPR, EQ_EXPR, NE_EXPR);
    5901           24 :                                             if (res) return res;
    5902              :                                           }
    5903              :                                         }
    5904              :                                     }
    5905              :                                 }
    5906              :                               break;
    5907              :                             }
    5908              :                           default:;
    5909              :                           }
    5910              :                         break;
    5911              :                       }
    5912              :                     default:;
    5913              :                     }
    5914              :                 }
    5915              :               break;
    5916              :             }
    5917           22 :           case NE_EXPR:
    5918           22 :             {
    5919           22 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5920           22 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5921           22 :               if (integer_zerop (_q22))
    5922              :                 {
    5923            8 :                   switch (TREE_CODE (_p1))
    5924              :                     {
    5925            0 :                     case VEC_COND_EXPR:
    5926            0 :                       {
    5927            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5928            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5929            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5930            0 :                         switch (TREE_CODE (_q80))
    5931              :                           {
    5932            0 :                           case EQ_EXPR:
    5933            0 :                             {
    5934            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5935            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5936            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5937              :                                 {
    5938            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5939              :                                     {
    5940            0 :                                       if (integer_zerop (_q82))
    5941              :                                         {
    5942            0 :                                           {
    5943            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5944            0 :                                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, PLUS_EXPR, NE_EXPR, EQ_EXPR);
    5945            0 :                                             if (res) return res;
    5946              :                                           }
    5947              :                                         }
    5948              :                                     }
    5949              :                                 }
    5950              :                               break;
    5951              :                             }
    5952              :                           default:;
    5953              :                           }
    5954              :                         break;
    5955              :                       }
    5956              :                     default:;
    5957              :                     }
    5958              :                 }
    5959              :               break;
    5960              :             }
    5961           15 :           case GE_EXPR:
    5962           15 :             {
    5963           15 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5964           15 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5965           15 :               if (integer_zerop (_q22))
    5966              :                 {
    5967           15 :                   switch (TREE_CODE (_p1))
    5968              :                     {
    5969            0 :                     case VEC_COND_EXPR:
    5970            0 :                       {
    5971            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5972            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5973            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5974            0 :                         switch (TREE_CODE (_q80))
    5975              :                           {
    5976            0 :                           case LT_EXPR:
    5977            0 :                             {
    5978            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5979            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5980            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5981              :                                 {
    5982            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5983              :                                     {
    5984            0 :                                       if (integer_zerop (_q82))
    5985              :                                         {
    5986            0 :                                           {
    5987            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5988            0 :                                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, PLUS_EXPR, GE_EXPR, LT_EXPR);
    5989            0 :                                             if (res) return res;
    5990              :                                           }
    5991              :                                         }
    5992              :                                     }
    5993              :                                 }
    5994              :                               break;
    5995              :                             }
    5996              :                           default:;
    5997              :                           }
    5998              :                         break;
    5999              :                       }
    6000              :                     default:;
    6001              :                     }
    6002              :                 }
    6003              :               break;
    6004              :             }
    6005           81 :           case GT_EXPR:
    6006           81 :             {
    6007           81 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6008           81 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6009           81 :               if (integer_zerop (_q22))
    6010              :                 {
    6011           33 :                   switch (TREE_CODE (_p1))
    6012              :                     {
    6013            0 :                     case VEC_COND_EXPR:
    6014            0 :                       {
    6015            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6016            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6017            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6018            0 :                         switch (TREE_CODE (_q80))
    6019              :                           {
    6020            0 :                           case LE_EXPR:
    6021            0 :                             {
    6022            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6023            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6024            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6025              :                                 {
    6026            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6027              :                                     {
    6028            0 :                                       if (integer_zerop (_q82))
    6029              :                                         {
    6030            0 :                                           {
    6031            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    6032            0 :                                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, PLUS_EXPR, GT_EXPR, LE_EXPR);
    6033            0 :                                             if (res) return res;
    6034              :                                           }
    6035              :                                         }
    6036              :                                     }
    6037              :                                 }
    6038              :                               break;
    6039              :                             }
    6040              :                           default:;
    6041              :                           }
    6042              :                         break;
    6043              :                       }
    6044              :                     default:;
    6045              :                     }
    6046              :                 }
    6047              :               break;
    6048              :             }
    6049            0 :           case UNORDERED_EXPR:
    6050            0 :             {
    6051            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6052            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6053            0 :               if (integer_zerop (_q22))
    6054              :                 {
    6055            0 :                   switch (TREE_CODE (_p1))
    6056              :                     {
    6057            0 :                     case VEC_COND_EXPR:
    6058            0 :                       {
    6059            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6060            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6061            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6062            0 :                         switch (TREE_CODE (_q80))
    6063              :                           {
    6064            0 :                           case ORDERED_EXPR:
    6065            0 :                             {
    6066            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6067            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6068            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6069              :                                 {
    6070            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6071              :                                     {
    6072            0 :                                       if (integer_zerop (_q82))
    6073              :                                         {
    6074            0 :                                           {
    6075            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    6076            0 :                                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNORDERED_EXPR, ORDERED_EXPR);
    6077            0 :                                             if (res) return res;
    6078              :                                           }
    6079              :                                         }
    6080              :                                     }
    6081              :                                 }
    6082              :                               break;
    6083              :                             }
    6084              :                           default:;
    6085              :                           }
    6086              :                         break;
    6087              :                       }
    6088              :                     default:;
    6089              :                     }
    6090              :                 }
    6091              :               break;
    6092              :             }
    6093            0 :           case ORDERED_EXPR:
    6094            0 :             {
    6095            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6096            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6097            0 :               if (integer_zerop (_q22))
    6098              :                 {
    6099            0 :                   switch (TREE_CODE (_p1))
    6100              :                     {
    6101            0 :                     case VEC_COND_EXPR:
    6102            0 :                       {
    6103            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6104            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6105            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6106            0 :                         switch (TREE_CODE (_q80))
    6107              :                           {
    6108            0 :                           case UNORDERED_EXPR:
    6109            0 :                             {
    6110            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6111            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6112            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6113              :                                 {
    6114            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6115              :                                     {
    6116            0 :                                       if (integer_zerop (_q82))
    6117              :                                         {
    6118            0 :                                           {
    6119            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    6120            0 :                                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, PLUS_EXPR, ORDERED_EXPR, UNORDERED_EXPR);
    6121            0 :                                             if (res) return res;
    6122              :                                           }
    6123              :                                         }
    6124              :                                     }
    6125              :                                 }
    6126              :                               break;
    6127              :                             }
    6128              :                           default:;
    6129              :                           }
    6130              :                         break;
    6131              :                       }
    6132              :                     default:;
    6133              :                     }
    6134              :                 }
    6135              :               break;
    6136              :             }
    6137            0 :           case UNLT_EXPR:
    6138            0 :             {
    6139            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6140            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6141            0 :               if (integer_zerop (_q22))
    6142              :                 {
    6143            0 :                   switch (TREE_CODE (_p1))
    6144              :                     {
    6145            0 :                     case VEC_COND_EXPR:
    6146            0 :                       {
    6147            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6148            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6149            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6150            0 :                         switch (TREE_CODE (_q80))
    6151              :                           {
    6152            0 :                           case GE_EXPR:
    6153            0 :                             {
    6154            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6155            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6156            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6157              :                                 {
    6158            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6159              :                                     {
    6160            0 :                                       if (integer_zerop (_q82))
    6161              :                                         {
    6162            0 :                                           {
    6163            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    6164            0 :                                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNLT_EXPR, GE_EXPR);
    6165            0 :                                             if (res) return res;
    6166              :                                           }
    6167              :                                         }
    6168              :                                     }
    6169              :                                 }
    6170              :                               break;
    6171              :                             }
    6172              :                           default:;
    6173              :                           }
    6174              :                         break;
    6175              :                       }
    6176              :                     default:;
    6177              :                     }
    6178              :                 }
    6179              :               break;
    6180              :             }
    6181            0 :           case UNLE_EXPR:
    6182            0 :             {
    6183            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6184            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6185            0 :               if (integer_zerop (_q22))
    6186              :                 {
    6187            0 :                   switch (TREE_CODE (_p1))
    6188              :                     {
    6189            0 :                     case VEC_COND_EXPR:
    6190            0 :                       {
    6191            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6192            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6193            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6194            0 :                         switch (TREE_CODE (_q80))
    6195              :                           {
    6196            0 :                           case GT_EXPR:
    6197            0 :                             {
    6198            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6199            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6200            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6201              :                                 {
    6202            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6203              :                                     {
    6204            0 :                                       if (integer_zerop (_q82))
    6205              :                                         {
    6206            0 :                                           {
    6207            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    6208            0 :                                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNLE_EXPR, GT_EXPR);
    6209            0 :                                             if (res) return res;
    6210              :                                           }
    6211              :                                         }
    6212              :                                     }
    6213              :                                 }
    6214              :                               break;
    6215              :                             }
    6216              :                           default:;
    6217              :                           }
    6218              :                         break;
    6219              :                       }
    6220              :                     default:;
    6221              :                     }
    6222              :                 }
    6223              :               break;
    6224              :             }
    6225            0 :           case UNGT_EXPR:
    6226            0 :             {
    6227            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6228            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6229            0 :               if (integer_zerop (_q22))
    6230              :                 {
    6231            0 :                   switch (TREE_CODE (_p1))
    6232              :                     {
    6233            0 :                     case VEC_COND_EXPR:
    6234            0 :                       {
    6235            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6236            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6237            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6238            0 :                         switch (TREE_CODE (_q80))
    6239              :                           {
    6240            0 :                           case LE_EXPR:
    6241            0 :                             {
    6242            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6243            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6244            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6245              :                                 {
    6246            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6247              :                                     {
    6248            0 :                                       if (integer_zerop (_q82))
    6249              :                                         {
    6250            0 :                                           {
    6251            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    6252            0 :                                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNGT_EXPR, LE_EXPR);
    6253            0 :                                             if (res) return res;
    6254              :                                           }
    6255              :                                         }
    6256              :                                     }
    6257              :                                 }
    6258              :                               break;
    6259              :                             }
    6260              :                           default:;
    6261              :                           }
    6262              :                         break;
    6263              :                       }
    6264              :                     default:;
    6265              :                     }
    6266              :                 }
    6267              :               break;
    6268              :             }
    6269            0 :           case UNGE_EXPR:
    6270            0 :             {
    6271            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6272            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6273            0 :               if (integer_zerop (_q22))
    6274              :                 {
    6275            0 :                   switch (TREE_CODE (_p1))
    6276              :                     {
    6277            0 :                     case VEC_COND_EXPR:
    6278            0 :                       {
    6279            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6280            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6281            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6282            0 :                         switch (TREE_CODE (_q80))
    6283              :                           {
    6284            0 :                           case LT_EXPR:
    6285            0 :                             {
    6286            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6287            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6288            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6289              :                                 {
    6290            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6291              :                                     {
    6292            0 :                                       if (integer_zerop (_q82))
    6293              :                                         {
    6294            0 :                                           {
    6295            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    6296            0 :                                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNGE_EXPR, LT_EXPR);
    6297            0 :                                             if (res) return res;
    6298              :                                           }
    6299              :                                         }
    6300              :                                     }
    6301              :                                 }
    6302              :                               break;
    6303              :                             }
    6304              :                           default:;
    6305              :                           }
    6306              :                         break;
    6307              :                       }
    6308              :                     default:;
    6309              :                     }
    6310              :                 }
    6311              :               break;
    6312              :             }
    6313            0 :           case UNEQ_EXPR:
    6314            0 :             {
    6315            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6316            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6317            0 :               if (integer_zerop (_q22))
    6318              :                 {
    6319            0 :                   switch (TREE_CODE (_p1))
    6320              :                     {
    6321            0 :                     case VEC_COND_EXPR:
    6322            0 :                       {
    6323            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6324            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6325            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6326            0 :                         switch (TREE_CODE (_q80))
    6327              :                           {
    6328            0 :                           case LTGT_EXPR:
    6329            0 :                             {
    6330            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6331            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6332            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6333              :                                 {
    6334            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6335              :                                     {
    6336            0 :                                       if (integer_zerop (_q82))
    6337              :                                         {
    6338            0 :                                           {
    6339            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    6340            0 :                                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNEQ_EXPR, LTGT_EXPR);
    6341            0 :                                             if (res) return res;
    6342              :                                           }
    6343              :                                         }
    6344              :                                     }
    6345              :                                 }
    6346              :                               break;
    6347              :                             }
    6348              :                           default:;
    6349              :                           }
    6350              :                         break;
    6351              :                       }
    6352              :                     default:;
    6353              :                     }
    6354              :                 }
    6355              :               break;
    6356              :             }
    6357            0 :           case LTGT_EXPR:
    6358            0 :             {
    6359            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6360            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6361            0 :               if (integer_zerop (_q22))
    6362              :                 {
    6363            0 :                   switch (TREE_CODE (_p1))
    6364              :                     {
    6365            0 :                     case VEC_COND_EXPR:
    6366            0 :                       {
    6367            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    6368            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    6369            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    6370            0 :                         switch (TREE_CODE (_q80))
    6371              :                           {
    6372            0 :                           case UNEQ_EXPR:
    6373            0 :                             {
    6374            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    6375            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    6376            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    6377              :                                 {
    6378            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    6379              :                                     {
    6380            0 :                                       if (integer_zerop (_q82))
    6381              :                                         {
    6382            0 :                                           {
    6383            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    6384            0 :                                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, PLUS_EXPR, LTGT_EXPR, UNEQ_EXPR);
    6385            0 :                                             if (res) return res;
    6386              :                                           }
    6387              :                                         }
    6388              :                                     }
    6389              :                                 }
    6390              :                               break;
    6391              :                             }
    6392              :                           default:;
    6393              :                           }
    6394              :                         break;
    6395              :                       }
    6396              :                     default:;
    6397              :                     }
    6398              :                 }
    6399              :               break;
    6400              :             }
    6401              :           default:;
    6402              :           }
    6403              :         break;
    6404              :       }
    6405     71330609 :     default:;
    6406              :     }
    6407     71330609 : {
    6408     71330609 :   tree _p0_pops[1];
    6409     71330609 :   if (tree_nop_convert (_p0, _p0_pops))
    6410              :     {
    6411     14243349 :       tree _q20 = _p0_pops[0];
    6412     14243349 :       switch (TREE_CODE (_q20))
    6413              :         {
    6414       100445 :         case MINUS_EXPR:
    6415       100445 :           {
    6416       100445 :             tree _q30 = TREE_OPERAND (_q20, 0);
    6417       100445 :             tree _q31 = TREE_OPERAND (_q20, 1);
    6418       100445 :             switch (TREE_CODE (_q30))
    6419              :               {
    6420            2 :               case BIT_AND_EXPR:
    6421            2 :                 {
    6422            2 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    6423            2 :                   tree _q41 = TREE_OPERAND (_q30, 1);
    6424            2 :                   switch (TREE_CODE (_q31))
    6425              :                     {
    6426            1 :                     case BIT_IOR_EXPR:
    6427            1 :                       {
    6428            1 :                         tree _q70 = TREE_OPERAND (_q31, 0);
    6429            1 :                         tree _q71 = TREE_OPERAND (_q31, 1);
    6430            1 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    6431              :                           {
    6432            1 :                             if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
    6433              :                               {
    6434            1 :                                 if (integer_all_onesp (_p1))
    6435              :                                   {
    6436            1 :                                     {
    6437            1 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
    6438            1 :                                       tree res = generic_simplify_63 (loc, type, _p0, _p1, captures);
    6439            1 :                                       if (res) return res;
    6440              :                                     }
    6441              :                                   }
    6442              :                               }
    6443              :                           }
    6444            0 :                         if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
    6445              :                           {
    6446            0 :                             if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
    6447              :                               {
    6448            0 :                                 if (integer_all_onesp (_p1))
    6449              :                                   {
    6450            0 :                                     {
    6451            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _q40 };
    6452            0 :                                       tree res = generic_simplify_63 (loc, type, _p0, _p1, captures);
    6453            0 :                                       if (res) return res;
    6454              :                                     }
    6455              :                                   }
    6456              :                               }
    6457              :                           }
    6458              :                         break;
    6459              :                       }
    6460              :                     default:;
    6461              :                     }
    6462              :                   break;
    6463              :                 }
    6464       100444 :               default:;
    6465              :               }
    6466       100444 :           {
    6467       100444 :             tree _q30_pops[1];
    6468       100444 :             if (tree_nop_convert (_q30, _q30_pops))
    6469              :               {
    6470        51161 :                 tree _q40 = _q30_pops[0];
    6471        51161 :                 switch (TREE_CODE (_q40))
    6472              :                   {
    6473            0 :                   case BIT_AND_EXPR:
    6474            0 :                     {
    6475            0 :                       tree _q50 = TREE_OPERAND (_q40, 0);
    6476            0 :                       tree _q51 = TREE_OPERAND (_q40, 1);
    6477            0 :                       {
    6478            0 :                         tree _q31_pops[1];
    6479            0 :                         if (tree_nop_convert (_q31, _q31_pops))
    6480              :                           {
    6481            0 :                             tree _q80 = _q31_pops[0];
    6482            0 :                             switch (TREE_CODE (_q80))
    6483              :                               {
    6484            0 :                               case BIT_IOR_EXPR:
    6485            0 :                                 {
    6486            0 :                                   tree _q90 = TREE_OPERAND (_q80, 0);
    6487            0 :                                   tree _q91 = TREE_OPERAND (_q80, 1);
    6488            0 :                                   if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
    6489              :                                     {
    6490            0 :                                       if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
    6491              :                                         {
    6492            0 :                                           if (integer_all_onesp (_p1))
    6493              :                                             {
    6494            0 :                                               {
    6495            0 :                                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
    6496            0 :                                                 tree res = generic_simplify_63 (loc, type, _p0, _p1, captures);
    6497            0 :                                                 if (res) return res;
    6498              :                                               }
    6499              :                                             }
    6500              :                                         }
    6501              :                                     }
    6502            0 :                                   if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
    6503              :                                     {
    6504            0 :                                       if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
    6505              :                                         {
    6506            0 :                                           if (integer_all_onesp (_p1))
    6507              :                                             {
    6508            0 :                                               {
    6509            0 :                                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
    6510            0 :                                                 tree res = generic_simplify_63 (loc, type, _p0, _p1, captures);
    6511            0 :                                                 if (res) return res;
    6512              :                                               }
    6513              :                                             }
    6514              :                                         }
    6515              :                                     }
    6516              :                                   break;
    6517              :                                 }
    6518              :                               default:;
    6519              :                               }
    6520              :                           }
    6521              :                       }
    6522            0 :                       break;
    6523              :                     }
    6524              :                   default:;
    6525              :                   }
    6526              :               }
    6527              :           }
    6528       100444 :             break;
    6529              :           }
    6530              :         default:;
    6531              :         }
    6532              :     }
    6533              : }
    6534     71330608 :   switch (TREE_CODE (_p1))
    6535              :     {
    6536      8384186 :     CASE_CONVERT:
    6537      8384186 :       {
    6538      8384186 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6539      8384186 :         switch (TREE_CODE (_q30))
    6540              :           {
    6541          340 :           case NEGATE_EXPR:
    6542          340 :             {
    6543          340 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6544          340 :               {
    6545          340 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    6546          340 :                 tree res = generic_simplify_65 (loc, type, _p0, _p1, captures);
    6547          340 :                 if (res) return res;
    6548              :               }
    6549          295 :               break;
    6550              :             }
    6551              :           default:;
    6552              :           }
    6553              :         break;
    6554              :       }
    6555         8302 :     case NEGATE_EXPR:
    6556         8302 :       {
    6557         8302 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6558         8302 :         {
    6559         8302 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6560         8302 :           tree res = generic_simplify_65 (loc, type, _p0, _p1, captures);
    6561         8302 :           if (res) return res;
    6562              :         }
    6563            0 :         break;
    6564              :       }
    6565     71322261 :     default:;
    6566              :     }
    6567     71322261 :   switch (TREE_CODE (_p0))
    6568              :     {
    6569       239236 :     case NEGATE_EXPR:
    6570       239236 :       {
    6571       239236 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6572       239236 :         {
    6573       239236 :           tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
    6574       239236 :           tree res = generic_simplify_65 (loc, type, _p0, _p1, captures);
    6575       239236 :           if (res) return res;
    6576              :         }
    6577          134 :         break;
    6578              :       }
    6579     71083159 :     default:;
    6580              :     }
    6581     71083159 : {
    6582     71083159 :   tree _p0_pops[1];
    6583     71083159 :   if (tree_nop_convert (_p0, _p0_pops))
    6584              :     {
    6585     14238720 :       tree _q20 = _p0_pops[0];
    6586     14238720 :       switch (TREE_CODE (_q20))
    6587              :         {
    6588       100424 :         case MINUS_EXPR:
    6589       100424 :           {
    6590       100424 :             tree _q30 = TREE_OPERAND (_q20, 0);
    6591       100424 :             tree _q31 = TREE_OPERAND (_q20, 1);
    6592       100424 :             {
    6593       100424 :               tree _q31_pops[1];
    6594       100424 :               if (tree_nop_convert (_q31, _q31_pops))
    6595              :                 {
    6596        63791 :                   tree _q50 = _q31_pops[0];
    6597        63791 :                   if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    6598              :                     {
    6599           28 :                       {
    6600           28 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
    6601           28 :                         tree res = generic_simplify_64 (loc, type, _p0, _p1, captures);
    6602           28 :                         if (res) return res;
    6603              :                       }
    6604              :                     }
    6605              :                 }
    6606              :             }
    6607       100396 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    6608              :               {
    6609            6 :                 {
    6610            6 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6611            6 :                   tree res = generic_simplify_64 (loc, type, _p0, _p1, captures);
    6612            6 :                   if (res) return res;
    6613              :                 }
    6614              :               }
    6615       100390 :             if (CONSTANT_CLASS_P (_q31))
    6616              :               {
    6617        17163 :                 if (CONSTANT_CLASS_P (_p1))
    6618              :                   {
    6619        17041 :                     {
    6620        17041 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    6621        17041 :                       tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, PLUS_EXPR);
    6622        17041 :                       if (res) return res;
    6623              :                     }
    6624              :                   }
    6625              :               }
    6626        83349 :             if (CONSTANT_CLASS_P (_q30))
    6627              :               {
    6628        16636 :                 if (CONSTANT_CLASS_P (_p1))
    6629              :                   {
    6630         5884 :                     {
    6631         5884 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    6632         5884 :                       tree res = generic_simplify_67 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6633         5884 :                       if (res) return res;
    6634              :                     }
    6635              :                   }
    6636              :               }
    6637              :             break;
    6638              :           }
    6639      1324002 :         case PLUS_EXPR:
    6640      1324002 :           {
    6641      1324002 :             tree _q30 = TREE_OPERAND (_q20, 0);
    6642      1324002 :             tree _q31 = TREE_OPERAND (_q20, 1);
    6643      1324002 :             if (CONSTANT_CLASS_P (_q31))
    6644              :               {
    6645      1111878 :                 if (CONSTANT_CLASS_P (_p1))
    6646              :                   {
    6647      1021538 :                     {
    6648      1021538 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    6649      1021538 :                       tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, PLUS_EXPR);
    6650      1021538 :                       if (res) return res;
    6651              :                     }
    6652              :                   }
    6653              :               }
    6654              :             break;
    6655              :           }
    6656              :         default:;
    6657              :         }
    6658              :     }
    6659              : }
    6660     70039626 :   switch (TREE_CODE (_p1))
    6661              :     {
    6662       176124 :     case MINUS_EXPR:
    6663       176124 :       {
    6664       176124 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6665       176124 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6666       176124 :         {
    6667       176124 :           tree _q31_pops[1];
    6668       176124 :           if (tree_nop_convert (_q31, _q31_pops))
    6669              :             {
    6670        61563 :               tree _q50 = _q31_pops[0];
    6671        61563 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    6672              :                 {
    6673            0 :                   {
    6674            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    6675            0 :                     tree res = generic_simplify_64 (loc, type, _p0, _p1, captures);
    6676            0 :                     if (res) return res;
    6677              :                   }
    6678              :                 }
    6679              :             }
    6680              :         }
    6681       176124 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6682              :           {
    6683          312 :             {
    6684          312 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    6685          312 :               tree res = generic_simplify_64 (loc, type, _p0, _p1, captures);
    6686          312 :               if (res) return res;
    6687              :             }
    6688              :           }
    6689              :         break;
    6690              :       }
    6691     70039314 :     default:;
    6692              :     }
    6693     70039314 : {
    6694     70039314 :   tree _p1_pops[1];
    6695     70039314 :   if (tree_nop_convert (_p1, _p1_pops))
    6696              :     {
    6697      8072639 :       tree _q30 = _p1_pops[0];
    6698      8072639 :       switch (TREE_CODE (_q30))
    6699              :         {
    6700         3648 :         case MINUS_EXPR:
    6701         3648 :           {
    6702         3648 :             tree _q40 = TREE_OPERAND (_q30, 0);
    6703         3648 :             tree _q41 = TREE_OPERAND (_q30, 1);
    6704         3648 :             {
    6705         3648 :               tree _q41_pops[1];
    6706         3648 :               if (tree_nop_convert (_q41, _q41_pops))
    6707              :                 {
    6708          608 :                   tree _q60 = _q41_pops[0];
    6709          608 :                   if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    6710              :                     {
    6711            0 :                       {
    6712            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    6713            0 :                         tree res = generic_simplify_64 (loc, type, _p0, _p1, captures);
    6714            0 :                         if (res) return res;
    6715              :                       }
    6716              :                     }
    6717              :                 }
    6718              :             }
    6719         3648 :             if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    6720              :               {
    6721            0 :                 {
    6722            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    6723            0 :                   tree res = generic_simplify_64 (loc, type, _p0, _p1, captures);
    6724            0 :                   if (res) return res;
    6725              :                 }
    6726              :               }
    6727              :             break;
    6728              :           }
    6729              :         default:;
    6730              :         }
    6731              :     }
    6732              : }
    6733     70039314 :   switch (TREE_CODE (_p0))
    6734              :     {
    6735      6563752 :     case PLUS_EXPR:
    6736      6563752 :       {
    6737      6563752 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6738      6563752 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6739      6563752 :         switch (TREE_CODE (_p1))
    6740              :           {
    6741        45808 :           case MINUS_EXPR:
    6742        45808 :             {
    6743        45808 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6744        45808 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6745        45808 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6746              :                 {
    6747          151 :                   {
    6748          151 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    6749          151 :                     tree res = generic_simplify_68 (loc, type, _p0, _p1, captures);
    6750          151 :                     if (res) return res;
    6751              :                   }
    6752              :                 }
    6753        45657 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6754              :                 {
    6755          320 :                   {
    6756          320 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    6757          320 :                     tree res = generic_simplify_68 (loc, type, _p0, _p1, captures);
    6758          320 :                     if (res) return res;
    6759              :                   }
    6760              :                 }
    6761              :               break;
    6762              :             }
    6763      6563281 :           default:;
    6764              :           }
    6765      6563281 :         if (CONSTANT_CLASS_P (_q21))
    6766              :           {
    6767      2595856 :             if (CONSTANT_CLASS_P (_p1))
    6768              :               {
    6769      1910142 :                 {
    6770      1910142 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6771      1910142 :                   tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, PLUS_EXPR);
    6772      1910142 :                   if (res) return res;
    6773              :                 }
    6774              :               }
    6775              :           }
    6776              :         break;
    6777              :       }
    6778      2032071 :     case MINUS_EXPR:
    6779      2032071 :       {
    6780      2032071 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6781      2032071 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6782      2032071 :         switch (TREE_CODE (_p1))
    6783              :           {
    6784         4933 :           case PLUS_EXPR:
    6785         4933 :             {
    6786         4933 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6787         4933 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6788         4933 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6789              :                 {
    6790          409 :                   {
    6791          409 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
    6792          409 :                     tree res = generic_simplify_68 (loc, type, _p0, _p1, captures);
    6793          409 :                     if (res) return res;
    6794              :                   }
    6795              :                 }
    6796         4524 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6797              :                 {
    6798         3705 :                   {
    6799         3705 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q50, _q20 };
    6800         3705 :                     tree res = generic_simplify_68 (loc, type, _p0, _p1, captures);
    6801         3705 :                     if (res) return res;
    6802              :                   }
    6803              :                 }
    6804              :               break;
    6805              :             }
    6806          734 :           case MINUS_EXPR:
    6807          734 :             {
    6808          734 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6809          734 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6810          734 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6811              :                 {
    6812           30 :                   {
    6813           30 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    6814           30 :                     tree res = generic_simplify_69 (loc, type, _p0, _p1, captures);
    6815           30 :                     if (res) return res;
    6816              :                   }
    6817              :                 }
    6818          704 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6819              :                 {
    6820          153 :                   {
    6821          153 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
    6822          153 :                     tree res = generic_simplify_69 (loc, type, _p0, _p1, captures);
    6823          153 :                     if (res) return res;
    6824              :                   }
    6825              :                 }
    6826              :               break;
    6827              :             }
    6828      2027774 :           default:;
    6829              :           }
    6830      2027774 :         if (CONSTANT_CLASS_P (_q21))
    6831              :           {
    6832       126388 :             if (CONSTANT_CLASS_P (_p1))
    6833              :               {
    6834        86590 :                 {
    6835        86590 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6836        86590 :                   tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, PLUS_EXPR);
    6837        86590 :                   if (res) return res;
    6838              :                 }
    6839              :               }
    6840              :           }
    6841      1941376 :         if (CONSTANT_CLASS_P (_q20))
    6842              :           {
    6843       410733 :             if (CONSTANT_CLASS_P (_p1))
    6844              :               {
    6845       241199 :                 {
    6846       241199 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6847       241199 :                   tree res = generic_simplify_67 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6848       241199 :                   if (res) return res;
    6849              :                 }
    6850              :               }
    6851              :           }
    6852              :         break;
    6853              :       }
    6854          478 :     case POINTER_DIFF_EXPR:
    6855          478 :       {
    6856          478 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6857          478 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6858          478 :         switch (TREE_CODE (_p1))
    6859              :           {
    6860            7 :           case POINTER_DIFF_EXPR:
    6861            7 :             {
    6862            7 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6863            7 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6864            7 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6865              :                 {
    6866            7 :                   {
    6867            7 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    6868            7 :                     tree res = generic_simplify_70 (loc, type, _p0, _p1, captures);
    6869            7 :                     if (res) return res;
    6870              :                   }
    6871              :                 }
    6872            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6873              :                 {
    6874            0 :                   {
    6875            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
    6876            0 :                     tree res = generic_simplify_70 (loc, type, _p0, _p1, captures);
    6877            0 :                     if (res) return res;
    6878              :                   }
    6879              :                 }
    6880              :               break;
    6881              :             }
    6882              :           default:;
    6883              :           }
    6884              :         break;
    6885              :       }
    6886     18223255 :     CASE_CONVERT:
    6887     18223255 :       {
    6888     18223255 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6889     18223255 :         switch (TREE_CODE (_p1))
    6890              :           {
    6891      2949536 :           CASE_CONVERT:
    6892      2949536 :             {
    6893      2949536 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6894      2949536 :               {
    6895      2949536 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6896      2949536 :                 tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6897      2949536 :                 if (res) return res;
    6898              :               }
    6899      2949415 :               break;
    6900              :             }
    6901     18223134 :           default:;
    6902              :           }
    6903     18223134 :         switch (TREE_CODE (_q20))
    6904              :           {
    6905       125430 :           case BIT_NOT_EXPR:
    6906       125430 :             {
    6907       125430 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6908       125430 :               switch (TREE_CODE (_p1))
    6909              :                 {
    6910          212 :                 CASE_CONVERT:
    6911          212 :                   {
    6912          212 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    6913          212 :                     if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
    6914              :                       {
    6915            0 :                         {
    6916            0 :                           tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    6917            0 :                           tree res = generic_simplify_72 (loc, type, _p0, _p1, captures);
    6918            0 :                           if (res) return res;
    6919              :                         }
    6920              :                       }
    6921              :                     break;
    6922              :                   }
    6923              :                 default:;
    6924              :                 }
    6925              :               break;
    6926              :             }
    6927     18223134 :           default:;
    6928              :           }
    6929     18223134 :         switch (TREE_CODE (_p1))
    6930              :           {
    6931      2949415 :           CASE_CONVERT:
    6932      2949415 :             {
    6933      2949415 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6934      2949415 :               switch (TREE_CODE (_q40))
    6935              :                 {
    6936          497 :                 case BIT_NOT_EXPR:
    6937          497 :                   {
    6938          497 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6939          497 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6940              :                       {
    6941            0 :                         {
    6942            0 :                           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6943            0 :                           tree res = generic_simplify_72 (loc, type, _p0, _p1, captures);
    6944            0 :                           if (res) return res;
    6945              :                         }
    6946              :                       }
    6947              :                     break;
    6948              :                   }
    6949              :                 default:;
    6950              :                 }
    6951              :               break;
    6952              :             }
    6953              :           default:;
    6954              :           }
    6955              :         break;
    6956              :       }
    6957       351120 :     case BIT_NOT_EXPR:
    6958       351120 :       {
    6959       351120 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6960       351120 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6961              :           {
    6962          764 :             {
    6963          764 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6964          764 :               tree res = generic_simplify_72 (loc, type, _p0, _p1, captures);
    6965          764 :               if (res) return res;
    6966              :             }
    6967              :           }
    6968       350356 :         if (integer_each_onep (_p1))
    6969              :           {
    6970         2834 :             {
    6971         2834 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6972         2834 :               tree res = generic_simplify_73 (loc, type, _p0, _p1, captures);
    6973         2834 :               if (res) return res;
    6974              :             }
    6975              :           }
    6976              :         break;
    6977              :       }
    6978     67793437 :     default:;
    6979              :     }
    6980     67793437 :   switch (TREE_CODE (_p1))
    6981              :     {
    6982        41451 :     case BIT_NOT_EXPR:
    6983        41451 :       {
    6984        41451 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6985        41451 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6986              :           {
    6987            0 :             {
    6988            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6989            0 :               tree res = generic_simplify_72 (loc, type, _p0, _p1, captures);
    6990            0 :               if (res) return res;
    6991              :             }
    6992              :           }
    6993              :         break;
    6994              :       }
    6995     67793437 :     default:;
    6996              :     }
    6997     67793437 :   switch (TREE_CODE (_p0))
    6998              :     {
    6999     18223134 :     CASE_CONVERT:
    7000     18223134 :       {
    7001     18223134 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7002     18223134 :         switch (TREE_CODE (_q20))
    7003              :           {
    7004       125430 :           case BIT_NOT_EXPR:
    7005       125430 :             {
    7006       125430 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7007       125430 :               if (integer_each_onep (_p1))
    7008              :                 {
    7009       120800 :                   {
    7010       120800 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    7011       120800 :                     tree res = generic_simplify_73 (loc, type, _p0, _p1, captures);
    7012       120800 :                     if (res) return res;
    7013              :                   }
    7014              :                 }
    7015              :               break;
    7016              :             }
    7017              :           default:;
    7018              :           }
    7019              :         break;
    7020              :       }
    7021     13399142 :     case MULT_EXPR:
    7022     13399142 :       {
    7023     13399142 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7024     13399142 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7025     13399142 :         switch (TREE_CODE (_p1))
    7026              :           {
    7027      3355338 :           case MULT_EXPR:
    7028      3355338 :             {
    7029      3355338 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7030      3355338 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7031      3355338 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7032              :                 {
    7033       791728 :                   {
    7034       791728 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
    7035       791728 :                     tree res = generic_simplify_74 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    7036       791728 :                     if (res) return res;
    7037              :                   }
    7038              :                 }
    7039      3350942 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7040              :                 {
    7041           22 :                   {
    7042           22 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    7043           22 :                     tree res = generic_simplify_74 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    7044           22 :                     if (res) return res;
    7045              :                   }
    7046              :                 }
    7047      3350936 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7048              :                 {
    7049          242 :                   {
    7050          242 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
    7051          242 :                     tree res = generic_simplify_74 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    7052          242 :                     if (res) return res;
    7053              :                   }
    7054              :                 }
    7055      3350764 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7056              :                 {
    7057      1270797 :                   {
    7058      1270797 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
    7059      1270797 :                     tree res = generic_simplify_74 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    7060      1270797 :                     if (res) return res;
    7061              :                   }
    7062              :                 }
    7063              :               break;
    7064              :             }
    7065              :           default:;
    7066              :           }
    7067              :         break;
    7068              :       }
    7069     66398363 :     default:;
    7070              :     }
    7071     66398363 :   switch (TREE_CODE (_p1))
    7072              :     {
    7073      3504945 :     case MULT_EXPR:
    7074      3504945 :       {
    7075      3504945 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7076      3504945 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7077      3504945 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7078              :           {
    7079         3905 :             {
    7080         3905 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    7081         3905 :               tree res = generic_simplify_75 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    7082         3905 :               if (res) return res;
    7083              :             }
    7084              :           }
    7085      3501087 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7086              :           {
    7087            0 :             {
    7088            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    7089            0 :               tree res = generic_simplify_75 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    7090            0 :               if (res) return res;
    7091              :             }
    7092              :           }
    7093              :         break;
    7094              :       }
    7095     66394505 :     default:;
    7096              :     }
    7097     66394505 :   switch (TREE_CODE (_p0))
    7098              :     {
    7099     12124013 :     case MULT_EXPR:
    7100     12124013 :       {
    7101     12124013 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7102     12124013 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7103     12124013 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7104              :           {
    7105        33293 :             {
    7106        33293 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7107        33293 :               tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    7108        33293 :               if (res) return res;
    7109              :             }
    7110              :           }
    7111     12091373 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7112              :           {
    7113       325319 :             {
    7114       325319 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    7115       325319 :               tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    7116       325319 :               if (res) return res;
    7117              :             }
    7118              :           }
    7119     11766672 :         if (integer_nonzerop (_q20))
    7120              :           {
    7121          102 :             switch (TREE_CODE (_p1))
    7122              :               {
    7123           50 :               case INTEGER_CST:
    7124           50 :                 {
    7125           50 :                   {
    7126           50 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7127           50 :                     tree res = generic_simplify_77 (loc, type, _p0, _p1, captures);
    7128           50 :                     if (res) return res;
    7129              :                   }
    7130           50 :                   break;
    7131              :                 }
    7132              :               default:;
    7133              :               }
    7134              :           }
    7135     11766672 :         if (integer_nonzerop (_q21))
    7136              :           {
    7137      7823241 :             switch (TREE_CODE (_p1))
    7138              :               {
    7139      3844705 :               case INTEGER_CST:
    7140      3844705 :                 {
    7141      3844705 :                   {
    7142      3844705 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1 };
    7143      3844705 :                     tree res = generic_simplify_77 (loc, type, _p0, _p1, captures);
    7144      3844705 :                     if (res) return res;
    7145              :                   }
    7146      3381983 :                   break;
    7147              :                 }
    7148              :               default:;
    7149              :               }
    7150              :           }
    7151     11303950 :         switch (TREE_CODE (_q20))
    7152              :           {
    7153       210204 :           case MINUS_EXPR:
    7154       210204 :             {
    7155       210204 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7156       210204 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7157       210204 :               if (tree_zero_one_valued_p (_q21))
    7158              :                 {
    7159            0 :                   if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    7160              :                     {
    7161            0 :                       {
    7162            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q21 };
    7163            0 :                         tree res = generic_simplify_78 (loc, type, _p0, _p1, captures);
    7164            0 :                         if (res) return res;
    7165              :                       }
    7166              :                     }
    7167              :                 }
    7168              :               break;
    7169              :             }
    7170     11303950 :           default:;
    7171              :           }
    7172     11303950 :       if (tree_zero_one_valued_p (_q20))
    7173              :         {
    7174        41231 :           switch (TREE_CODE (_q21))
    7175              :             {
    7176            9 :             case MINUS_EXPR:
    7177            9 :               {
    7178            9 :                 tree _q40 = TREE_OPERAND (_q21, 0);
    7179            9 :                 tree _q41 = TREE_OPERAND (_q21, 1);
    7180            9 :                 if ((_p1 == _q41 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q41, 0) && types_match (_p1, _q41)))
    7181              :                   {
    7182            9 :                     {
    7183            9 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
    7184            9 :                       tree res = generic_simplify_78 (loc, type, _p0, _p1, captures);
    7185            9 :                       if (res) return res;
    7186              :                     }
    7187              :                   }
    7188              :                 break;
    7189              :               }
    7190              :             default:;
    7191              :             }
    7192              :         }
    7193              :         break;
    7194              :       }
    7195         3104 :     case MIN_EXPR:
    7196         3104 :       {
    7197         3104 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7198         3104 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7199         3104 :         switch (TREE_CODE (_p1))
    7200              :           {
    7201            0 :           case MAX_EXPR:
    7202            0 :             {
    7203            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7204            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7205            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7206              :                 {
    7207            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7208              :                     {
    7209            0 :                       {
    7210            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7211            0 :                         if (!HONOR_NANS (captures[0])
    7212              : )
    7213              :                           {
    7214            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1302;
    7215            0 :                             {
    7216            0 :                               tree res_op0;
    7217            0 :                               res_op0 = captures[0];
    7218            0 :                               tree res_op1;
    7219            0 :                               res_op1 = captures[1];
    7220            0 :                               tree _r;
    7221            0 :                               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    7222            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 937, __FILE__, __LINE__, true);
    7223              :                               return _r;
    7224              :                             }
    7225            0 : next_after_fail1302:;
    7226              :                           }
    7227              :                       }
    7228              :                     }
    7229              :                 }
    7230            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7231              :                 {
    7232            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7233              :                     {
    7234            0 :                       {
    7235            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7236            0 :                         if (!HONOR_NANS (captures[0])
    7237              : )
    7238              :                           {
    7239            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1303;
    7240            0 :                             {
    7241            0 :                               tree res_op0;
    7242            0 :                               res_op0 = captures[0];
    7243            0 :                               tree res_op1;
    7244            0 :                               res_op1 = captures[1];
    7245            0 :                               tree _r;
    7246            0 :                               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    7247            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 937, __FILE__, __LINE__, true);
    7248              :                               return _r;
    7249              :                             }
    7250            0 : next_after_fail1303:;
    7251              :                           }
    7252              :                       }
    7253              :                     }
    7254              :                 }
    7255              :               break;
    7256              :             }
    7257              :           default:;
    7258              :           }
    7259              :         break;
    7260              :       }
    7261        12220 :     case MAX_EXPR:
    7262        12220 :       {
    7263        12220 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7264        12220 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7265        12220 :         switch (TREE_CODE (_p1))
    7266              :           {
    7267            0 :           case MIN_EXPR:
    7268            0 :             {
    7269            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7270            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7271            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7272              :                 {
    7273            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7274              :                     {
    7275            0 :                       {
    7276            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7277            0 :                         if (!HONOR_NANS (captures[0])
    7278              : )
    7279              :                           {
    7280            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1304;
    7281            0 :                             {
    7282            0 :                               tree res_op0;
    7283            0 :                               res_op0 = captures[0];
    7284            0 :                               tree res_op1;
    7285            0 :                               res_op1 = captures[1];
    7286            0 :                               tree _r;
    7287            0 :                               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    7288            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 937, __FILE__, __LINE__, true);
    7289              :                               return _r;
    7290              :                             }
    7291            0 : next_after_fail1304:;
    7292              :                           }
    7293              :                       }
    7294              :                     }
    7295              :                 }
    7296            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7297              :                 {
    7298            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7299              :                     {
    7300            0 :                       {
    7301            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7302            0 :                         if (!HONOR_NANS (captures[0])
    7303              : )
    7304              :                           {
    7305            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1305;
    7306            0 :                             {
    7307            0 :                               tree res_op0;
    7308            0 :                               res_op0 = captures[0];
    7309            0 :                               tree res_op1;
    7310            0 :                               res_op1 = captures[1];
    7311            0 :                               tree _r;
    7312            0 :                               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    7313            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 937, __FILE__, __LINE__, true);
    7314              :                               return _r;
    7315              :                             }
    7316            0 : next_after_fail1305:;
    7317              :                           }
    7318              :                       }
    7319              :                     }
    7320              :                 }
    7321              :               break;
    7322              :             }
    7323              :           default:;
    7324              :           }
    7325              :         break;
    7326              :       }
    7327     65574440 :     default:;
    7328              :     }
    7329     65574440 :   switch (TREE_CODE (_p1))
    7330              :     {
    7331      3501023 :     case MULT_EXPR:
    7332      3501023 :       {
    7333      3501023 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7334      3501023 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7335      3501023 :         switch (TREE_CODE (_q30))
    7336              :           {
    7337       152379 :           case MINUS_EXPR:
    7338       152379 :             {
    7339       152379 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7340       152379 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7341       152379 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    7342              :                 {
    7343           16 :                   if (tree_zero_one_valued_p (_q31))
    7344              :                     {
    7345            0 :                       {
    7346            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q31 };
    7347            0 :                         tree res = generic_simplify_78 (loc, type, _p0, _p1, captures);
    7348            0 :                         if (res) return res;
    7349              :                       }
    7350              :                     }
    7351              :                 }
    7352              :               break;
    7353              :             }
    7354      3501023 :           default:;
    7355              :           }
    7356      3501023 :       if (tree_zero_one_valued_p (_q30))
    7357              :         {
    7358        13733 :           switch (TREE_CODE (_q31))
    7359              :             {
    7360            0 :             case MINUS_EXPR:
    7361            0 :               {
    7362            0 :                 tree _q50 = TREE_OPERAND (_q31, 0);
    7363            0 :                 tree _q51 = TREE_OPERAND (_q31, 1);
    7364            0 :                 if ((_q51 == _p0 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _p0, 0) && types_match (_q51, _p0)))
    7365              :                   {
    7366            0 :                     {
    7367            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q50, _q30 };
    7368            0 :                       tree res = generic_simplify_78 (loc, type, _p0, _p1, captures);
    7369            0 :                       if (res) return res;
    7370              :                     }
    7371              :                   }
    7372              :                 break;
    7373              :               }
    7374              :             default:;
    7375              :             }
    7376              :         }
    7377              :         break;
    7378              :       }
    7379     65574440 :     default:;
    7380              :     }
    7381     65574440 :   switch (TREE_CODE (_p0))
    7382              :     {
    7383         1541 :     case BIT_XOR_EXPR:
    7384         1541 :       {
    7385         1541 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7386         1541 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7387         1541 :         switch (TREE_CODE (_q21))
    7388              :           {
    7389            8 :           case NEGATE_EXPR:
    7390            8 :             {
    7391            8 :               tree _q40 = TREE_OPERAND (_q21, 0);
    7392            8 :               if (tree_zero_one_valued_p (_q40))
    7393              :                 {
    7394            0 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    7395              :                     {
    7396            0 :                       {
    7397            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    7398            0 :                         tree res = generic_simplify_79 (loc, type, _p0, _p1, captures);
    7399            0 :                         if (res) return res;
    7400              :                       }
    7401              :                     }
    7402              :                 }
    7403              :               break;
    7404              :             }
    7405         1541 :           default:;
    7406              :           }
    7407         1541 :         switch (TREE_CODE (_q20))
    7408              :           {
    7409           10 :           case NEGATE_EXPR:
    7410           10 :             {
    7411           10 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7412           10 :               if (tree_zero_one_valued_p (_q30))
    7413              :                 {
    7414            0 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    7415              :                     {
    7416            0 :                       {
    7417            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
    7418            0 :                         tree res = generic_simplify_79 (loc, type, _p0, _p1, captures);
    7419            0 :                         if (res) return res;
    7420              :                       }
    7421              :                     }
    7422              :                 }
    7423              :               break;
    7424              :             }
    7425              :           default:;
    7426              :           }
    7427              :         break;
    7428              :       }
    7429     65574440 :     default:;
    7430              :     }
    7431     65574440 :   switch (TREE_CODE (_p1))
    7432              :     {
    7433          165 :     case BIT_XOR_EXPR:
    7434          165 :       {
    7435          165 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7436          165 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7437          165 :         switch (TREE_CODE (_q31))
    7438              :           {
    7439            0 :           case NEGATE_EXPR:
    7440            0 :             {
    7441            0 :               tree _q50 = TREE_OPERAND (_q31, 0);
    7442            0 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    7443              :                 {
    7444            0 :                   if (tree_zero_one_valued_p (_q50))
    7445              :                     {
    7446            0 :                       {
    7447            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    7448            0 :                         tree res = generic_simplify_79 (loc, type, _p0, _p1, captures);
    7449            0 :                         if (res) return res;
    7450              :                       }
    7451              :                     }
    7452              :                 }
    7453              :               break;
    7454              :             }
    7455          165 :           default:;
    7456              :           }
    7457          165 :         switch (TREE_CODE (_q30))
    7458              :           {
    7459            0 :           case NEGATE_EXPR:
    7460            0 :             {
    7461            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7462            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    7463              :                 {
    7464            0 :                   if (tree_zero_one_valued_p (_q40))
    7465              :                     {
    7466            0 :                       {
    7467            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
    7468            0 :                         tree res = generic_simplify_79 (loc, type, _p0, _p1, captures);
    7469            0 :                         if (res) return res;
    7470              :                       }
    7471              :                     }
    7472              :                 }
    7473              :               break;
    7474              :             }
    7475              :           default:;
    7476              :           }
    7477              :         break;
    7478              :       }
    7479     65574440 :     default:;
    7480              :     }
    7481     65574440 :   switch (TREE_CODE (_p0))
    7482              :     {
    7483     11303948 :     case MULT_EXPR:
    7484     11303948 :       {
    7485     11303948 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7486     11303948 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7487     11303948 :         switch (TREE_CODE (_q20))
    7488              :           {
    7489        16447 :           case TRUNC_DIV_EXPR:
    7490        16447 :             {
    7491        16447 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7492        16447 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7493        16447 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    7494              :                 {
    7495         2506 :                   switch (TREE_CODE (_p1))
    7496              :                     {
    7497            2 :                     case TRUNC_MOD_EXPR:
    7498            2 :                       {
    7499            2 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    7500            2 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    7501            2 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    7502              :                           {
    7503            2 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    7504              :                               {
    7505            2 :                                 {
    7506            2 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    7507            2 :                                   tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
    7508            2 :                                   if (res) return res;
    7509              :                                 }
    7510              :                               }
    7511              :                           }
    7512              :                         break;
    7513              :                       }
    7514              :                     default:;
    7515              :                     }
    7516              :                 }
    7517              :               break;
    7518              :             }
    7519            0 :           case CEIL_DIV_EXPR:
    7520            0 :             {
    7521            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7522            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7523            0 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    7524              :                 {
    7525            0 :                   switch (TREE_CODE (_p1))
    7526              :                     {
    7527            0 :                     case CEIL_MOD_EXPR:
    7528            0 :                       {
    7529            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    7530            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    7531            0 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    7532              :                           {
    7533            0 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    7534              :                               {
    7535            0 :                                 {
    7536            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    7537            0 :                                   tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
    7538            0 :                                   if (res) return res;
    7539              :                                 }
    7540              :                               }
    7541              :                           }
    7542              :                         break;
    7543              :                       }
    7544              :                     default:;
    7545              :                     }
    7546              :                 }
    7547              :               break;
    7548              :             }
    7549            0 :           case FLOOR_DIV_EXPR:
    7550            0 :             {
    7551            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7552            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7553            0 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    7554              :                 {
    7555            0 :                   switch (TREE_CODE (_p1))
    7556              :                     {
    7557            0 :                     case FLOOR_MOD_EXPR:
    7558            0 :                       {
    7559            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    7560            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    7561            0 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    7562              :                           {
    7563            0 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    7564              :                               {
    7565            0 :                                 {
    7566            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    7567            0 :                                   tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
    7568            0 :                                   if (res) return res;
    7569              :                                 }
    7570              :                               }
    7571              :                           }
    7572              :                         break;
    7573              :                       }
    7574              :                     default:;
    7575              :                     }
    7576              :                 }
    7577              :               break;
    7578              :             }
    7579            0 :           case ROUND_DIV_EXPR:
    7580            0 :             {
    7581            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7582            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7583            0 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    7584              :                 {
    7585            0 :                   switch (TREE_CODE (_p1))
    7586              :                     {
    7587            0 :                     case ROUND_MOD_EXPR:
    7588            0 :                       {
    7589            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    7590            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    7591            0 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    7592              :                           {
    7593            0 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    7594              :                               {
    7595            0 :                                 {
    7596            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    7597            0 :                                   tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
    7598            0 :                                   if (res) return res;
    7599              :                                 }
    7600              :                               }
    7601              :                           }
    7602              :                         break;
    7603              :                       }
    7604              :                     default:;
    7605              :                     }
    7606              :                 }
    7607              :               break;
    7608              :             }
    7609     11303946 :           default:;
    7610              :           }
    7611     11303946 :         switch (TREE_CODE (_q21))
    7612              :           {
    7613            6 :           case TRUNC_DIV_EXPR:
    7614            6 :             {
    7615            6 :               tree _q40 = TREE_OPERAND (_q21, 0);
    7616            6 :               tree _q41 = TREE_OPERAND (_q21, 1);
    7617            6 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    7618              :                 {
    7619            0 :                   switch (TREE_CODE (_p1))
    7620              :                     {
    7621            0 :                     case TRUNC_MOD_EXPR:
    7622            0 :                       {
    7623            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    7624            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    7625            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    7626              :                           {
    7627            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
    7628              :                               {
    7629            0 :                                 {
    7630            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    7631            0 :                                   tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
    7632            0 :                                   if (res) return res;
    7633              :                                 }
    7634              :                               }
    7635              :                           }
    7636              :                         break;
    7637              :                       }
    7638              :                     default:;
    7639              :                     }
    7640              :                 }
    7641              :               break;
    7642              :             }
    7643            4 :           case CEIL_DIV_EXPR:
    7644            4 :             {
    7645            4 :               tree _q40 = TREE_OPERAND (_q21, 0);
    7646            4 :               tree _q41 = TREE_OPERAND (_q21, 1);
    7647            4 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    7648              :                 {
    7649            0 :                   switch (TREE_CODE (_p1))
    7650              :                     {
    7651            0 :                     case CEIL_MOD_EXPR:
    7652            0 :                       {
    7653            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    7654            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    7655            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    7656              :                           {
    7657            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
    7658              :                               {
    7659            0 :                                 {
    7660            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    7661            0 :                                   tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
    7662            0 :                                   if (res) return res;
    7663              :                                 }
    7664              :                               }
    7665              :                           }
    7666              :                         break;
    7667              :                       }
    7668              :                     default:;
    7669              :                     }
    7670              :                 }
    7671              :               break;
    7672              :             }
    7673            0 :           case FLOOR_DIV_EXPR:
    7674            0 :             {
    7675            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    7676            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
    7677            0 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    7678              :                 {
    7679            0 :                   switch (TREE_CODE (_p1))
    7680              :                     {
    7681            0 :                     case FLOOR_MOD_EXPR:
    7682            0 :                       {
    7683            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    7684            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    7685            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    7686              :                           {
    7687            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
    7688              :                               {
    7689            0 :                                 {
    7690            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    7691            0 :                                   tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
    7692            0 :                                   if (res) return res;
    7693              :                                 }
    7694              :                               }
    7695              :                           }
    7696              :                         break;
    7697              :                       }
    7698              :                     default:;
    7699              :                     }
    7700              :                 }
    7701              :               break;
    7702              :             }
    7703            0 :           case ROUND_DIV_EXPR:
    7704            0 :             {
    7705            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    7706            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
    7707            0 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    7708              :                 {
    7709            0 :                   switch (TREE_CODE (_p1))
    7710              :                     {
    7711            0 :                     case ROUND_MOD_EXPR:
    7712            0 :                       {
    7713            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    7714            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    7715            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    7716              :                           {
    7717            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
    7718              :                               {
    7719            0 :                                 {
    7720            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    7721            0 :                                   tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
    7722            0 :                                   if (res) return res;
    7723              :                                 }
    7724              :                               }
    7725              :                           }
    7726              :                         break;
    7727              :                       }
    7728              :                     default:;
    7729              :                     }
    7730              :                 }
    7731              :               break;
    7732              :             }
    7733              :           default:;
    7734              :           }
    7735              :         break;
    7736              :       }
    7737        31260 :     case TRUNC_MOD_EXPR:
    7738        31260 :       {
    7739        31260 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7740        31260 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7741        31260 :         switch (TREE_CODE (_p1))
    7742              :           {
    7743          119 :           case MULT_EXPR:
    7744          119 :             {
    7745          119 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7746          119 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7747          119 :               switch (TREE_CODE (_q50))
    7748              :                 {
    7749          106 :                 case TRUNC_DIV_EXPR:
    7750          106 :                   {
    7751          106 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    7752          106 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    7753          106 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7754              :                       {
    7755          106 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    7756              :                           {
    7757           94 :                             if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7758              :                               {
    7759            0 :                                 {
    7760            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7761            0 :                                   tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
    7762            0 :                                   if (res) return res;
    7763              :                                 }
    7764              :                               }
    7765              :                           }
    7766              :                       }
    7767              :                     break;
    7768              :                   }
    7769          119 :                 default:;
    7770              :                 }
    7771          119 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7772              :                 {
    7773            0 :                   switch (TREE_CODE (_q51))
    7774              :                     {
    7775            0 :                     case TRUNC_DIV_EXPR:
    7776            0 :                       {
    7777            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    7778            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
    7779            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    7780              :                           {
    7781            0 :                             if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    7782              :                               {
    7783            0 :                                 {
    7784            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7785            0 :                                   tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
    7786            0 :                                   if (res) return res;
    7787              :                                 }
    7788              :                               }
    7789              :                           }
    7790              :                         break;
    7791              :                       }
    7792              :                     default:;
    7793              :                     }
    7794              :                 }
    7795              :               break;
    7796              :             }
    7797              :           default:;
    7798              :           }
    7799              :         break;
    7800              :       }
    7801            0 :     case CEIL_MOD_EXPR:
    7802            0 :       {
    7803            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7804            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7805            0 :         switch (TREE_CODE (_p1))
    7806              :           {
    7807            0 :           case MULT_EXPR:
    7808            0 :             {
    7809            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7810            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7811            0 :               switch (TREE_CODE (_q50))
    7812              :                 {
    7813            0 :                 case CEIL_DIV_EXPR:
    7814            0 :                   {
    7815            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    7816            0 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    7817            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7818              :                       {
    7819            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    7820              :                           {
    7821            0 :                             if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7822              :                               {
    7823            0 :                                 {
    7824            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7825            0 :                                   tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
    7826            0 :                                   if (res) return res;
    7827              :                                 }
    7828              :                               }
    7829              :                           }
    7830              :                       }
    7831              :                     break;
    7832              :                   }
    7833            0 :                 default:;
    7834              :                 }
    7835            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7836              :                 {
    7837            0 :                   switch (TREE_CODE (_q51))
    7838              :                     {
    7839            0 :                     case CEIL_DIV_EXPR:
    7840            0 :                       {
    7841            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    7842            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
    7843            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    7844              :                           {
    7845            0 :                             if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    7846              :                               {
    7847            0 :                                 {
    7848            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7849            0 :                                   tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
    7850            0 :                                   if (res) return res;
    7851              :                                 }
    7852              :                               }
    7853              :                           }
    7854              :                         break;
    7855              :                       }
    7856              :                     default:;
    7857              :                     }
    7858              :                 }
    7859              :               break;
    7860              :             }
    7861              :           default:;
    7862              :           }
    7863              :         break;
    7864              :       }
    7865          126 :     case FLOOR_MOD_EXPR:
    7866          126 :       {
    7867          126 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7868          126 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7869          126 :         switch (TREE_CODE (_p1))
    7870              :           {
    7871            0 :           case MULT_EXPR:
    7872            0 :             {
    7873            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7874            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7875            0 :               switch (TREE_CODE (_q50))
    7876              :                 {
    7877            0 :                 case FLOOR_DIV_EXPR:
    7878            0 :                   {
    7879            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    7880            0 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    7881            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7882              :                       {
    7883            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    7884              :                           {
    7885            0 :                             if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7886              :                               {
    7887            0 :                                 {
    7888            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7889            0 :                                   tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
    7890            0 :                                   if (res) return res;
    7891              :                                 }
    7892              :                               }
    7893              :                           }
    7894              :                       }
    7895              :                     break;
    7896              :                   }
    7897            0 :                 default:;
    7898              :                 }
    7899            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7900              :                 {
    7901            0 :                   switch (TREE_CODE (_q51))
    7902              :                     {
    7903            0 :                     case FLOOR_DIV_EXPR:
    7904            0 :                       {
    7905            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    7906            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
    7907            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    7908              :                           {
    7909            0 :                             if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    7910              :                               {
    7911            0 :                                 {
    7912            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7913            0 :                                   tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
    7914            0 :                                   if (res) return res;
    7915              :                                 }
    7916              :                               }
    7917              :                           }
    7918              :                         break;
    7919              :                       }
    7920              :                     default:;
    7921              :                     }
    7922              :                 }
    7923              :               break;
    7924              :             }
    7925              :           default:;
    7926              :           }
    7927              :         break;
    7928              :       }
    7929            0 :     case ROUND_MOD_EXPR:
    7930            0 :       {
    7931            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7932            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7933            0 :         switch (TREE_CODE (_p1))
    7934              :           {
    7935            0 :           case MULT_EXPR:
    7936            0 :             {
    7937            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7938            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7939            0 :               switch (TREE_CODE (_q50))
    7940              :                 {
    7941            0 :                 case ROUND_DIV_EXPR:
    7942            0 :                   {
    7943            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    7944            0 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    7945            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7946              :                       {
    7947            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    7948              :                           {
    7949            0 :                             if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7950              :                               {
    7951            0 :                                 {
    7952            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7953            0 :                                   tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
    7954            0 :                                   if (res) return res;
    7955              :                                 }
    7956              :                               }
    7957              :                           }
    7958              :                       }
    7959              :                     break;
    7960              :                   }
    7961            0 :                 default:;
    7962              :                 }
    7963            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7964              :                 {
    7965            0 :                   switch (TREE_CODE (_q51))
    7966              :                     {
    7967            0 :                     case ROUND_DIV_EXPR:
    7968            0 :                       {
    7969            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    7970            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
    7971            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    7972              :                           {
    7973            0 :                             if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    7974              :                               {
    7975            0 :                                 {
    7976            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7977            0 :                                   tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
    7978            0 :                                   if (res) return res;
    7979              :                                 }
    7980              :                               }
    7981              :                           }
    7982              :                         break;
    7983              :                       }
    7984              :                     default:;
    7985              :                     }
    7986              :                 }
    7987              :               break;
    7988              :             }
    7989              :           default:;
    7990              :           }
    7991              :         break;
    7992              :       }
    7993     65574438 :     default:;
    7994              :     }
    7995     65574438 :   switch (TREE_CODE (_p1))
    7996              :     {
    7997      3195837 :     case REAL_CST:
    7998      3195837 :       {
    7999      3195837 :         {
    8000      3195837 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8001      3195837 :           if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
    8002              : )
    8003              :             {
    8004       118433 :               {
    8005       118433 :  tree tem = const_unop (NEGATE_EXPR, type, captures[1]);
    8006       118433 :                   if (!TREE_OVERFLOW (tem) || !flag_trapping_math
    8007              : )
    8008              :                     {
    8009       118433 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1306;
    8010       118433 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1306;
    8011       118433 :                       {
    8012       118433 :                         tree res_op0;
    8013       118433 :                         res_op0 = captures[0];
    8014       118433 :                         tree res_op1;
    8015       118433 :                         res_op1 =  tem;
    8016       118433 :                         tree _r;
    8017       118433 :                         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    8018       118433 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 945, __FILE__, __LINE__, true);
    8019              :                         return _r;
    8020              :                       }
    8021     65456005 : next_after_fail1306:;
    8022              :                     }
    8023              :               }
    8024              :             }
    8025              :         }
    8026              :         break;
    8027              :       }
    8028     65456005 :     default:;
    8029              :     }
    8030     65456005 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8031              :     {
    8032      1585814 :       {
    8033      1585814 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8034      1585814 :         if (SCALAR_FLOAT_TYPE_P (type)
    8035              : )
    8036              :           {
    8037          731 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1307;
    8038          731 :             {
    8039          731 :               tree res_op0;
    8040          731 :               res_op0 = captures[0];
    8041          731 :               tree res_op1;
    8042          731 :               res_op1 =  build_real (type, dconst2);
    8043          731 :               tree _r;
    8044          731 :               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    8045          731 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 946, __FILE__, __LINE__, true);
    8046     99376822 :               return _r;
    8047              :             }
    8048            0 : next_after_fail1307:;
    8049              :           }
    8050              :         else
    8051              :           {
    8052      1585083 :             if (INTEGRAL_TYPE_P (type)
    8053      1585083 :  && TYPE_PRECISION (type) > (2 - TYPE_UNSIGNED (type))
    8054              : )
    8055              :               {
    8056      1584958 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1308;
    8057      1584958 :                 {
    8058      1584958 :                   tree res_op0;
    8059      1584958 :                   res_op0 = captures[0];
    8060      1584958 :                   tree res_op1;
    8061      1584958 :                   res_op1 =  build_int_cst (type, 2);
    8062      1584958 :                   tree _r;
    8063      1584958 :                   _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    8064      1584958 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 947, __FILE__, __LINE__, true);
    8065              :                   return _r;
    8066              :                 }
    8067            0 : next_after_fail1308:;
    8068              :               }
    8069              :           }
    8070              :       }
    8071              :     }
    8072     63870316 :   switch (TREE_CODE (_p0))
    8073              :     {
    8074          144 :     case VEC_COND_EXPR:
    8075          144 :       {
    8076          144 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8077          144 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8078          144 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8079          144 :         switch (TREE_CODE (_p1))
    8080              :           {
    8081           48 :           case VEC_COND_EXPR:
    8082           48 :             {
    8083           48 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8084           48 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8085           48 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8086           48 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    8087              :                 {
    8088           24 :                   {
    8089           24 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    8090           24 :                     if (VECTOR_TYPE_P (type)
    8091              :  && (TREE_CODE_CLASS (PLUS_EXPR) != tcc_comparison
    8092              :  || types_match (type, TREE_TYPE (captures[2]))
    8093              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8094              :  || (optimize_vectors_before_lowering_p ()
    8095              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8096              : )
    8097              :                       {
    8098           24 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1309;
    8099           24 :                         {
    8100           24 :                           tree res_op0;
    8101           24 :                           res_op0 = captures[1];
    8102           24 :                           tree res_op1;
    8103           24 :                           {
    8104           24 :                             tree _o1[2], _r1;
    8105           24 :                             _o1[0] = captures[2];
    8106           24 :                             _o1[1] = captures[5];
    8107           24 :                             _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    8108           24 :                             if (EXPR_P (_r1))
    8109            0 :                               goto next_after_fail1309;
    8110           24 :                             res_op1 = _r1;
    8111              :                           }
    8112           24 :                           tree res_op2;
    8113           24 :                           {
    8114           24 :                             tree _o1[2], _r1;
    8115           24 :                             _o1[0] = captures[3];
    8116           24 :                             _o1[1] = captures[6];
    8117           24 :                             _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    8118           24 :                             if (EXPR_P (_r1))
    8119            0 :                               goto next_after_fail1309;
    8120           24 :                             res_op2 = _r1;
    8121              :                           }
    8122           24 :                           tree _r;
    8123           24 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8124           24 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 938, __FILE__, __LINE__, true);
    8125              :                           return _r;
    8126              :                         }
    8127          120 : next_after_fail1309:;
    8128              :                       }
    8129              :                   }
    8130              :                 }
    8131              :               break;
    8132              :             }
    8133          120 :           default:;
    8134              :           }
    8135          120 :         {
    8136          120 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    8137          120 :           if (VECTOR_TYPE_P (type)
    8138              :  && (TREE_CODE_CLASS (PLUS_EXPR) != tcc_comparison
    8139              :  || types_match (type, TREE_TYPE (captures[2]))
    8140              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8141              :  || (optimize_vectors_before_lowering_p ()
    8142              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8143              : )
    8144              :             {
    8145          120 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1310;
    8146          120 :               {
    8147          120 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1310;
    8148           26 :                 tree res_op0;
    8149           26 :                 res_op0 = captures[1];
    8150           26 :                 tree res_op1;
    8151           26 :                 {
    8152           26 :                   tree _o1[2], _r1;
    8153           26 :                   _o1[0] = captures[2];
    8154           26 :                   _o1[1] = unshare_expr (captures[4]);
    8155           26 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    8156           26 :                   if (EXPR_P (_r1))
    8157            0 :                     goto next_after_fail1310;
    8158           26 :                   res_op1 = _r1;
    8159              :                 }
    8160           26 :                 tree res_op2;
    8161           26 :                 {
    8162           26 :                   tree _o1[2], _r1;
    8163           26 :                   _o1[0] = captures[3];
    8164           26 :                   _o1[1] = captures[4];
    8165           26 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    8166           26 :                   if (EXPR_P (_r1))
    8167            0 :                     goto next_after_fail1310;
    8168           26 :                   res_op2 = _r1;
    8169              :                 }
    8170           26 :                 tree _r;
    8171           26 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8172           26 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
    8173              :                 return _r;
    8174              :               }
    8175           94 : next_after_fail1310:;
    8176              :             }
    8177              :         }
    8178           94 :         if (integer_each_onep (_q21))
    8179              :           {
    8180            0 :             if (integer_zerop (_q22))
    8181              :               {
    8182            0 :                 {
    8183            0 :                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p0, _q20, _q21, _q22 };
    8184            0 :                   tree res = generic_simplify_81 (loc, type, _p0, _p1, captures);
    8185            0 :                   if (res) return res;
    8186              :                 }
    8187              :               }
    8188              :           }
    8189              :         break;
    8190              :       }
    8191     63870266 :     default:;
    8192              :     }
    8193     63870266 :   switch (TREE_CODE (_p1))
    8194              :     {
    8195           40 :     case VEC_COND_EXPR:
    8196           40 :       {
    8197           40 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8198           40 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8199           40 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8200           40 :         {
    8201           40 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8202           40 :           if (VECTOR_TYPE_P (type)
    8203              :  && (TREE_CODE_CLASS (PLUS_EXPR) != tcc_comparison
    8204              :  || types_match (type, TREE_TYPE (captures[3]))
    8205              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    8206              :  || (optimize_vectors_before_lowering_p ()
    8207              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    8208              : )
    8209              :             {
    8210           40 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1311;
    8211           40 :               {
    8212           40 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1311;
    8213            0 :                 tree res_op0;
    8214            0 :                 res_op0 = captures[2];
    8215            0 :                 tree res_op1;
    8216            0 :                 {
    8217            0 :                   tree _o1[2], _r1;
    8218            0 :                   _o1[0] = unshare_expr (captures[0]);
    8219            0 :                   _o1[1] = captures[3];
    8220            0 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    8221            0 :                   if (EXPR_P (_r1))
    8222            0 :                     goto next_after_fail1311;
    8223            0 :                   res_op1 = _r1;
    8224              :                 }
    8225            0 :                 tree res_op2;
    8226            0 :                 {
    8227            0 :                   tree _o1[2], _r1;
    8228            0 :                   _o1[0] = captures[0];
    8229            0 :                   _o1[1] = captures[4];
    8230            0 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    8231            0 :                   if (EXPR_P (_r1))
    8232            0 :                     goto next_after_fail1311;
    8233            0 :                   res_op2 = _r1;
    8234              :                 }
    8235            0 :                 tree _r;
    8236            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8237            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
    8238              :                 return _r;
    8239              :               }
    8240     63870266 : next_after_fail1311:;
    8241              :             }
    8242              :         }
    8243              :         break;
    8244              :       }
    8245       333835 :     case VIEW_CONVERT_EXPR:
    8246       333835 :       {
    8247       333835 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8248       333835 :         switch (TREE_CODE (_q30))
    8249              :           {
    8250            0 :           case VEC_COND_EXPR:
    8251            0 :             {
    8252            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    8253            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    8254            0 :               tree _q42 = TREE_OPERAND (_q30, 2);
    8255            0 :               if (integer_each_onep (_q41))
    8256              :                 {
    8257            0 :                   if (integer_zerop (_q42))
    8258              :                     {
    8259            0 :                       {
    8260            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42 };
    8261            0 :                         tree res = generic_simplify_81 (loc, type, _p0, _p1, captures);
    8262            0 :                         if (res) return res;
    8263              :                       }
    8264              :                     }
    8265              :                 }
    8266              :               break;
    8267              :             }
    8268              :           default:;
    8269              :           }
    8270              :         break;
    8271              :       }
    8272     63870266 :     default:;
    8273              :     }
    8274     63870266 :   switch (TREE_CODE (_p0))
    8275              :     {
    8276       322361 :     case VIEW_CONVERT_EXPR:
    8277       322361 :       {
    8278       322361 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8279       322361 :         switch (TREE_CODE (_q20))
    8280              :           {
    8281            0 :           case VEC_COND_EXPR:
    8282            0 :             {
    8283            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8284            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8285            0 :               tree _q32 = TREE_OPERAND (_q20, 2);
    8286            0 :               if (integer_each_onep (_q31))
    8287              :                 {
    8288            0 :                   if (integer_zerop (_q32))
    8289              :                     {
    8290            0 :                       {
    8291            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q30, _q31, _q32 };
    8292            0 :                         tree res = generic_simplify_81 (loc, type, _p0, _p1, captures);
    8293            0 :                         if (res) return res;
    8294              :                       }
    8295              :                     }
    8296              :                 }
    8297              :               break;
    8298              :             }
    8299              :           default:;
    8300              :           }
    8301              :         break;
    8302              :       }
    8303     63870266 :     default:;
    8304              :     }
    8305     63870266 :   switch (TREE_CODE (_p1))
    8306              :     {
    8307           40 :     case VEC_COND_EXPR:
    8308           40 :       {
    8309           40 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8310           40 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8311           40 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8312           40 :         if (integer_each_onep (_q31))
    8313              :           {
    8314            0 :             if (integer_zerop (_q32))
    8315              :               {
    8316            0 :                 {
    8317            0 :                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8318            0 :                   tree res = generic_simplify_81 (loc, type, _p0, _p1, captures);
    8319            0 :                   if (res) return res;
    8320              :                 }
    8321              :               }
    8322              :           }
    8323              :         break;
    8324              :       }
    8325     63870266 :     default:;
    8326              :     }
    8327     63870266 :   switch (TREE_CODE (_p0))
    8328              :     {
    8329     18096493 :     CASE_CONVERT:
    8330     18096493 :       {
    8331     18096493 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8332     18096493 :         switch (TREE_CODE (_q20))
    8333              :           {
    8334            0 :           case LT_EXPR:
    8335            0 :             {
    8336            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8337            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8338            0 :               if (integer_minus_onep (_p1))
    8339              :                 {
    8340            0 :                   {
    8341            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    8342            0 :                     tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    8343            0 :                     if (res) return res;
    8344              :                   }
    8345              :                 }
    8346              :               break;
    8347              :             }
    8348            0 :           case LE_EXPR:
    8349            0 :             {
    8350            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8351            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8352            0 :               if (integer_minus_onep (_p1))
    8353              :                 {
    8354            0 :                   {
    8355            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    8356            0 :                     tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    8357            0 :                     if (res) return res;
    8358              :                   }
    8359              :                 }
    8360              :               break;
    8361              :             }
    8362           79 :           case EQ_EXPR:
    8363           79 :             {
    8364           79 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8365           79 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8366           79 :               if (integer_minus_onep (_p1))
    8367              :                 {
    8368            0 :                   {
    8369            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    8370            0 :                     tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    8371            0 :                     if (res) return res;
    8372              :                   }
    8373              :                 }
    8374              :               break;
    8375              :             }
    8376          224 :           case NE_EXPR:
    8377          224 :             {
    8378          224 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8379          224 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8380          224 :               if (integer_minus_onep (_p1))
    8381              :                 {
    8382            0 :                   {
    8383            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    8384            0 :                     tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    8385            0 :                     if (res) return res;
    8386              :                   }
    8387              :                 }
    8388              :               break;
    8389              :             }
    8390           12 :           case GE_EXPR:
    8391           12 :             {
    8392           12 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8393           12 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8394           12 :               if (integer_minus_onep (_p1))
    8395              :                 {
    8396            0 :                   {
    8397            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    8398            0 :                     tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    8399            0 :                     if (res) return res;
    8400              :                   }
    8401              :                 }
    8402              :               break;
    8403              :             }
    8404            1 :           case GT_EXPR:
    8405            1 :             {
    8406            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8407            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8408            1 :               if (integer_minus_onep (_p1))
    8409              :                 {
    8410            0 :                   {
    8411            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    8412            0 :                     tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    8413            0 :                     if (res) return res;
    8414              :                   }
    8415              :                 }
    8416              :               break;
    8417              :             }
    8418            0 :           case UNORDERED_EXPR:
    8419            0 :             {
    8420            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8421            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8422            0 :               if (integer_minus_onep (_p1))
    8423              :                 {
    8424            0 :                   {
    8425            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    8426            0 :                     tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    8427            0 :                     if (res) return res;
    8428              :                   }
    8429              :                 }
    8430              :               break;
    8431              :             }
    8432            0 :           case ORDERED_EXPR:
    8433            0 :             {
    8434            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8435            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8436            0 :               if (integer_minus_onep (_p1))
    8437              :                 {
    8438            0 :                   {
    8439            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    8440            0 :                     tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    8441            0 :                     if (res) return res;
    8442              :                   }
    8443              :                 }
    8444              :               break;
    8445              :             }
    8446            0 :           case UNLT_EXPR:
    8447            0 :             {
    8448            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8449            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8450            0 :               if (integer_minus_onep (_p1))
    8451              :                 {
    8452            0 :                   {
    8453            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    8454            0 :                     tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    8455            0 :                     if (res) return res;
    8456              :                   }
    8457              :                 }
    8458              :               break;
    8459              :             }
    8460            0 :           case UNLE_EXPR:
    8461            0 :             {
    8462            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8463            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8464            0 :               if (integer_minus_onep (_p1))
    8465              :                 {
    8466            0 :                   {
    8467            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    8468            0 :                     tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    8469            0 :                     if (res) return res;
    8470              :                   }
    8471              :                 }
    8472              :               break;
    8473              :             }
    8474            0 :           case UNGT_EXPR:
    8475            0 :             {
    8476            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8477            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8478            0 :               if (integer_minus_onep (_p1))
    8479              :                 {
    8480            0 :                   {
    8481            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    8482            0 :                     tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    8483            0 :                     if (res) return res;
    8484              :                   }
    8485              :                 }
    8486              :               break;
    8487              :             }
    8488            0 :           case UNGE_EXPR:
    8489            0 :             {
    8490            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8491            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8492            0 :               if (integer_minus_onep (_p1))
    8493              :                 {
    8494            0 :                   {
    8495            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    8496            0 :                     tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    8497            0 :                     if (res) return res;
    8498              :                   }
    8499              :                 }
    8500              :               break;
    8501              :             }
    8502            0 :           case UNEQ_EXPR:
    8503            0 :             {
    8504            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8505            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8506            0 :               if (integer_minus_onep (_p1))
    8507              :                 {
    8508            0 :                   {
    8509            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    8510            0 :                     tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    8511            0 :                     if (res) return res;
    8512              :                   }
    8513              :                 }
    8514              :               break;
    8515              :             }
    8516            0 :           case LTGT_EXPR:
    8517            0 :             {
    8518            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8519            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8520            0 :               if (integer_minus_onep (_p1))
    8521              :                 {
    8522            0 :                   {
    8523            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    8524            0 :                     tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    8525            0 :                     if (res) return res;
    8526              :                   }
    8527              :                 }
    8528              :               break;
    8529              :             }
    8530              :           default:;
    8531              :           }
    8532              :         break;
    8533              :       }
    8534          155 :     case LT_EXPR:
    8535          155 :       {
    8536          155 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8537          155 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8538          155 :         if (integer_minus_onep (_p1))
    8539              :           {
    8540            0 :             {
    8541            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8542            0 :               tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    8543            0 :               if (res) return res;
    8544              :             }
    8545              :           }
    8546              :         break;
    8547              :       }
    8548           64 :     case LE_EXPR:
    8549           64 :       {
    8550           64 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8551           64 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8552           64 :         if (integer_minus_onep (_p1))
    8553              :           {
    8554            0 :             {
    8555            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8556            0 :               tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    8557            0 :               if (res) return res;
    8558              :             }
    8559              :           }
    8560              :         break;
    8561              :       }
    8562        28917 :     case EQ_EXPR:
    8563        28917 :       {
    8564        28917 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8565        28917 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8566        28917 :         if (integer_minus_onep (_p1))
    8567              :           {
    8568           23 :             {
    8569           23 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8570           23 :               tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    8571           23 :               if (res) return res;
    8572              :             }
    8573              :           }
    8574              :         break;
    8575              :       }
    8576         1683 :     case NE_EXPR:
    8577         1683 :       {
    8578         1683 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8579         1683 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8580         1683 :         if (integer_minus_onep (_p1))
    8581              :           {
    8582           33 :             {
    8583           33 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8584           33 :               tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    8585           33 :               if (res) return res;
    8586              :             }
    8587              :           }
    8588              :         break;
    8589              :       }
    8590           35 :     case GE_EXPR:
    8591           35 :       {
    8592           35 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8593           35 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8594           35 :         if (integer_minus_onep (_p1))
    8595              :           {
    8596            0 :             {
    8597            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8598            0 :               tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    8599            0 :               if (res) return res;
    8600              :             }
    8601              :           }
    8602              :         break;
    8603              :       }
    8604          103 :     case GT_EXPR:
    8605          103 :       {
    8606          103 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8607          103 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8608          103 :         if (integer_minus_onep (_p1))
    8609              :           {
    8610            0 :             {
    8611            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8612            0 :               tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    8613            0 :               if (res) return res;
    8614              :             }
    8615              :           }
    8616              :         break;
    8617              :       }
    8618            0 :     case UNORDERED_EXPR:
    8619            0 :       {
    8620            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8621            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8622            0 :         if (integer_minus_onep (_p1))
    8623              :           {
    8624            0 :             {
    8625            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8626            0 :               tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    8627            0 :               if (res) return res;
    8628              :             }
    8629              :           }
    8630              :         break;
    8631              :       }
    8632            0 :     case ORDERED_EXPR:
    8633            0 :       {
    8634            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8635            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8636            0 :         if (integer_minus_onep (_p1))
    8637              :           {
    8638            0 :             {
    8639            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8640            0 :               tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    8641            0 :               if (res) return res;
    8642              :             }
    8643              :           }
    8644              :         break;
    8645              :       }
    8646            0 :     case UNLT_EXPR:
    8647            0 :       {
    8648            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8649            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8650            0 :         if (integer_minus_onep (_p1))
    8651              :           {
    8652            0 :             {
    8653            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8654            0 :               tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    8655            0 :               if (res) return res;
    8656              :             }
    8657              :           }
    8658              :         break;
    8659              :       }
    8660            0 :     case UNLE_EXPR:
    8661            0 :       {
    8662            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8663            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8664            0 :         if (integer_minus_onep (_p1))
    8665              :           {
    8666            0 :             {
    8667            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8668            0 :               tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    8669            0 :               if (res) return res;
    8670              :             }
    8671              :           }
    8672              :         break;
    8673              :       }
    8674            0 :     case UNGT_EXPR:
    8675            0 :       {
    8676            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8677            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8678            0 :         if (integer_minus_onep (_p1))
    8679              :           {
    8680            0 :             {
    8681            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8682            0 :               tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    8683            0 :               if (res) return res;
    8684              :             }
    8685              :           }
    8686              :         break;
    8687              :       }
    8688            0 :     case UNGE_EXPR:
    8689            0 :       {
    8690            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8691            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8692            0 :         if (integer_minus_onep (_p1))
    8693              :           {
    8694            0 :             {
    8695            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8696            0 :               tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    8697            0 :               if (res) return res;
    8698              :             }
    8699              :           }
    8700              :         break;
    8701              :       }
    8702            0 :     case UNEQ_EXPR:
    8703            0 :       {
    8704            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8705            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8706            0 :         if (integer_minus_onep (_p1))
    8707              :           {
    8708            0 :             {
    8709            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8710            0 :               tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    8711            0 :               if (res) return res;
    8712              :             }
    8713              :           }
    8714              :         break;
    8715              :       }
    8716            0 :     case LTGT_EXPR:
    8717            0 :       {
    8718            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8719            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8720            0 :         if (integer_minus_onep (_p1))
    8721              :           {
    8722            0 :             {
    8723            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8724            0 :               tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    8725            0 :               if (res) return res;
    8726              :             }
    8727              :           }
    8728              :         break;
    8729              :       }
    8730       543469 :     case RDIV_EXPR:
    8731       543469 :       {
    8732       543469 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8733       543469 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8734       543469 :         switch (TREE_CODE (_p1))
    8735              :           {
    8736       115800 :           case RDIV_EXPR:
    8737       115800 :             {
    8738       115800 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8739       115800 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8740       115800 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8741              :                 {
    8742          127 :                   {
    8743          127 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    8744          127 :                     tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8745          127 :                     if (res) return res;
    8746              :                   }
    8747              :                 }
    8748              :               break;
    8749              :             }
    8750              :           default:;
    8751              :           }
    8752              :         break;
    8753              :       }
    8754      1700155 :     case MINUS_EXPR:
    8755      1700155 :       {
    8756      1700155 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8757      1700155 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8758      1700155 :         switch (TREE_CODE (_q20))
    8759              :           {
    8760           41 :           case CALL_EXPR:
    8761           41 :             switch (get_call_combined_fn (_q20))
    8762              :               {
    8763            4 :               case CFN_BUILT_IN_POPCOUNT:
    8764            4 :                 if (call_expr_nargs (_q20) == 1)
    8765              :     {
    8766            4 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    8767            4 :                     switch (TREE_CODE (_q21))
    8768              :                       {
    8769            4 :                       case CALL_EXPR:
    8770            4 :                         switch (get_call_combined_fn (_q21))
    8771              :                           {
    8772            4 :                           case CFN_BUILT_IN_POPCOUNT:
    8773            4 :                             if (call_expr_nargs (_q21) == 1)
    8774              :     {
    8775            4 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    8776            4 :                                 switch (TREE_CODE (_q50))
    8777              :                                   {
    8778            2 :                                   case BIT_AND_EXPR:
    8779            2 :                                     {
    8780            2 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8781            2 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8782            2 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8783              :                                         {
    8784            1 :                                           switch (TREE_CODE (_p1))
    8785              :                                             {
    8786            1 :                                             case CALL_EXPR:
    8787            1 :                                               switch (get_call_combined_fn (_p1))
    8788              :                                                 {
    8789            1 :                                                 case CFN_BUILT_IN_POPCOUNT:
    8790            1 :                                                   if (call_expr_nargs (_p1) == 1)
    8791              :     {
    8792            1 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8793            1 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8794              :                                                         {
    8795            1 :                                                           {
    8796            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8797            1 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNT);
    8798            1 :                                                             if (res) return res;
    8799              :                                                           }
    8800              :                                                         }
    8801              :                                                     }
    8802              :                                                   break;
    8803              :                                                 default:;
    8804              :                                                 }
    8805              :                                               break;
    8806              :                                             default:;
    8807              :                                             }
    8808              :                                         }
    8809            1 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8810              :                                         {
    8811            1 :                                           switch (TREE_CODE (_p1))
    8812              :                                             {
    8813            1 :                                             case CALL_EXPR:
    8814            1 :                                               switch (get_call_combined_fn (_p1))
    8815              :                                                 {
    8816            1 :                                                 case CFN_BUILT_IN_POPCOUNT:
    8817            1 :                                                   if (call_expr_nargs (_p1) == 1)
    8818              :     {
    8819            1 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8820            1 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8821              :                                                         {
    8822            1 :                                                           {
    8823            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8824            1 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNT);
    8825            1 :                                                             if (res) return res;
    8826              :                                                           }
    8827              :                                                         }
    8828              :                                                     }
    8829              :                                                   break;
    8830              :                                                 default:;
    8831              :                                                 }
    8832              :                                               break;
    8833              :                                             default:;
    8834              :                                             }
    8835              :                                         }
    8836              :                                       break;
    8837              :                                     }
    8838            2 :                                   case BIT_IOR_EXPR:
    8839            2 :                                     {
    8840            2 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8841            2 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8842            2 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8843              :                                         {
    8844            1 :                                           switch (TREE_CODE (_p1))
    8845              :                                             {
    8846            1 :                                             case CALL_EXPR:
    8847            1 :                                               switch (get_call_combined_fn (_p1))
    8848              :                                                 {
    8849            1 :                                                 case CFN_BUILT_IN_POPCOUNT:
    8850            1 :                                                   if (call_expr_nargs (_p1) == 1)
    8851              :     {
    8852            1 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8853            1 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8854              :                                                         {
    8855            1 :                                                           {
    8856            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8857            1 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNT);
    8858            1 :                                                             if (res) return res;
    8859              :                                                           }
    8860              :                                                         }
    8861              :                                                     }
    8862              :                                                   break;
    8863              :                                                 default:;
    8864              :                                                 }
    8865              :                                               break;
    8866              :                                             default:;
    8867              :                                             }
    8868              :                                         }
    8869            1 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8870              :                                         {
    8871            1 :                                           switch (TREE_CODE (_p1))
    8872              :                                             {
    8873            1 :                                             case CALL_EXPR:
    8874            1 :                                               switch (get_call_combined_fn (_p1))
    8875              :                                                 {
    8876            1 :                                                 case CFN_BUILT_IN_POPCOUNT:
    8877            1 :                                                   if (call_expr_nargs (_p1) == 1)
    8878              :     {
    8879            1 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8880            1 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8881              :                                                         {
    8882            1 :                                                           {
    8883            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8884            1 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNT);
    8885            1 :                                                             if (res) return res;
    8886              :                                                           }
    8887              :                                                         }
    8888              :                                                     }
    8889              :                                                   break;
    8890              :                                                 default:;
    8891              :                                                 }
    8892              :                                               break;
    8893              :                                             default:;
    8894              :                                             }
    8895              :                                         }
    8896              :                                       break;
    8897              :                                     }
    8898              :                                   default:;
    8899              :                                   }
    8900              :                               }
    8901              :                             break;
    8902              :                           default:;
    8903              :                           }
    8904              :                         break;
    8905              :                       default:;
    8906              :                       }
    8907              :                   }
    8908              :                 break;
    8909            0 :               case CFN_BUILT_IN_POPCOUNTLL:
    8910            0 :                 if (call_expr_nargs (_q20) == 1)
    8911              :     {
    8912            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    8913            0 :                     switch (TREE_CODE (_q21))
    8914              :                       {
    8915            0 :                       case CALL_EXPR:
    8916            0 :                         switch (get_call_combined_fn (_q21))
    8917              :                           {
    8918            0 :                           case CFN_BUILT_IN_POPCOUNTLL:
    8919            0 :                             if (call_expr_nargs (_q21) == 1)
    8920              :     {
    8921            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    8922            0 :                                 switch (TREE_CODE (_q50))
    8923              :                                   {
    8924            0 :                                   case BIT_AND_EXPR:
    8925            0 :                                     {
    8926            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8927            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8928            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8929              :                                         {
    8930            0 :                                           switch (TREE_CODE (_p1))
    8931              :                                             {
    8932            0 :                                             case CALL_EXPR:
    8933            0 :                                               switch (get_call_combined_fn (_p1))
    8934              :                                                 {
    8935            0 :                                                 case CFN_BUILT_IN_POPCOUNTLL:
    8936            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8937              :     {
    8938            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8939            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8940              :                                                         {
    8941            0 :                                                           {
    8942            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8943            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    8944            0 :                                                             if (res) return res;
    8945              :                                                           }
    8946              :                                                         }
    8947              :                                                     }
    8948              :                                                   break;
    8949              :                                                 default:;
    8950              :                                                 }
    8951              :                                               break;
    8952              :                                             default:;
    8953              :                                             }
    8954              :                                         }
    8955            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8956              :                                         {
    8957            0 :                                           switch (TREE_CODE (_p1))
    8958              :                                             {
    8959            0 :                                             case CALL_EXPR:
    8960            0 :                                               switch (get_call_combined_fn (_p1))
    8961              :                                                 {
    8962            0 :                                                 case CFN_BUILT_IN_POPCOUNTLL:
    8963            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8964              :     {
    8965            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8966            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8967              :                                                         {
    8968            0 :                                                           {
    8969            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8970            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    8971            0 :                                                             if (res) return res;
    8972              :                                                           }
    8973              :                                                         }
    8974              :                                                     }
    8975              :                                                   break;
    8976              :                                                 default:;
    8977              :                                                 }
    8978              :                                               break;
    8979              :                                             default:;
    8980              :                                             }
    8981              :                                         }
    8982              :                                       break;
    8983              :                                     }
    8984            0 :                                   case BIT_IOR_EXPR:
    8985            0 :                                     {
    8986            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8987            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8988            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8989              :                                         {
    8990            0 :                                           switch (TREE_CODE (_p1))
    8991              :                                             {
    8992            0 :                                             case CALL_EXPR:
    8993            0 :                                               switch (get_call_combined_fn (_p1))
    8994              :                                                 {
    8995            0 :                                                 case CFN_BUILT_IN_POPCOUNTLL:
    8996            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8997              :     {
    8998            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8999            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    9000              :                                                         {
    9001            0 :                                                           {
    9002            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    9003            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    9004            0 :                                                             if (res) return res;
    9005              :                                                           }
    9006              :                                                         }
    9007              :                                                     }
    9008              :                                                   break;
    9009              :                                                 default:;
    9010              :                                                 }
    9011              :                                               break;
    9012              :                                             default:;
    9013              :                                             }
    9014              :                                         }
    9015            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    9016              :                                         {
    9017            0 :                                           switch (TREE_CODE (_p1))
    9018              :                                             {
    9019            0 :                                             case CALL_EXPR:
    9020            0 :                                               switch (get_call_combined_fn (_p1))
    9021              :                                                 {
    9022            0 :                                                 case CFN_BUILT_IN_POPCOUNTLL:
    9023            0 :                                                   if (call_expr_nargs (_p1) == 1)
    9024              :     {
    9025            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    9026            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    9027              :                                                         {
    9028            0 :                                                           {
    9029            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    9030            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    9031            0 :                                                             if (res) return res;
    9032              :                                                           }
    9033              :                                                         }
    9034              :                                                     }
    9035              :                                                   break;
    9036              :                                                 default:;
    9037              :                                                 }
    9038              :                                               break;
    9039              :                                             default:;
    9040              :                                             }
    9041              :                                         }
    9042              :                                       break;
    9043              :                                     }
    9044              :                                   default:;
    9045              :                                   }
    9046              :                               }
    9047              :                             break;
    9048              :                           default:;
    9049              :                           }
    9050              :                         break;
    9051              :                       default:;
    9052              :                       }
    9053              :                   }
    9054              :                 break;
    9055            0 :               case CFN_POPCOUNT:
    9056            0 :                 if (call_expr_nargs (_q20) == 1)
    9057              :     {
    9058            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    9059            0 :                     switch (TREE_CODE (_q21))
    9060              :                       {
    9061            0 :                       case CALL_EXPR:
    9062            0 :                         switch (get_call_combined_fn (_q21))
    9063              :                           {
    9064            0 :                           case CFN_POPCOUNT:
    9065            0 :                             if (call_expr_nargs (_q21) == 1)
    9066              :     {
    9067            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    9068            0 :                                 switch (TREE_CODE (_q50))
    9069              :                                   {
    9070            0 :                                   case BIT_AND_EXPR:
    9071            0 :                                     {
    9072            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    9073            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    9074            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    9075              :                                         {
    9076            0 :                                           switch (TREE_CODE (_p1))
    9077              :                                             {
    9078            0 :                                             case CALL_EXPR:
    9079            0 :                                               switch (get_call_combined_fn (_p1))
    9080              :                                                 {
    9081            0 :                                                 case CFN_POPCOUNT:
    9082            0 :                                                   if (call_expr_nargs (_p1) == 1)
    9083              :     {
    9084            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    9085            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    9086              :                                                         {
    9087            0 :                                                           {
    9088            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    9089            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_POPCOUNT);
    9090            0 :                                                             if (res) return res;
    9091              :                                                           }
    9092              :                                                         }
    9093              :                                                     }
    9094              :                                                   break;
    9095              :                                                 default:;
    9096              :                                                 }
    9097              :                                               break;
    9098              :                                             default:;
    9099              :                                             }
    9100              :                                         }
    9101            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    9102              :                                         {
    9103            0 :                                           switch (TREE_CODE (_p1))
    9104              :                                             {
    9105            0 :                                             case CALL_EXPR:
    9106            0 :                                               switch (get_call_combined_fn (_p1))
    9107              :                                                 {
    9108            0 :                                                 case CFN_POPCOUNT:
    9109            0 :                                                   if (call_expr_nargs (_p1) == 1)
    9110              :     {
    9111            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    9112            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    9113              :                                                         {
    9114            0 :                                                           {
    9115            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    9116            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_POPCOUNT);
    9117            0 :                                                             if (res) return res;
    9118              :                                                           }
    9119              :                                                         }
    9120              :                                                     }
    9121              :                                                   break;
    9122              :                                                 default:;
    9123              :                                                 }
    9124              :                                               break;
    9125              :                                             default:;
    9126              :                                             }
    9127              :                                         }
    9128              :                                       break;
    9129              :                                     }
    9130            0 :                                   case BIT_IOR_EXPR:
    9131            0 :                                     {
    9132            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    9133            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    9134            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    9135              :                                         {
    9136            0 :                                           switch (TREE_CODE (_p1))
    9137              :                                             {
    9138            0 :                                             case CALL_EXPR:
    9139            0 :                                               switch (get_call_combined_fn (_p1))
    9140              :                                                 {
    9141            0 :                                                 case CFN_POPCOUNT:
    9142            0 :                                                   if (call_expr_nargs (_p1) == 1)
    9143              :     {
    9144            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    9145            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    9146              :                                                         {
    9147            0 :                                                           {
    9148            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    9149            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_POPCOUNT);
    9150            0 :                                                             if (res) return res;
    9151              :                                                           }
    9152              :                                                         }
    9153              :                                                     }
    9154              :                                                   break;
    9155              :                                                 default:;
    9156              :                                                 }
    9157              :                                               break;
    9158              :                                             default:;
    9159              :                                             }
    9160              :                                         }
    9161            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    9162              :                                         {
    9163            0 :                                           switch (TREE_CODE (_p1))
    9164              :                                             {
    9165            0 :                                             case CALL_EXPR:
    9166            0 :                                               switch (get_call_combined_fn (_p1))
    9167              :                                                 {
    9168            0 :                                                 case CFN_POPCOUNT:
    9169            0 :                                                   if (call_expr_nargs (_p1) == 1)
    9170              :     {
    9171            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    9172            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    9173              :                                                         {
    9174            0 :                                                           {
    9175            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    9176            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_POPCOUNT);
    9177            0 :                                                             if (res) return res;
    9178              :                                                           }
    9179              :                                                         }
    9180              :                                                     }
    9181              :                                                   break;
    9182              :                                                 default:;
    9183              :                                                 }
    9184              :                                               break;
    9185              :                                             default:;
    9186              :                                             }
    9187              :                                         }
    9188              :                                       break;
    9189              :                                     }
    9190              :                                   default:;
    9191              :                                   }
    9192              :                               }
    9193              :                             break;
    9194              :                           default:;
    9195              :                           }
    9196              :                         break;
    9197              :                       default:;
    9198              :                       }
    9199              :                   }
    9200              :                 break;
    9201            0 :               case CFN_BUILT_IN_POPCOUNTIMAX:
    9202            0 :                 if (call_expr_nargs (_q20) == 1)
    9203              :     {
    9204            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    9205            0 :                     switch (TREE_CODE (_q21))
    9206              :                       {
    9207            0 :                       case CALL_EXPR:
    9208            0 :                         switch (get_call_combined_fn (_q21))
    9209              :                           {
    9210            0 :                           case CFN_BUILT_IN_POPCOUNTIMAX:
    9211            0 :                             if (call_expr_nargs (_q21) == 1)
    9212              :     {
    9213            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    9214            0 :                                 switch (TREE_CODE (_q50))
    9215              :                                   {
    9216            0 :                                   case BIT_AND_EXPR:
    9217            0 :                                     {
    9218            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    9219            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    9220            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    9221              :                                         {
    9222            0 :                                           switch (TREE_CODE (_p1))
    9223              :                                             {
    9224            0 :                                             case CALL_EXPR:
    9225            0 :                                               switch (get_call_combined_fn (_p1))
    9226              :                                                 {
    9227            0 :                                                 case CFN_BUILT_IN_POPCOUNTIMAX:
    9228            0 :                                                   if (call_expr_nargs (_p1) == 1)
    9229              :     {
    9230            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    9231            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    9232              :                                                         {
    9233            0 :                                                           {
    9234            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    9235            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    9236            0 :                                                             if (res) return res;
    9237              :                                                           }
    9238              :                                                         }
    9239              :                                                     }
    9240              :                                                   break;
    9241              :                                                 default:;
    9242              :                                                 }
    9243              :                                               break;
    9244              :                                             default:;
    9245              :                                             }
    9246              :                                         }
    9247            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    9248              :                                         {
    9249            0 :                                           switch (TREE_CODE (_p1))
    9250              :                                             {
    9251            0 :                                             case CALL_EXPR:
    9252            0 :                                               switch (get_call_combined_fn (_p1))
    9253              :                                                 {
    9254            0 :                                                 case CFN_BUILT_IN_POPCOUNTIMAX:
    9255            0 :                                                   if (call_expr_nargs (_p1) == 1)
    9256              :     {
    9257            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    9258            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    9259              :                                                         {
    9260            0 :                                                           {
    9261            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    9262            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    9263            0 :                                                             if (res) return res;
    9264              :                                                           }
    9265              :                                                         }
    9266              :                                                     }
    9267              :                                                   break;
    9268              :                                                 default:;
    9269              :                                                 }
    9270              :                                               break;
    9271              :                                             default:;
    9272              :                                             }
    9273              :                                         }
    9274              :                                       break;
    9275              :                                     }
    9276            0 :                                   case BIT_IOR_EXPR:
    9277            0 :                                     {
    9278            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    9279            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    9280            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    9281              :                                         {
    9282            0 :                                           switch (TREE_CODE (_p1))
    9283              :                                             {
    9284            0 :                                             case CALL_EXPR:
    9285            0 :                                               switch (get_call_combined_fn (_p1))
    9286              :                                                 {
    9287            0 :                                                 case CFN_BUILT_IN_POPCOUNTIMAX:
    9288            0 :                                                   if (call_expr_nargs (_p1) == 1)
    9289              :     {
    9290            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    9291            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    9292              :                                                         {
    9293            0 :                                                           {
    9294            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    9295            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    9296            0 :                                                             if (res) return res;
    9297              :                                                           }
    9298              :                                                         }
    9299              :                                                     }
    9300              :                                                   break;
    9301              :                                                 default:;
    9302              :                                                 }
    9303              :                                               break;
    9304              :                                             default:;
    9305              :                                             }
    9306              :                                         }
    9307            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    9308              :                                         {
    9309            0 :                                           switch (TREE_CODE (_p1))
    9310              :                                             {
    9311            0 :                                             case CALL_EXPR:
    9312            0 :                                               switch (get_call_combined_fn (_p1))
    9313              :                                                 {
    9314            0 :                                                 case CFN_BUILT_IN_POPCOUNTIMAX:
    9315            0 :                                                   if (call_expr_nargs (_p1) == 1)
    9316              :     {
    9317            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    9318            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    9319              :                                                         {
    9320            0 :                                                           {
    9321            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    9322            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    9323            0 :                                                             if (res) return res;
    9324              :                                                           }
    9325              :                                                         }
    9326              :                                                     }
    9327              :                                                   break;
    9328              :                                                 default:;
    9329              :                                                 }
    9330              :                                               break;
    9331              :                                             default:;
    9332              :                                             }
    9333              :                                         }
    9334              :                                       break;
    9335              :                                     }
    9336              :                                   default:;
    9337              :                                   }
    9338              :                               }
    9339              :                             break;
    9340              :                           default:;
    9341              :                           }
    9342              :                         break;
    9343              :                       default:;
    9344              :                       }
    9345              :                   }
    9346              :                 break;
    9347            0 :               case CFN_BUILT_IN_POPCOUNTL:
    9348            0 :                 if (call_expr_nargs (_q20) == 1)
    9349              :     {
    9350            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    9351            0 :                     switch (TREE_CODE (_q21))
    9352              :                       {
    9353            0 :                       case CALL_EXPR:
    9354            0 :                         switch (get_call_combined_fn (_q21))
    9355              :                           {
    9356            0 :                           case CFN_BUILT_IN_POPCOUNTL:
    9357            0 :                             if (call_expr_nargs (_q21) == 1)
    9358              :     {
    9359            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    9360            0 :                                 switch (TREE_CODE (_q50))
    9361              :                                   {
    9362            0 :                                   case BIT_AND_EXPR:
    9363            0 :                                     {
    9364            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    9365            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    9366            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    9367              :                                         {
    9368            0 :                                           switch (TREE_CODE (_p1))
    9369              :                                             {
    9370            0 :                                             case CALL_EXPR:
    9371            0 :                                               switch (get_call_combined_fn (_p1))
    9372              :                                                 {
    9373            0 :                                                 case CFN_BUILT_IN_POPCOUNTL:
    9374            0 :                                                   if (call_expr_nargs (_p1) == 1)
    9375              :     {
    9376            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    9377            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    9378              :                                                         {
    9379            0 :                                                           {
    9380            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    9381            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTL);
    9382            0 :                                                             if (res) return res;
    9383              :                                                           }
    9384              :                                                         }
    9385              :                                                     }
    9386              :                                                   break;
    9387              :                                                 default:;
    9388              :                                                 }
    9389              :                                               break;
    9390              :                                             default:;
    9391              :                                             }
    9392              :                                         }
    9393            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    9394              :                                         {
    9395            0 :                                           switch (TREE_CODE (_p1))
    9396              :                                             {
    9397            0 :                                             case CALL_EXPR:
    9398            0 :                                               switch (get_call_combined_fn (_p1))
    9399              :                                                 {
    9400            0 :                                                 case CFN_BUILT_IN_POPCOUNTL:
    9401            0 :                                                   if (call_expr_nargs (_p1) == 1)
    9402              :     {
    9403            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    9404            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    9405              :                                                         {
    9406            0 :                                                           {
    9407            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    9408            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTL);
    9409            0 :                                                             if (res) return res;
    9410              :                                                           }
    9411              :                                                         }
    9412              :                                                     }
    9413              :                                                   break;
    9414              :                                                 default:;
    9415              :                                                 }
    9416              :                                               break;
    9417              :                                             default:;
    9418              :                                             }
    9419              :                                         }
    9420              :                                       break;
    9421              :                                     }
    9422            0 :                                   case BIT_IOR_EXPR:
    9423            0 :                                     {
    9424            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    9425            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    9426            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    9427              :                                         {
    9428            0 :                                           switch (TREE_CODE (_p1))
    9429              :                                             {
    9430            0 :                                             case CALL_EXPR:
    9431            0 :                                               switch (get_call_combined_fn (_p1))
    9432              :                                                 {
    9433            0 :                                                 case CFN_BUILT_IN_POPCOUNTL:
    9434            0 :                                                   if (call_expr_nargs (_p1) == 1)
    9435              :     {
    9436            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    9437            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    9438              :                                                         {
    9439            0 :                                                           {
    9440            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    9441            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTL);
    9442            0 :                                                             if (res) return res;
    9443              :                                                           }
    9444              :                                                         }
    9445              :                                                     }
    9446              :                                                   break;
    9447              :                                                 default:;
    9448              :                                                 }
    9449              :                                               break;
    9450              :                                             default:;
    9451              :                                             }
    9452              :                                         }
    9453            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    9454              :                                         {
    9455            0 :                                           switch (TREE_CODE (_p1))
    9456              :                                             {
    9457            0 :                                             case CALL_EXPR:
    9458            0 :                                               switch (get_call_combined_fn (_p1))
    9459              :                                                 {
    9460            0 :                                                 case CFN_BUILT_IN_POPCOUNTL:
    9461            0 :                                                   if (call_expr_nargs (_p1) == 1)
    9462              :     {
    9463            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    9464            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    9465              :                                                         {
    9466            0 :                                                           {
    9467            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    9468            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTL);
    9469            0 :                                                             if (res) return res;
    9470              :                                                           }
    9471              :                                                         }
    9472              :                                                     }
    9473              :                                                   break;
    9474              :                                                 default:;
    9475              :                                                 }
    9476              :                                               break;
    9477              :                                             default:;
    9478              :                                             }
    9479              :                                         }
    9480              :                                       break;
    9481              :                                     }
    9482              :                                   default:;
    9483              :                                   }
    9484              :                               }
    9485              :                             break;
    9486              :                           default:;
    9487              :                           }
    9488              :                         break;
    9489              :                       default:;
    9490              :                       }
    9491              :                   }
    9492              :                 break;
    9493              :               default:;
    9494              :               }
    9495              :             break;
    9496              :           default:;
    9497              :           }
    9498              :         break;
    9499              :       }
    9500            1 :     case VEC_PERM_EXPR:
    9501            1 :       {
    9502            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9503            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9504            1 :         tree _q22 = TREE_OPERAND (_p0, 2);
    9505            1 :         switch (TREE_CODE (_q20))
    9506              :           {
    9507            0 :           case MULT_EXPR:
    9508            0 :             {
    9509            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9510            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9511            0 :               if (tree_vec_same_elem_p (_q31))
    9512              :                 {
    9513            0 :                   if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
    9514              :                     {
    9515            0 :                       {
    9516            0 :                         tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q22, _p1 };
    9517            0 :                         tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
    9518            0 :                         if (res) return res;
    9519              :                       }
    9520              :                     }
    9521              :                 }
    9522            0 :               if (tree_vec_same_elem_p (_q30))
    9523              :                 {
    9524            0 :                   if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
    9525              :                     {
    9526            0 :                       {
    9527            0 :                         tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _q22, _p1 };
    9528            0 :                         tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
    9529            0 :                         if (res) return res;
    9530              :                       }
    9531              :                     }
    9532              :                 }
    9533              :               break;
    9534              :             }
    9535            1 :           default:;
    9536              :           }
    9537            1 :         if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
    9538              :           {
    9539            0 :             switch (TREE_CODE (_p1))
    9540              :               {
    9541            0 :               case VEC_PERM_EXPR:
    9542            0 :                 {
    9543            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    9544            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    9545            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    9546            0 :                   if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
    9547              :                     {
    9548            0 :                       if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    9549              :                         {
    9550            0 :                           {
    9551            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
    9552            0 :                             if (VECTOR_INTEGER_TYPE_P (type)
    9553              : )
    9554              :                               {
    9555            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1312;
    9556            0 :                                 {
    9557            0 :                                   tree res_op0;
    9558            0 :                                   {
    9559            0 :                                     tree _o1[2], _r1;
    9560            0 :                                     _o1[0] = captures[0];
    9561            0 :                                     _o1[1] = captures[2];
    9562            0 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9563            0 :                                     captures[3] = _r1;
    9564              :                                   }
    9565            0 :                                   res_op0 = unshare_expr (captures[3]);
    9566            0 :                                   tree res_op1;
    9567            0 :                                   res_op1 = captures[3];
    9568            0 :                                   tree res_op2;
    9569            0 :                                   res_op2 = captures[1];
    9570            0 :                                   tree _r;
    9571            0 :                                   _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
    9572            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 942, __FILE__, __LINE__, true);
    9573     99376822 :                                   return _r;
    9574              :                                 }
    9575            0 : next_after_fail1312:;
    9576              :                               }
    9577              :                           }
    9578              :                         }
    9579              :                     }
    9580              :                   break;
    9581              :                 }
    9582            0 :               default:;
    9583              :               }
    9584            0 :             switch (TREE_CODE (_q22))
    9585              :               {
    9586            0 :               case VECTOR_CST:
    9587            0 :                 {
    9588            0 :                   switch (TREE_CODE (_p1))
    9589              :                     {
    9590            0 :                     case VEC_PERM_EXPR:
    9591            0 :                       {
    9592            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
    9593            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
    9594            0 :                         tree _q62 = TREE_OPERAND (_p1, 2);
    9595            0 :                         if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
    9596              :                           {
    9597            0 :                             if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    9598              :                               {
    9599            0 :                                 switch (TREE_CODE (_q62))
    9600              :                                   {
    9601            0 :                                   case VECTOR_CST:
    9602            0 :                                     {
    9603            0 :                                       {
    9604            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
    9605            0 :                                         tree res = generic_simplify_90 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    9606            0 :                                         if (res) return res;
    9607              :                                       }
    9608            0 :                                       break;
    9609              :                                     }
    9610              :                                   default:;
    9611              :                                   }
    9612              :                               }
    9613              :                           }
    9614              :                         break;
    9615              :                       }
    9616              :                     default:;
    9617              :                     }
    9618              :                   break;
    9619              :                 }
    9620              :               default:;
    9621              :               }
    9622              :           }
    9623              :         break;
    9624              :       }
    9625      1472317 :     case CALL_EXPR:
    9626      1472317 :       switch (get_call_combined_fn (_p0))
    9627              :         {
    9628            9 :         case CFN_BUILT_IN_LOG:
    9629            9 :           if (call_expr_nargs (_p0) == 1)
    9630              :     {
    9631            9 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9632            9 :               switch (TREE_CODE (_p1))
    9633              :                 {
    9634            0 :                 case CALL_EXPR:
    9635            0 :                   switch (get_call_combined_fn (_p1))
    9636              :                     {
    9637            0 :                     case CFN_BUILT_IN_LOG:
    9638            0 :                       if (call_expr_nargs (_p1) == 1)
    9639              :     {
    9640            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9641            0 :                           {
    9642            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9643            0 :                             tree res = generic_simplify_84 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG);
    9644            0 :                             if (res) return res;
    9645              :                           }
    9646              :                         }
    9647              :                       break;
    9648              :                     default:;
    9649              :                     }
    9650              :                   break;
    9651              :                 default:;
    9652              :                 }
    9653              :             }
    9654              :           break;
    9655         2540 :         case CFN_BUILT_IN_POPCOUNT:
    9656         2540 :           if (call_expr_nargs (_p0) == 1)
    9657              :     {
    9658         2540 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9659         2540 :               switch (TREE_CODE (_p1))
    9660              :                 {
    9661           22 :                 case CALL_EXPR:
    9662           22 :                   switch (get_call_combined_fn (_p1))
    9663              :                     {
    9664           22 :                     case CFN_BUILT_IN_POPCOUNT:
    9665           22 :                       if (call_expr_nargs (_p1) == 1)
    9666              :     {
    9667           22 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9668           22 :                           {
    9669           22 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9670           22 :                             tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    9671           22 :                             if (res) return res;
    9672              :                           }
    9673              :                         }
    9674              :                       break;
    9675              :                     default:;
    9676              :                     }
    9677              :                   break;
    9678         2539 :                 default:;
    9679              :                 }
    9680         2539 :               switch (TREE_CODE (_q20))
    9681              :                 {
    9682            9 :                 case BIT_AND_EXPR:
    9683            9 :                   {
    9684            9 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9685            9 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9686            9 :                     switch (TREE_CODE (_p1))
    9687              :                       {
    9688            9 :                       case CALL_EXPR:
    9689            9 :                         switch (get_call_combined_fn (_p1))
    9690              :                           {
    9691            9 :                           case CFN_BUILT_IN_POPCOUNT:
    9692            9 :                             if (call_expr_nargs (_p1) == 1)
    9693              :     {
    9694            9 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9695            9 :                                 switch (TREE_CODE (_q60))
    9696              :                                   {
    9697            9 :                                   case BIT_IOR_EXPR:
    9698            9 :                                     {
    9699            9 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9700            9 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9701            9 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9702              :                                         {
    9703            1 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9704              :                                             {
    9705            1 :                                               {
    9706            1 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9707            1 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    9708            1 :                                                 if (res) return res;
    9709              :                                               }
    9710              :                                             }
    9711              :                                         }
    9712            8 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9713              :                                         {
    9714            1 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9715              :                                             {
    9716            1 :                                               {
    9717            1 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9718            1 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    9719            1 :                                                 if (res) return res;
    9720              :                                               }
    9721              :                                             }
    9722              :                                         }
    9723              :                                       break;
    9724              :                                     }
    9725              :                                   default:;
    9726              :                                   }
    9727              :                               }
    9728              :                             break;
    9729              :                           default:;
    9730              :                           }
    9731              :                         break;
    9732              :                       default:;
    9733              :                       }
    9734              :                     break;
    9735              :                   }
    9736            2 :                 case BIT_IOR_EXPR:
    9737            2 :                   {
    9738            2 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9739            2 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9740            2 :                     switch (TREE_CODE (_p1))
    9741              :                       {
    9742            2 :                       case CALL_EXPR:
    9743            2 :                         switch (get_call_combined_fn (_p1))
    9744              :                           {
    9745            2 :                           case CFN_BUILT_IN_POPCOUNT:
    9746            2 :                             if (call_expr_nargs (_p1) == 1)
    9747              :     {
    9748            2 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9749            2 :                                 switch (TREE_CODE (_q60))
    9750              :                                   {
    9751            2 :                                   case BIT_AND_EXPR:
    9752            2 :                                     {
    9753            2 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9754            2 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9755            2 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9756              :                                         {
    9757            1 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9758              :                                             {
    9759            1 :                                               {
    9760            1 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
    9761            1 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    9762            1 :                                                 if (res) return res;
    9763              :                                               }
    9764              :                                             }
    9765              :                                         }
    9766            1 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9767              :                                         {
    9768            1 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9769              :                                             {
    9770            1 :                                               {
    9771            1 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
    9772            1 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    9773            1 :                                                 if (res) return res;
    9774              :                                               }
    9775              :                                             }
    9776              :                                         }
    9777              :                                       break;
    9778              :                                     }
    9779              :                                   default:;
    9780              :                                   }
    9781              :                               }
    9782              :                             break;
    9783              :                           default:;
    9784              :                           }
    9785              :                         break;
    9786              :                       default:;
    9787              :                       }
    9788              :                     break;
    9789              :                   }
    9790         2535 :                 default:;
    9791              :                 }
    9792         2535 :               switch (TREE_CODE (_p1))
    9793              :                 {
    9794            0 :                 case MINUS_EXPR:
    9795            0 :                   {
    9796            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9797            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
    9798            0 :                     switch (TREE_CODE (_q40))
    9799              :                       {
    9800            0 :                       case CALL_EXPR:
    9801            0 :                         switch (get_call_combined_fn (_q40))
    9802              :                           {
    9803            0 :                           case CFN_BUILT_IN_POPCOUNT:
    9804            0 :                             if (call_expr_nargs (_q40) == 1)
    9805              :     {
    9806            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
    9807            0 :                                 switch (TREE_CODE (_q41))
    9808              :                                   {
    9809            0 :                                   case CALL_EXPR:
    9810            0 :                                     switch (get_call_combined_fn (_q41))
    9811              :                                       {
    9812            0 :                                       case CFN_BUILT_IN_POPCOUNT:
    9813            0 :                                         if (call_expr_nargs (_q41) == 1)
    9814              :     {
    9815            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
    9816            0 :                                             switch (TREE_CODE (_q70))
    9817              :                                               {
    9818            0 :                                               case BIT_AND_EXPR:
    9819            0 :                                                 {
    9820            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9821            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9822            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9823              :                                                     {
    9824            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9825              :                                                         {
    9826            0 :                                                           {
    9827            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9828            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNT);
    9829            0 :                                                             if (res) return res;
    9830              :                                                           }
    9831              :                                                         }
    9832              :                                                     }
    9833            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9834              :                                                     {
    9835            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9836              :                                                         {
    9837            0 :                                                           {
    9838            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9839            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNT);
    9840            0 :                                                             if (res) return res;
    9841              :                                                           }
    9842              :                                                         }
    9843              :                                                     }
    9844              :                                                   break;
    9845              :                                                 }
    9846            0 :                                               case BIT_IOR_EXPR:
    9847            0 :                                                 {
    9848            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9849            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9850            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9851              :                                                     {
    9852            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9853              :                                                         {
    9854            0 :                                                           {
    9855            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9856            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNT);
    9857            0 :                                                             if (res) return res;
    9858              :                                                           }
    9859              :                                                         }
    9860              :                                                     }
    9861            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9862              :                                                     {
    9863            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9864              :                                                         {
    9865            0 :                                                           {
    9866            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9867            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNT);
    9868            0 :                                                             if (res) return res;
    9869              :                                                           }
    9870              :                                                         }
    9871              :                                                     }
    9872              :                                                   break;
    9873              :                                                 }
    9874              :                                               default:;
    9875              :                                               }
    9876              :                                           }
    9877              :                                         break;
    9878              :                                       default:;
    9879              :                                       }
    9880              :                                     break;
    9881              :                                   default:;
    9882              :                                   }
    9883              :                               }
    9884              :                             break;
    9885              :                           default:;
    9886              :                           }
    9887              :                         break;
    9888              :                       default:;
    9889              :                       }
    9890              :                     break;
    9891              :                   }
    9892              :                 default:;
    9893              :                 }
    9894              :             }
    9895              :           break;
    9896            1 :         case CFN_BUILT_IN_LOG2:
    9897            1 :           if (call_expr_nargs (_p0) == 1)
    9898              :     {
    9899            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9900            1 :               switch (TREE_CODE (_p1))
    9901              :                 {
    9902            1 :                 case CALL_EXPR:
    9903            1 :                   switch (get_call_combined_fn (_p1))
    9904              :                     {
    9905            1 :                     case CFN_BUILT_IN_LOG2:
    9906            1 :                       if (call_expr_nargs (_p1) == 1)
    9907              :     {
    9908            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9909            1 :                           {
    9910            1 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9911            1 :                             tree res = generic_simplify_84 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2);
    9912            1 :                             if (res) return res;
    9913              :                           }
    9914              :                         }
    9915              :                       break;
    9916              :                     default:;
    9917              :                     }
    9918              :                   break;
    9919              :                 default:;
    9920              :                 }
    9921              :             }
    9922              :           break;
    9923            0 :         case CFN_BUILT_IN_LOGF:
    9924            0 :           if (call_expr_nargs (_p0) == 1)
    9925              :     {
    9926            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9927            0 :               switch (TREE_CODE (_p1))
    9928              :                 {
    9929            0 :                 case CALL_EXPR:
    9930            0 :                   switch (get_call_combined_fn (_p1))
    9931              :                     {
    9932            0 :                     case CFN_BUILT_IN_LOGF:
    9933            0 :                       if (call_expr_nargs (_p1) == 1)
    9934              :     {
    9935            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9936            0 :                           {
    9937            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9938            0 :                             tree res = generic_simplify_84 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF);
    9939            0 :                             if (res) return res;
    9940              :                           }
    9941              :                         }
    9942              :                       break;
    9943              :                     default:;
    9944              :                     }
    9945              :                   break;
    9946              :                 default:;
    9947              :                 }
    9948              :             }
    9949              :           break;
    9950            0 :         case CFN_BUILT_IN_LOGL:
    9951            0 :           if (call_expr_nargs (_p0) == 1)
    9952              :     {
    9953            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9954            0 :               switch (TREE_CODE (_p1))
    9955              :                 {
    9956            0 :                 case CALL_EXPR:
    9957            0 :                   switch (get_call_combined_fn (_p1))
    9958              :                     {
    9959            0 :                     case CFN_BUILT_IN_LOGL:
    9960            0 :                       if (call_expr_nargs (_p1) == 1)
    9961              :     {
    9962            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9963            0 :                           {
    9964            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9965            0 :                             tree res = generic_simplify_84 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL);
    9966            0 :                             if (res) return res;
    9967              :                           }
    9968              :                         }
    9969              :                       break;
    9970              :                     default:;
    9971              :                     }
    9972              :                   break;
    9973              :                 default:;
    9974              :                 }
    9975              :             }
    9976              :           break;
    9977           27 :         case CFN_BUILT_IN_POPCOUNTLL:
    9978           27 :           if (call_expr_nargs (_p0) == 1)
    9979              :     {
    9980           27 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9981           27 :               switch (TREE_CODE (_p1))
    9982              :                 {
    9983           25 :                 case CALL_EXPR:
    9984           25 :                   switch (get_call_combined_fn (_p1))
    9985              :                     {
    9986           25 :                     case CFN_BUILT_IN_POPCOUNTLL:
    9987           25 :                       if (call_expr_nargs (_p1) == 1)
    9988              :     {
    9989           25 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9990           25 :                           {
    9991           25 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9992           25 :                             tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
    9993           25 :                             if (res) return res;
    9994              :                           }
    9995              :                         }
    9996              :                       break;
    9997              :                     default:;
    9998              :                     }
    9999              :                   break;
   10000           27 :                 default:;
   10001              :                 }
   10002           27 :               switch (TREE_CODE (_q20))
   10003              :                 {
   10004            0 :                 case BIT_AND_EXPR:
   10005            0 :                   {
   10006            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
   10007            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
   10008            0 :                     switch (TREE_CODE (_p1))
   10009              :                       {
   10010            0 :                       case CALL_EXPR:
   10011            0 :                         switch (get_call_combined_fn (_p1))
   10012              :                           {
   10013            0 :                           case CFN_BUILT_IN_POPCOUNTLL:
   10014            0 :                             if (call_expr_nargs (_p1) == 1)
   10015              :     {
   10016            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
   10017            0 :                                 switch (TREE_CODE (_q60))
   10018              :                                   {
   10019            0 :                                   case BIT_IOR_EXPR:
   10020            0 :                                     {
   10021            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
   10022            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
   10023            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   10024              :                                         {
   10025            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   10026              :                                             {
   10027            0 :                                               {
   10028            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
   10029            0 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
   10030            0 :                                                 if (res) return res;
   10031              :                                               }
   10032              :                                             }
   10033              :                                         }
   10034            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
   10035              :                                         {
   10036            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   10037              :                                             {
   10038            0 :                                               {
   10039            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
   10040            0 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
   10041            0 :                                                 if (res) return res;
   10042              :                                               }
   10043              :                                             }
   10044              :                                         }
   10045              :                                       break;
   10046              :                                     }
   10047              :                                   default:;
   10048              :                                   }
   10049              :                               }
   10050              :                             break;
   10051              :                           default:;
   10052              :                           }
   10053              :                         break;
   10054              :                       default:;
   10055              :                       }
   10056              :                     break;
   10057              :                   }
   10058            0 :                 case BIT_IOR_EXPR:
   10059            0 :                   {
   10060            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
   10061            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
   10062            0 :                     switch (TREE_CODE (_p1))
   10063              :                       {
   10064            0 :                       case CALL_EXPR:
   10065            0 :                         switch (get_call_combined_fn (_p1))
   10066              :                           {
   10067            0 :                           case CFN_BUILT_IN_POPCOUNTLL:
   10068            0 :                             if (call_expr_nargs (_p1) == 1)
   10069              :     {
   10070            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
   10071            0 :                                 switch (TREE_CODE (_q60))
   10072              :                                   {
   10073            0 :                                   case BIT_AND_EXPR:
   10074            0 :                                     {
   10075            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
   10076            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
   10077            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   10078              :                                         {
   10079            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   10080              :                                             {
   10081            0 :                                               {
   10082            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
   10083            0 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
   10084            0 :                                                 if (res) return res;
   10085              :                                               }
   10086              :                                             }
   10087              :                                         }
   10088            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
   10089              :                                         {
   10090            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   10091              :                                             {
   10092            0 :                                               {
   10093            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
   10094            0 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
   10095            0 :                                                 if (res) return res;
   10096              :                                               }
   10097              :                                             }
   10098              :                                         }
   10099              :                                       break;
   10100              :                                     }
   10101              :                                   default:;
   10102              :                                   }
   10103              :                               }
   10104              :                             break;
   10105              :                           default:;
   10106              :                           }
   10107              :                         break;
   10108              :                       default:;
   10109              :                       }
   10110              :                     break;
   10111              :                   }
   10112           27 :                 default:;
   10113              :                 }
   10114           27 :               switch (TREE_CODE (_p1))
   10115              :                 {
   10116            0 :                 case MINUS_EXPR:
   10117            0 :                   {
   10118            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
   10119            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
   10120            0 :                     switch (TREE_CODE (_q40))
   10121              :                       {
   10122            0 :                       case CALL_EXPR:
   10123            0 :                         switch (get_call_combined_fn (_q40))
   10124              :                           {
   10125            0 :                           case CFN_BUILT_IN_POPCOUNTLL:
   10126            0 :                             if (call_expr_nargs (_q40) == 1)
   10127              :     {
   10128            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
   10129            0 :                                 switch (TREE_CODE (_q41))
   10130              :                                   {
   10131            0 :                                   case CALL_EXPR:
   10132            0 :                                     switch (get_call_combined_fn (_q41))
   10133              :                                       {
   10134            0 :                                       case CFN_BUILT_IN_POPCOUNTLL:
   10135            0 :                                         if (call_expr_nargs (_q41) == 1)
   10136              :     {
   10137            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
   10138            0 :                                             switch (TREE_CODE (_q70))
   10139              :                                               {
   10140            0 :                                               case BIT_AND_EXPR:
   10141            0 :                                                 {
   10142            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
   10143            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
   10144            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   10145              :                                                     {
   10146            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   10147              :                                                         {
   10148            0 :                                                           {
   10149            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10150            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTLL);
   10151            0 :                                                             if (res) return res;
   10152              :                                                           }
   10153              :                                                         }
   10154              :                                                     }
   10155            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   10156              :                                                     {
   10157            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   10158              :                                                         {
   10159            0 :                                                           {
   10160            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10161            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTLL);
   10162            0 :                                                             if (res) return res;
   10163              :                                                           }
   10164              :                                                         }
   10165              :                                                     }
   10166              :                                                   break;
   10167              :                                                 }
   10168            0 :                                               case BIT_IOR_EXPR:
   10169            0 :                                                 {
   10170            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
   10171            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
   10172            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   10173              :                                                     {
   10174            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   10175              :                                                         {
   10176            0 :                                                           {
   10177            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10178            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTLL);
   10179            0 :                                                             if (res) return res;
   10180              :                                                           }
   10181              :                                                         }
   10182              :                                                     }
   10183            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   10184              :                                                     {
   10185            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   10186              :                                                         {
   10187            0 :                                                           {
   10188            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10189            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTLL);
   10190            0 :                                                             if (res) return res;
   10191              :                                                           }
   10192              :                                                         }
   10193              :                                                     }
   10194              :                                                   break;
   10195              :                                                 }
   10196              :                                               default:;
   10197              :                                               }
   10198              :                                           }
   10199              :                                         break;
   10200              :                                       default:;
   10201              :                                       }
   10202              :                                     break;
   10203              :                                   default:;
   10204              :                                   }
   10205              :                               }
   10206              :                             break;
   10207              :                           default:;
   10208              :                           }
   10209              :                         break;
   10210              :                       default:;
   10211              :                       }
   10212              :                     break;
   10213              :                   }
   10214              :                 default:;
   10215              :                 }
   10216              :             }
   10217              :           break;
   10218            0 :         case CFN_BUILT_IN_LOG10F:
   10219            0 :           if (call_expr_nargs (_p0) == 1)
   10220              :     {
   10221            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10222            0 :               switch (TREE_CODE (_p1))
   10223              :                 {
   10224            0 :                 case CALL_EXPR:
   10225            0 :                   switch (get_call_combined_fn (_p1))
   10226              :                     {
   10227            0 :                     case CFN_BUILT_IN_LOG10F:
   10228            0 :                       if (call_expr_nargs (_p1) == 1)
   10229              :     {
   10230            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10231            0 :                           {
   10232            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10233            0 :                             tree res = generic_simplify_84 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F);
   10234            0 :                             if (res) return res;
   10235              :                           }
   10236              :                         }
   10237              :                       break;
   10238              :                     default:;
   10239              :                     }
   10240              :                   break;
   10241              :                 default:;
   10242              :                 }
   10243              :             }
   10244              :           break;
   10245            0 :         case CFN_BUILT_IN_LOG10L:
   10246            0 :           if (call_expr_nargs (_p0) == 1)
   10247              :     {
   10248            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10249            0 :               switch (TREE_CODE (_p1))
   10250              :                 {
   10251            0 :                 case CALL_EXPR:
   10252            0 :                   switch (get_call_combined_fn (_p1))
   10253              :                     {
   10254            0 :                     case CFN_BUILT_IN_LOG10L:
   10255            0 :                       if (call_expr_nargs (_p1) == 1)
   10256              :     {
   10257            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10258            0 :                           {
   10259            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10260            0 :                             tree res = generic_simplify_84 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L);
   10261            0 :                             if (res) return res;
   10262              :                           }
   10263              :                         }
   10264              :                       break;
   10265              :                     default:;
   10266              :                     }
   10267              :                   break;
   10268              :                 default:;
   10269              :                 }
   10270              :             }
   10271              :           break;
   10272            7 :         case CFN_POPCOUNT:
   10273            7 :           if (call_expr_nargs (_p0) == 1)
   10274              :     {
   10275            7 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10276            7 :               switch (TREE_CODE (_p1))
   10277              :                 {
   10278            1 :                 case CALL_EXPR:
   10279            1 :                   switch (get_call_combined_fn (_p1))
   10280              :                     {
   10281            1 :                     case CFN_POPCOUNT:
   10282            1 :                       if (call_expr_nargs (_p1) == 1)
   10283              :     {
   10284            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10285            1 :                           {
   10286            1 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10287            1 :                             tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
   10288            1 :                             if (res) return res;
   10289              :                           }
   10290              :                         }
   10291              :                       break;
   10292              :                     default:;
   10293              :                     }
   10294              :                   break;
   10295            7 :                 default:;
   10296              :                 }
   10297            7 :               switch (TREE_CODE (_q20))
   10298              :                 {
   10299            0 :                 case BIT_AND_EXPR:
   10300            0 :                   {
   10301            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
   10302            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
   10303            0 :                     switch (TREE_CODE (_p1))
   10304              :                       {
   10305            0 :                       case CALL_EXPR:
   10306            0 :                         switch (get_call_combined_fn (_p1))
   10307              :                           {
   10308            0 :                           case CFN_POPCOUNT:
   10309            0 :                             if (call_expr_nargs (_p1) == 1)
   10310              :     {
   10311            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
   10312            0 :                                 switch (TREE_CODE (_q60))
   10313              :                                   {
   10314            0 :                                   case BIT_IOR_EXPR:
   10315            0 :                                     {
   10316            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
   10317            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
   10318            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   10319              :                                         {
   10320            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   10321              :                                             {
   10322            0 :                                               {
   10323            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
   10324            0 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
   10325            0 :                                                 if (res) return res;
   10326              :                                               }
   10327              :                                             }
   10328              :                                         }
   10329            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
   10330              :                                         {
   10331            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   10332              :                                             {
   10333            0 :                                               {
   10334            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
   10335            0 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
   10336            0 :                                                 if (res) return res;
   10337              :                                               }
   10338              :                                             }
   10339              :                                         }
   10340              :                                       break;
   10341              :                                     }
   10342              :                                   default:;
   10343              :                                   }
   10344              :                               }
   10345              :                             break;
   10346              :                           default:;
   10347              :                           }
   10348              :                         break;
   10349              :                       default:;
   10350              :                       }
   10351              :                     break;
   10352              :                   }
   10353            0 :                 case BIT_IOR_EXPR:
   10354            0 :                   {
   10355            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
   10356            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
   10357            0 :                     switch (TREE_CODE (_p1))
   10358              :                       {
   10359            0 :                       case CALL_EXPR:
   10360            0 :                         switch (get_call_combined_fn (_p1))
   10361              :                           {
   10362            0 :                           case CFN_POPCOUNT:
   10363            0 :                             if (call_expr_nargs (_p1) == 1)
   10364              :     {
   10365            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
   10366            0 :                                 switch (TREE_CODE (_q60))
   10367              :                                   {
   10368            0 :                                   case BIT_AND_EXPR:
   10369            0 :                                     {
   10370            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
   10371            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
   10372            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   10373              :                                         {
   10374            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   10375              :                                             {
   10376            0 :                                               {
   10377            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
   10378            0 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
   10379            0 :                                                 if (res) return res;
   10380              :                                               }
   10381              :                                             }
   10382              :                                         }
   10383            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
   10384              :                                         {
   10385            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   10386              :                                             {
   10387            0 :                                               {
   10388            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
   10389            0 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
   10390            0 :                                                 if (res) return res;
   10391              :                                               }
   10392              :                                             }
   10393              :                                         }
   10394              :                                       break;
   10395              :                                     }
   10396              :                                   default:;
   10397              :                                   }
   10398              :                               }
   10399              :                             break;
   10400              :                           default:;
   10401              :                           }
   10402              :                         break;
   10403              :                       default:;
   10404              :                       }
   10405              :                     break;
   10406              :                   }
   10407            7 :                 default:;
   10408              :                 }
   10409            7 :               switch (TREE_CODE (_p1))
   10410              :                 {
   10411            0 :                 case MINUS_EXPR:
   10412            0 :                   {
   10413            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
   10414            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
   10415            0 :                     switch (TREE_CODE (_q40))
   10416              :                       {
   10417            0 :                       case CALL_EXPR:
   10418            0 :                         switch (get_call_combined_fn (_q40))
   10419              :                           {
   10420            0 :                           case CFN_POPCOUNT:
   10421            0 :                             if (call_expr_nargs (_q40) == 1)
   10422              :     {
   10423            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
   10424            0 :                                 switch (TREE_CODE (_q41))
   10425              :                                   {
   10426            0 :                                   case CALL_EXPR:
   10427            0 :                                     switch (get_call_combined_fn (_q41))
   10428              :                                       {
   10429            0 :                                       case CFN_POPCOUNT:
   10430            0 :                                         if (call_expr_nargs (_q41) == 1)
   10431              :     {
   10432            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
   10433            0 :                                             switch (TREE_CODE (_q70))
   10434              :                                               {
   10435            0 :                                               case BIT_AND_EXPR:
   10436            0 :                                                 {
   10437            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
   10438            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
   10439            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   10440              :                                                     {
   10441            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   10442              :                                                         {
   10443            0 :                                                           {
   10444            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10445            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_POPCOUNT);
   10446            0 :                                                             if (res) return res;
   10447              :                                                           }
   10448              :                                                         }
   10449              :                                                     }
   10450            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   10451              :                                                     {
   10452            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   10453              :                                                         {
   10454            0 :                                                           {
   10455            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10456            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_POPCOUNT);
   10457            0 :                                                             if (res) return res;
   10458              :                                                           }
   10459              :                                                         }
   10460              :                                                     }
   10461              :                                                   break;
   10462              :                                                 }
   10463            0 :                                               case BIT_IOR_EXPR:
   10464            0 :                                                 {
   10465            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
   10466            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
   10467            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   10468              :                                                     {
   10469            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   10470              :                                                         {
   10471            0 :                                                           {
   10472            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10473            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_POPCOUNT);
   10474            0 :                                                             if (res) return res;
   10475              :                                                           }
   10476              :                                                         }
   10477              :                                                     }
   10478            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   10479              :                                                     {
   10480            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   10481              :                                                         {
   10482            0 :                                                           {
   10483            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10484            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_POPCOUNT);
   10485            0 :                                                             if (res) return res;
   10486              :                                                           }
   10487              :                                                         }
   10488              :                                                     }
   10489              :                                                   break;
   10490              :                                                 }
   10491              :                                               default:;
   10492              :                                               }
   10493              :                                           }
   10494              :                                         break;
   10495              :                                       default:;
   10496              :                                       }
   10497              :                                     break;
   10498              :                                   default:;
   10499              :                                   }
   10500              :                               }
   10501              :                             break;
   10502              :                           default:;
   10503              :                           }
   10504              :                         break;
   10505              :                       default:;
   10506              :                       }
   10507              :                     break;
   10508              :                   }
   10509              :                 default:;
   10510              :                 }
   10511              :             }
   10512              :           break;
   10513            0 :         case CFN_LOG:
   10514            0 :           if (call_expr_nargs (_p0) == 1)
   10515              :     {
   10516            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10517            0 :               switch (TREE_CODE (_p1))
   10518              :                 {
   10519            0 :                 case CALL_EXPR:
   10520            0 :                   switch (get_call_combined_fn (_p1))
   10521              :                     {
   10522            0 :                     case CFN_LOG:
   10523            0 :                       if (call_expr_nargs (_p1) == 1)
   10524              :     {
   10525            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10526            0 :                           {
   10527            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10528            0 :                             tree res = generic_simplify_84 (loc, type, _p0, _p1, captures, CFN_LOG);
   10529            0 :                             if (res) return res;
   10530              :                           }
   10531              :                         }
   10532              :                       break;
   10533              :                     default:;
   10534              :                     }
   10535              :                   break;
   10536              :                 default:;
   10537              :                 }
   10538              :             }
   10539              :           break;
   10540            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
   10541            0 :           if (call_expr_nargs (_p0) == 1)
   10542              :     {
   10543            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10544            0 :               switch (TREE_CODE (_p1))
   10545              :                 {
   10546            0 :                 case CALL_EXPR:
   10547            0 :                   switch (get_call_combined_fn (_p1))
   10548              :                     {
   10549            0 :                     case CFN_BUILT_IN_POPCOUNTIMAX:
   10550            0 :                       if (call_expr_nargs (_p1) == 1)
   10551              :     {
   10552            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10553            0 :                           {
   10554            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10555            0 :                             tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
   10556            0 :                             if (res) return res;
   10557              :                           }
   10558              :                         }
   10559              :                       break;
   10560              :                     default:;
   10561              :                     }
   10562              :                   break;
   10563            0 :                 default:;
   10564              :                 }
   10565            0 :               switch (TREE_CODE (_q20))
   10566              :                 {
   10567            0 :                 case BIT_AND_EXPR:
   10568            0 :                   {
   10569            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
   10570            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
   10571            0 :                     switch (TREE_CODE (_p1))
   10572              :                       {
   10573            0 :                       case CALL_EXPR:
   10574            0 :                         switch (get_call_combined_fn (_p1))
   10575              :                           {
   10576            0 :                           case CFN_BUILT_IN_POPCOUNTIMAX:
   10577            0 :                             if (call_expr_nargs (_p1) == 1)
   10578              :     {
   10579            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
   10580            0 :                                 switch (TREE_CODE (_q60))
   10581              :                                   {
   10582            0 :                                   case BIT_IOR_EXPR:
   10583            0 :                                     {
   10584            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
   10585            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
   10586            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   10587              :                                         {
   10588            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   10589              :                                             {
   10590            0 :                                               {
   10591            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
   10592            0 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
   10593            0 :                                                 if (res) return res;
   10594              :                                               }
   10595              :                                             }
   10596              :                                         }
   10597            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
   10598              :                                         {
   10599            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   10600              :                                             {
   10601            0 :                                               {
   10602            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
   10603            0 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
   10604            0 :                                                 if (res) return res;
   10605              :                                               }
   10606              :                                             }
   10607              :                                         }
   10608              :                                       break;
   10609              :                                     }
   10610              :                                   default:;
   10611              :                                   }
   10612              :                               }
   10613              :                             break;
   10614              :                           default:;
   10615              :                           }
   10616              :                         break;
   10617              :                       default:;
   10618              :                       }
   10619              :                     break;
   10620              :                   }
   10621            0 :                 case BIT_IOR_EXPR:
   10622            0 :                   {
   10623            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
   10624            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
   10625            0 :                     switch (TREE_CODE (_p1))
   10626              :                       {
   10627            0 :                       case CALL_EXPR:
   10628            0 :                         switch (get_call_combined_fn (_p1))
   10629              :                           {
   10630            0 :                           case CFN_BUILT_IN_POPCOUNTIMAX:
   10631            0 :                             if (call_expr_nargs (_p1) == 1)
   10632              :     {
   10633            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
   10634            0 :                                 switch (TREE_CODE (_q60))
   10635              :                                   {
   10636            0 :                                   case BIT_AND_EXPR:
   10637            0 :                                     {
   10638            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
   10639            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
   10640            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   10641              :                                         {
   10642            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   10643              :                                             {
   10644            0 :                                               {
   10645            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
   10646            0 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
   10647            0 :                                                 if (res) return res;
   10648              :                                               }
   10649              :                                             }
   10650              :                                         }
   10651            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
   10652              :                                         {
   10653            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   10654              :                                             {
   10655            0 :                                               {
   10656            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
   10657            0 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
   10658            0 :                                                 if (res) return res;
   10659              :                                               }
   10660              :                                             }
   10661              :                                         }
   10662              :                                       break;
   10663              :                                     }
   10664              :                                   default:;
   10665              :                                   }
   10666              :                               }
   10667              :                             break;
   10668              :                           default:;
   10669              :                           }
   10670              :                         break;
   10671              :                       default:;
   10672              :                       }
   10673              :                     break;
   10674              :                   }
   10675            0 :                 default:;
   10676              :                 }
   10677            0 :               switch (TREE_CODE (_p1))
   10678              :                 {
   10679            0 :                 case MINUS_EXPR:
   10680            0 :                   {
   10681            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
   10682            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
   10683            0 :                     switch (TREE_CODE (_q40))
   10684              :                       {
   10685            0 :                       case CALL_EXPR:
   10686            0 :                         switch (get_call_combined_fn (_q40))
   10687              :                           {
   10688            0 :                           case CFN_BUILT_IN_POPCOUNTIMAX:
   10689            0 :                             if (call_expr_nargs (_q40) == 1)
   10690              :     {
   10691            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
   10692            0 :                                 switch (TREE_CODE (_q41))
   10693              :                                   {
   10694            0 :                                   case CALL_EXPR:
   10695            0 :                                     switch (get_call_combined_fn (_q41))
   10696              :                                       {
   10697            0 :                                       case CFN_BUILT_IN_POPCOUNTIMAX:
   10698            0 :                                         if (call_expr_nargs (_q41) == 1)
   10699              :     {
   10700            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
   10701            0 :                                             switch (TREE_CODE (_q70))
   10702              :                                               {
   10703            0 :                                               case BIT_AND_EXPR:
   10704            0 :                                                 {
   10705            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
   10706            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
   10707            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   10708              :                                                     {
   10709            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   10710              :                                                         {
   10711            0 :                                                           {
   10712            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10713            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
   10714            0 :                                                             if (res) return res;
   10715              :                                                           }
   10716              :                                                         }
   10717              :                                                     }
   10718            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   10719              :                                                     {
   10720            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   10721              :                                                         {
   10722            0 :                                                           {
   10723            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10724            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
   10725            0 :                                                             if (res) return res;
   10726              :                                                           }
   10727              :                                                         }
   10728              :                                                     }
   10729              :                                                   break;
   10730              :                                                 }
   10731            0 :                                               case BIT_IOR_EXPR:
   10732            0 :                                                 {
   10733            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
   10734            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
   10735            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   10736              :                                                     {
   10737            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   10738              :                                                         {
   10739            0 :                                                           {
   10740            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10741            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
   10742            0 :                                                             if (res) return res;
   10743              :                                                           }
   10744              :                                                         }
   10745              :                                                     }
   10746            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   10747              :                                                     {
   10748            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   10749              :                                                         {
   10750            0 :                                                           {
   10751            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10752            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
   10753            0 :                                                             if (res) return res;
   10754              :                                                           }
   10755              :                                                         }
   10756              :                                                     }
   10757              :                                                   break;
   10758              :                                                 }
   10759              :                                               default:;
   10760              :                                               }
   10761              :                                           }
   10762              :                                         break;
   10763              :                                       default:;
   10764              :                                       }
   10765              :                                     break;
   10766              :                                   default:;
   10767              :                                   }
   10768              :                               }
   10769              :                             break;
   10770              :                           default:;
   10771              :                           }
   10772              :                         break;
   10773              :                       default:;
   10774              :                       }
   10775              :                     break;
   10776              :                   }
   10777              :                 default:;
   10778              :                 }
   10779              :             }
   10780              :           break;
   10781            0 :         case CFN_REDUC_PLUS:
   10782            0 :           if (call_expr_nargs (_p0) == 1)
   10783              :     {
   10784            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10785            0 :               switch (TREE_CODE (_p1))
   10786              :                 {
   10787            0 :                 case CALL_EXPR:
   10788            0 :                   switch (get_call_combined_fn (_p1))
   10789              :                     {
   10790            0 :                     case CFN_REDUC_PLUS:
   10791            0 :                       if (call_expr_nargs (_p1) == 1)
   10792              :     {
   10793            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10794            0 :                           {
   10795            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10796            0 :                             tree res = generic_simplify_88 (loc, type, _p0, _p1, captures, PLUS_EXPR);
   10797            0 :                             if (res) return res;
   10798              :                           }
   10799              :                         }
   10800              :                       break;
   10801              :                     default:;
   10802              :                     }
   10803              :                   break;
   10804              :                 default:;
   10805              :                 }
   10806              :             }
   10807              :           break;
   10808            0 :         case CFN_LOG2:
   10809            0 :           if (call_expr_nargs (_p0) == 1)
   10810              :     {
   10811            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10812            0 :               switch (TREE_CODE (_p1))
   10813              :                 {
   10814            0 :                 case CALL_EXPR:
   10815            0 :                   switch (get_call_combined_fn (_p1))
   10816              :                     {
   10817            0 :                     case CFN_LOG2:
   10818            0 :                       if (call_expr_nargs (_p1) == 1)
   10819              :     {
   10820            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10821            0 :                           {
   10822            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10823            0 :                             tree res = generic_simplify_84 (loc, type, _p0, _p1, captures, CFN_LOG2);
   10824            0 :                             if (res) return res;
   10825              :                           }
   10826              :                         }
   10827              :                       break;
   10828              :                     default:;
   10829              :                     }
   10830              :                   break;
   10831              :                 default:;
   10832              :                 }
   10833              :             }
   10834              :           break;
   10835          141 :         case CFN_BUILT_IN_POPCOUNTL:
   10836          141 :           if (call_expr_nargs (_p0) == 1)
   10837              :     {
   10838          141 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10839          141 :               switch (TREE_CODE (_p1))
   10840              :                 {
   10841           69 :                 case CALL_EXPR:
   10842           69 :                   switch (get_call_combined_fn (_p1))
   10843              :                     {
   10844           69 :                     case CFN_BUILT_IN_POPCOUNTL:
   10845           69 :                       if (call_expr_nargs (_p1) == 1)
   10846              :     {
   10847           69 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10848           69 :                           {
   10849           69 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10850           69 :                             tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
   10851           69 :                             if (res) return res;
   10852              :                           }
   10853              :                         }
   10854              :                       break;
   10855              :                     default:;
   10856              :                     }
   10857              :                   break;
   10858          141 :                 default:;
   10859              :                 }
   10860          141 :               switch (TREE_CODE (_q20))
   10861              :                 {
   10862            0 :                 case BIT_AND_EXPR:
   10863            0 :                   {
   10864            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
   10865            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
   10866            0 :                     switch (TREE_CODE (_p1))
   10867              :                       {
   10868            0 :                       case CALL_EXPR:
   10869            0 :                         switch (get_call_combined_fn (_p1))
   10870              :                           {
   10871            0 :                           case CFN_BUILT_IN_POPCOUNTL:
   10872            0 :                             if (call_expr_nargs (_p1) == 1)
   10873              :     {
   10874            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
   10875            0 :                                 switch (TREE_CODE (_q60))
   10876              :                                   {
   10877            0 :                                   case BIT_IOR_EXPR:
   10878            0 :                                     {
   10879            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
   10880            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
   10881            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   10882              :                                         {
   10883            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   10884              :                                             {
   10885            0 :                                               {
   10886            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
   10887            0 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
   10888            0 :                                                 if (res) return res;
   10889              :                                               }
   10890              :                                             }
   10891              :                                         }
   10892            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
   10893              :                                         {
   10894            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   10895              :                                             {
   10896            0 :                                               {
   10897            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
   10898            0 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
   10899            0 :                                                 if (res) return res;
   10900              :                                               }
   10901              :                                             }
   10902              :                                         }
   10903              :                                       break;
   10904              :                                     }
   10905              :                                   default:;
   10906              :                                   }
   10907              :                               }
   10908              :                             break;
   10909              :                           default:;
   10910              :                           }
   10911              :                         break;
   10912              :                       default:;
   10913              :                       }
   10914              :                     break;
   10915              :                   }
   10916            0 :                 case BIT_IOR_EXPR:
   10917            0 :                   {
   10918            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
   10919            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
   10920            0 :                     switch (TREE_CODE (_p1))
   10921              :                       {
   10922            0 :                       case CALL_EXPR:
   10923            0 :                         switch (get_call_combined_fn (_p1))
   10924              :                           {
   10925            0 :                           case CFN_BUILT_IN_POPCOUNTL:
   10926            0 :                             if (call_expr_nargs (_p1) == 1)
   10927              :     {
   10928            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
   10929            0 :                                 switch (TREE_CODE (_q60))
   10930              :                                   {
   10931            0 :                                   case BIT_AND_EXPR:
   10932            0 :                                     {
   10933            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
   10934            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
   10935            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   10936              :                                         {
   10937            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   10938              :                                             {
   10939            0 :                                               {
   10940            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
   10941            0 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
   10942            0 :                                                 if (res) return res;
   10943              :                                               }
   10944              :                                             }
   10945              :                                         }
   10946            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
   10947              :                                         {
   10948            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   10949              :                                             {
   10950            0 :                                               {
   10951            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
   10952            0 :                                                 tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
   10953            0 :                                                 if (res) return res;
   10954              :                                               }
   10955              :                                             }
   10956              :                                         }
   10957              :                                       break;
   10958              :                                     }
   10959              :                                   default:;
   10960              :                                   }
   10961              :                               }
   10962              :                             break;
   10963              :                           default:;
   10964              :                           }
   10965              :                         break;
   10966              :                       default:;
   10967              :                       }
   10968              :                     break;
   10969              :                   }
   10970          141 :                 default:;
   10971              :                 }
   10972          141 :               switch (TREE_CODE (_p1))
   10973              :                 {
   10974            0 :                 case MINUS_EXPR:
   10975            0 :                   {
   10976            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
   10977            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
   10978            0 :                     switch (TREE_CODE (_q40))
   10979              :                       {
   10980            0 :                       case CALL_EXPR:
   10981            0 :                         switch (get_call_combined_fn (_q40))
   10982              :                           {
   10983            0 :                           case CFN_BUILT_IN_POPCOUNTL:
   10984            0 :                             if (call_expr_nargs (_q40) == 1)
   10985              :     {
   10986            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
   10987            0 :                                 switch (TREE_CODE (_q41))
   10988              :                                   {
   10989            0 :                                   case CALL_EXPR:
   10990            0 :                                     switch (get_call_combined_fn (_q41))
   10991              :                                       {
   10992            0 :                                       case CFN_BUILT_IN_POPCOUNTL:
   10993            0 :                                         if (call_expr_nargs (_q41) == 1)
   10994              :     {
   10995            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
   10996            0 :                                             switch (TREE_CODE (_q70))
   10997              :                                               {
   10998            0 :                                               case BIT_AND_EXPR:
   10999            0 :                                                 {
   11000            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
   11001            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
   11002            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   11003              :                                                     {
   11004            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   11005              :                                                         {
   11006            0 :                                                           {
   11007            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   11008            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTL);
   11009            0 :                                                             if (res) return res;
   11010              :                                                           }
   11011              :                                                         }
   11012              :                                                     }
   11013            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11014              :                                                     {
   11015            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   11016              :                                                         {
   11017            0 :                                                           {
   11018            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   11019            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTL);
   11020            0 :                                                             if (res) return res;
   11021              :                                                           }
   11022              :                                                         }
   11023              :                                                     }
   11024              :                                                   break;
   11025              :                                                 }
   11026            0 :                                               case BIT_IOR_EXPR:
   11027            0 :                                                 {
   11028            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
   11029            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
   11030            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   11031              :                                                     {
   11032            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   11033              :                                                         {
   11034            0 :                                                           {
   11035            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   11036            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTL);
   11037            0 :                                                             if (res) return res;
   11038              :                                                           }
   11039              :                                                         }
   11040              :                                                     }
   11041            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11042              :                                                     {
   11043            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   11044              :                                                         {
   11045            0 :                                                           {
   11046            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   11047            0 :                                                             tree res = generic_simplify_87 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTL);
   11048            0 :                                                             if (res) return res;
   11049              :                                                           }
   11050              :                                                         }
   11051              :                                                     }
   11052              :                                                   break;
   11053              :                                                 }
   11054              :                                               default:;
   11055              :                                               }
   11056              :                                           }
   11057              :                                         break;
   11058              :                                       default:;
   11059              :                                       }
   11060              :                                     break;
   11061              :                                   default:;
   11062              :                                   }
   11063              :                               }
   11064              :                             break;
   11065              :                           default:;
   11066              :                           }
   11067              :                         break;
   11068              :                       default:;
   11069              :                       }
   11070              :                     break;
   11071              :                   }
   11072              :                 default:;
   11073              :                 }
   11074              :             }
   11075              :           break;
   11076            0 :         case CFN_LOG10:
   11077            0 :           if (call_expr_nargs (_p0) == 1)
   11078              :     {
   11079            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11080            0 :               switch (TREE_CODE (_p1))
   11081              :                 {
   11082            0 :                 case CALL_EXPR:
   11083            0 :                   switch (get_call_combined_fn (_p1))
   11084              :                     {
   11085            0 :                     case CFN_LOG10:
   11086            0 :                       if (call_expr_nargs (_p1) == 1)
   11087              :     {
   11088            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11089            0 :                           {
   11090            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11091            0 :                             tree res = generic_simplify_84 (loc, type, _p0, _p1, captures, CFN_LOG10);
   11092            0 :                             if (res) return res;
   11093              :                           }
   11094              :                         }
   11095              :                       break;
   11096              :                     default:;
   11097              :                     }
   11098              :                   break;
   11099              :                 default:;
   11100              :                 }
   11101              :             }
   11102              :           break;
   11103            0 :         case CFN_BUILT_IN_LOG10:
   11104            0 :           if (call_expr_nargs (_p0) == 1)
   11105              :     {
   11106            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11107            0 :               switch (TREE_CODE (_p1))
   11108              :                 {
   11109            0 :                 case CALL_EXPR:
   11110            0 :                   switch (get_call_combined_fn (_p1))
   11111              :                     {
   11112            0 :                     case CFN_BUILT_IN_LOG10:
   11113            0 :                       if (call_expr_nargs (_p1) == 1)
   11114              :     {
   11115            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11116            0 :                           {
   11117            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11118            0 :                             tree res = generic_simplify_84 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10);
   11119            0 :                             if (res) return res;
   11120              :                           }
   11121              :                         }
   11122              :                       break;
   11123              :                     default:;
   11124              :                     }
   11125              :                   break;
   11126              :                 default:;
   11127              :                 }
   11128              :             }
   11129              :           break;
   11130            0 :         case CFN_BUILT_IN_LOG2F:
   11131            0 :           if (call_expr_nargs (_p0) == 1)
   11132              :     {
   11133            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11134            0 :               switch (TREE_CODE (_p1))
   11135              :                 {
   11136            0 :                 case CALL_EXPR:
   11137            0 :                   switch (get_call_combined_fn (_p1))
   11138              :                     {
   11139            0 :                     case CFN_BUILT_IN_LOG2F:
   11140            0 :                       if (call_expr_nargs (_p1) == 1)
   11141              :     {
   11142            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11143            0 :                           {
   11144            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11145            0 :                             tree res = generic_simplify_84 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F);
   11146            0 :                             if (res) return res;
   11147              :                           }
   11148              :                         }
   11149              :                       break;
   11150              :                     default:;
   11151              :                     }
   11152              :                   break;
   11153              :                 default:;
   11154              :                 }
   11155              :             }
   11156              :           break;
   11157            0 :         case CFN_BUILT_IN_LOG2L:
   11158            0 :           if (call_expr_nargs (_p0) == 1)
   11159              :     {
   11160            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11161            0 :               switch (TREE_CODE (_p1))
   11162              :                 {
   11163            0 :                 case CALL_EXPR:
   11164            0 :                   switch (get_call_combined_fn (_p1))
   11165              :                     {
   11166            0 :                     case CFN_BUILT_IN_LOG2L:
   11167            0 :                       if (call_expr_nargs (_p1) == 1)
   11168              :     {
   11169            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11170            0 :                           {
   11171            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11172            0 :                             tree res = generic_simplify_84 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L);
   11173            0 :                             if (res) return res;
   11174              :                           }
   11175              :                         }
   11176              :                       break;
   11177              :                     default:;
   11178              :                     }
   11179              :                   break;
   11180              :                 default:;
   11181              :                 }
   11182              :             }
   11183              :           break;
   11184              :         default:;
   11185              :         }
   11186              :       break;
   11187     63870130 :     default:;
   11188              :     }
   11189     63870130 :   switch (TREE_CODE (_p1))
   11190              :     {
   11191            0 :     case VEC_PERM_EXPR:
   11192            0 :       {
   11193            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11194            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11195            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11196            0 :         switch (TREE_CODE (_q30))
   11197              :           {
   11198            0 :           case MULT_EXPR:
   11199            0 :             {
   11200            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
   11201            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
   11202            0 :               if (tree_vec_same_elem_p (_q41))
   11203              :                 {
   11204            0 :                   if ((_q31 == _q30 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q30, 0) && types_match (_q31, _q30)))
   11205              :                     {
   11206            0 :                       {
   11207            0 :                         tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q41, _q32, _p0 };
   11208            0 :                         tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
   11209            0 :                         if (res) return res;
   11210              :                       }
   11211              :                     }
   11212              :                 }
   11213            0 :               if (tree_vec_same_elem_p (_q40))
   11214              :                 {
   11215            0 :                   if ((_q31 == _q30 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q30, 0) && types_match (_q31, _q30)))
   11216              :                     {
   11217            0 :                       {
   11218            0 :                         tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q40, _q32, _p0 };
   11219            0 :                         tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
   11220            0 :                         if (res) return res;
   11221              :                       }
   11222              :                     }
   11223              :                 }
   11224              :               break;
   11225              :             }
   11226              :           default:;
   11227              :           }
   11228              :         break;
   11229              :       }
   11230              :     default:;
   11231              :     }
   11232              :   return NULL_TREE;
   11233              : }
   11234              : 
   11235              : tree
   11236         1940 : generic_simplify_LROTATE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11237              : {
   11238         1940 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11239         1940 :   if (integer_all_onesp (_p0))
   11240              :     {
   11241            0 :       {
   11242            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11243            0 :         tree res = generic_simplify_584 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   11244            0 :         if (res) return res;
   11245              :       }
   11246              :     }
   11247         1940 :   if (integer_zerop (_p1))
   11248              :     {
   11249            0 :       {
   11250            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11251            0 :         tree res = generic_simplify_446 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   11252            0 :         if (res) return res;
   11253              :       }
   11254              :     }
   11255         1940 :   if (integer_zerop (_p0))
   11256              :     {
   11257            0 :       {
   11258            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11259            0 :         tree res = generic_simplify_447 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   11260            0 :         if (res) return res;
   11261              :       }
   11262              :     }
   11263         1940 :   switch (TREE_CODE (_p1))
   11264              :     {
   11265            0 :     case VECTOR_CST:
   11266            0 :       {
   11267            0 :         {
   11268            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11269            0 :           tree res = generic_simplify_448 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   11270            0 :           if (res) return res;
   11271              :         }
   11272            0 :         break;
   11273              :       }
   11274            0 :     case CONSTRUCTOR:
   11275            0 :       {
   11276            0 :         {
   11277            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11278            0 :           tree res = generic_simplify_449 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   11279            0 :           if (res) return res;
   11280              :         }
   11281            0 :         break;
   11282              :       }
   11283         1289 :     case INTEGER_CST:
   11284         1289 :       {
   11285         1289 :         {
   11286         1289 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11287         1289 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1864;
   11288         1289 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1864;
   11289         1289 :           {
   11290         1289 :             tree res_op0;
   11291         1289 :             res_op0 = captures[0];
   11292         1289 :             tree res_op1;
   11293         1289 :             res_op1 =  const_binop (MINUS_EXPR, TREE_TYPE (captures[1]),
   11294         1289 :  build_int_cst (TREE_TYPE (captures[1]),
   11295         1289 :  element_precision (type)), captures[1]);
   11296         1289 :             tree _r;
   11297         1289 :             _r = fold_build2_loc (loc, RROTATE_EXPR, type, res_op0, res_op1);
   11298         1289 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1075, __FILE__, __LINE__, true);
   11299              :             return _r;
   11300              :           }
   11301          651 : next_after_fail1864:;
   11302              :         }
   11303              :         break;
   11304              :       }
   11305            0 :     case MINUS_EXPR:
   11306            0 :       {
   11307            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11308            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11309            0 :         switch (TREE_CODE (_q30))
   11310              :           {
   11311            0 :           case INTEGER_CST:
   11312            0 :             {
   11313            0 :               {
   11314            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
   11315            0 :                 tree res = generic_simplify_585 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR);
   11316            0 :                 if (res) return res;
   11317              :               }
   11318            0 :               break;
   11319              :             }
   11320              :           default:;
   11321              :           }
   11322              :         break;
   11323              :       }
   11324          651 :     default:;
   11325              :     }
   11326          651 :   switch (TREE_CODE (_p0))
   11327              :     {
   11328            0 :     case LROTATE_EXPR:
   11329            0 :       {
   11330            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11331            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11332            0 :         switch (TREE_CODE (_q21))
   11333              :           {
   11334            0 :           case INTEGER_CST:
   11335            0 :             {
   11336            0 :               switch (TREE_CODE (_p1))
   11337              :                 {
   11338            0 :                 case INTEGER_CST:
   11339            0 :                   {
   11340            0 :                     {
   11341            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11342            0 :                       tree res = generic_simplify_450 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   11343            0 :                       if (res) return res;
   11344              :                     }
   11345            0 :                     break;
   11346              :                   }
   11347              :                 default:;
   11348              :                 }
   11349              :               break;
   11350              :             }
   11351              :           default:;
   11352              :           }
   11353              :         break;
   11354              :       }
   11355              :     default:;
   11356              :     }
   11357              :   return NULL_TREE;
   11358              : }
   11359              : 
   11360              : tree
   11361         2791 : generic_simplify_RROTATE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11362              : {
   11363         2791 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11364         2791 :   if (integer_all_onesp (_p0))
   11365              :     {
   11366            0 :       {
   11367            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11368            0 :         tree res = generic_simplify_584 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   11369            0 :         if (res) return res;
   11370              :       }
   11371              :     }
   11372         2791 :   if (integer_zerop (_p1))
   11373              :     {
   11374            1 :       {
   11375            1 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11376            1 :         tree res = generic_simplify_446 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   11377            1 :         if (res) return res;
   11378              :       }
   11379              :     }
   11380         2790 :   if (integer_zerop (_p0))
   11381              :     {
   11382            0 :       {
   11383            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11384            0 :         tree res = generic_simplify_447 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   11385            0 :         if (res) return res;
   11386              :       }
   11387              :     }
   11388         2790 :   switch (TREE_CODE (_p1))
   11389              :     {
   11390            0 :     case VECTOR_CST:
   11391            0 :       {
   11392            0 :         {
   11393            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11394            0 :           tree res = generic_simplify_448 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   11395            0 :           if (res) return res;
   11396              :         }
   11397            0 :         break;
   11398              :       }
   11399            0 :     case CONSTRUCTOR:
   11400            0 :       {
   11401            0 :         {
   11402            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11403            0 :           tree res = generic_simplify_449 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   11404            0 :           if (res) return res;
   11405              :         }
   11406            0 :         break;
   11407              :       }
   11408            0 :     case MINUS_EXPR:
   11409            0 :       {
   11410            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11411            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11412            0 :         switch (TREE_CODE (_q30))
   11413              :           {
   11414            0 :           case INTEGER_CST:
   11415            0 :             {
   11416            0 :               {
   11417            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
   11418            0 :                 tree res = generic_simplify_585 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR);
   11419            0 :                 if (res) return res;
   11420              :               }
   11421            0 :               break;
   11422              :             }
   11423              :           default:;
   11424              :           }
   11425              :         break;
   11426              :       }
   11427         2790 :     default:;
   11428              :     }
   11429         2790 :   switch (TREE_CODE (_p0))
   11430              :     {
   11431            0 :     case RROTATE_EXPR:
   11432            0 :       {
   11433            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11434            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11435            0 :         switch (TREE_CODE (_q21))
   11436              :           {
   11437            0 :           case INTEGER_CST:
   11438            0 :             {
   11439            0 :               switch (TREE_CODE (_p1))
   11440              :                 {
   11441            0 :                 case INTEGER_CST:
   11442            0 :                   {
   11443            0 :                     {
   11444            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11445            0 :                       tree res = generic_simplify_450 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   11446            0 :                       if (res) return res;
   11447              :                     }
   11448            0 :                     break;
   11449              :                   }
   11450              :                 default:;
   11451              :                 }
   11452              :               break;
   11453              :             }
   11454              :           default:;
   11455              :           }
   11456              :         break;
   11457              :       }
   11458              :     default:;
   11459              :     }
   11460              :   return NULL_TREE;
   11461              : }
   11462              : 
   11463              : tree
   11464       670047 : generic_simplify_COMPLEX_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11465              : {
   11466       670047 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11467       670047 :   switch (TREE_CODE (_p0))
   11468              :     {
   11469           40 :     case REALPART_EXPR:
   11470           40 :       {
   11471           40 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11472           40 :         switch (TREE_CODE (_p1))
   11473              :           {
   11474           30 :           case IMAGPART_EXPR:
   11475           30 :             {
   11476           30 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11477           30 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   11478              :                 {
   11479           30 :                   {
   11480           30 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11481           30 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1865;
   11482           30 :                     {
   11483           30 :                       tree _r;
   11484           30 :                       _r = captures[0];
   11485           30 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1076, __FILE__, __LINE__, true);
   11486       670047 :                       return _r;
   11487              :                     }
   11488            0 : next_after_fail1865:;
   11489              :                   }
   11490              :                 }
   11491              :               break;
   11492              :             }
   11493              :           default:;
   11494              :           }
   11495              :         break;
   11496              :       }
   11497              :     default:;
   11498              :     }
   11499              :   return NULL_TREE;
   11500              : }
   11501              : 
   11502              : tree
   11503       793770 : generic_simplify_UNORDERED_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11504              : {
   11505       793770 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11506       793770 :   switch (TREE_CODE (_p0))
   11507              :     {
   11508            0 :     case VEC_COND_EXPR:
   11509            0 :       {
   11510            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11511            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11512            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   11513            0 :         switch (TREE_CODE (_p1))
   11514              :           {
   11515            0 :           case VEC_COND_EXPR:
   11516            0 :             {
   11517            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   11518            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   11519            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   11520            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11521              :                 {
   11522            0 :                   {
   11523            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   11524            0 :                     if (VECTOR_TYPE_P (type)
   11525            0 :  && (TREE_CODE_CLASS (UNORDERED_EXPR) != tcc_comparison
   11526            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11527            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11528              :  || (optimize_vectors_before_lowering_p ()
   11529            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11530              : )
   11531              :                       {
   11532            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1866;
   11533            0 :                         {
   11534            0 :                           tree res_op0;
   11535            0 :                           res_op0 = captures[1];
   11536            0 :                           tree res_op1;
   11537            0 :                           {
   11538            0 :                             tree _o1[2], _r1;
   11539            0 :                             _o1[0] = captures[2];
   11540            0 :                             _o1[1] = captures[5];
   11541            0 :                             _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   11542            0 :                             if (EXPR_P (_r1))
   11543            0 :                               goto next_after_fail1866;
   11544            0 :                             res_op1 = _r1;
   11545              :                           }
   11546            0 :                           tree res_op2;
   11547            0 :                           {
   11548            0 :                             tree _o1[2], _r1;
   11549            0 :                             _o1[0] = captures[3];
   11550            0 :                             _o1[1] = captures[6];
   11551            0 :                             _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   11552            0 :                             if (EXPR_P (_r1))
   11553            0 :                               goto next_after_fail1866;
   11554            0 :                             res_op2 = _r1;
   11555              :                           }
   11556            0 :                           tree _r;
   11557            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11558            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 938, __FILE__, __LINE__, true);
   11559              :                           return _r;
   11560              :                         }
   11561            0 : next_after_fail1866:;
   11562              :                       }
   11563              :                   }
   11564              :                 }
   11565              :               break;
   11566              :             }
   11567            0 :           default:;
   11568              :           }
   11569            0 :         {
   11570            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   11571            0 :           if (VECTOR_TYPE_P (type)
   11572            0 :  && (TREE_CODE_CLASS (UNORDERED_EXPR) != tcc_comparison
   11573            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11574            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11575              :  || (optimize_vectors_before_lowering_p ()
   11576            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11577              : )
   11578              :             {
   11579            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1867;
   11580            0 :               {
   11581            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1867;
   11582            0 :                 tree res_op0;
   11583            0 :                 res_op0 = captures[1];
   11584            0 :                 tree res_op1;
   11585            0 :                 {
   11586            0 :                   tree _o1[2], _r1;
   11587            0 :                   _o1[0] = captures[2];
   11588            0 :                   _o1[1] = unshare_expr (captures[4]);
   11589            0 :                   _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   11590            0 :                   if (EXPR_P (_r1))
   11591            0 :                     goto next_after_fail1867;
   11592            0 :                   res_op1 = _r1;
   11593              :                 }
   11594            0 :                 tree res_op2;
   11595            0 :                 {
   11596            0 :                   tree _o1[2], _r1;
   11597            0 :                   _o1[0] = captures[3];
   11598            0 :                   _o1[1] = captures[4];
   11599            0 :                   _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   11600            0 :                   if (EXPR_P (_r1))
   11601            0 :                     goto next_after_fail1867;
   11602            0 :                   res_op2 = _r1;
   11603              :                 }
   11604            0 :                 tree _r;
   11605            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11606            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
   11607              :                 return _r;
   11608              :               }
   11609       793770 : next_after_fail1867:;
   11610              :             }
   11611              :         }
   11612              :         break;
   11613              :       }
   11614       793770 :     default:;
   11615              :     }
   11616       793770 :   switch (TREE_CODE (_p1))
   11617              :     {
   11618            0 :     case VEC_COND_EXPR:
   11619            0 :       {
   11620            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11621            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11622            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11623            0 :         {
   11624            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   11625            0 :           if (VECTOR_TYPE_P (type)
   11626            0 :  && (TREE_CODE_CLASS (UNORDERED_EXPR) != tcc_comparison
   11627            0 :  || types_match (type, TREE_TYPE (captures[3]))
   11628            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   11629              :  || (optimize_vectors_before_lowering_p ()
   11630            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   11631              : )
   11632              :             {
   11633            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1868;
   11634            0 :               {
   11635            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1868;
   11636            0 :                 tree res_op0;
   11637            0 :                 res_op0 = captures[2];
   11638            0 :                 tree res_op1;
   11639            0 :                 {
   11640            0 :                   tree _o1[2], _r1;
   11641            0 :                   _o1[0] = unshare_expr (captures[0]);
   11642            0 :                   _o1[1] = captures[3];
   11643            0 :                   _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   11644            0 :                   if (EXPR_P (_r1))
   11645            0 :                     goto next_after_fail1868;
   11646            0 :                   res_op1 = _r1;
   11647              :                 }
   11648            0 :                 tree res_op2;
   11649            0 :                 {
   11650            0 :                   tree _o1[2], _r1;
   11651            0 :                   _o1[0] = captures[0];
   11652            0 :                   _o1[1] = captures[4];
   11653            0 :                   _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   11654            0 :                   if (EXPR_P (_r1))
   11655            0 :                     goto next_after_fail1868;
   11656            0 :                   res_op2 = _r1;
   11657              :                 }
   11658            0 :                 tree _r;
   11659            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11660            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
   11661              :                 return _r;
   11662              :               }
   11663       793770 : next_after_fail1868:;
   11664              :             }
   11665              :         }
   11666              :         break;
   11667              :       }
   11668       793770 :     default:;
   11669              :     }
   11670       793770 :   switch (TREE_CODE (_p0))
   11671              :     {
   11672            0 :     case FLOAT_EXPR:
   11673            0 :       {
   11674            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11675            0 :         switch (TREE_CODE (_p1))
   11676              :           {
   11677            0 :           case FLOAT_EXPR:
   11678            0 :             {
   11679            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11680            0 :               {
   11681            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11682            0 :                 tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
   11683            0 :                 if (res) return res;
   11684              :               }
   11685            0 :               break;
   11686              :             }
   11687              :           default:;
   11688              :           }
   11689              :         break;
   11690              :       }
   11691           18 :     case NEGATE_EXPR:
   11692           18 :       {
   11693           18 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11694           18 :         switch (TREE_CODE (_p1))
   11695              :           {
   11696           18 :           case NEGATE_EXPR:
   11697           18 :             {
   11698           18 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11699           18 :               {
   11700           18 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11701           18 :                 tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
   11702           18 :                 if (res) return res;
   11703              :               }
   11704            0 :               break;
   11705              :             }
   11706            0 :           default:;
   11707              :           }
   11708            0 :       if (CONSTANT_CLASS_P (_p1))
   11709              :         {
   11710            0 :           {
   11711            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11712            0 :             tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
   11713            0 :             if (res) return res;
   11714              :           }
   11715              :         }
   11716              :         break;
   11717              :       }
   11718       793752 :     default:;
   11719              :     }
   11720       793752 :   switch (TREE_CODE (_p1))
   11721              :     {
   11722          519 :     case REAL_CST:
   11723          519 :       {
   11724          519 :         {
   11725          519 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11726          519 :           tree res = generic_simplify_591 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
   11727          519 :           if (res) return res;
   11728              :         }
   11729          519 :         break;
   11730              :       }
   11731       793752 :     default:;
   11732              :     }
   11733       793752 :   {
   11734       793752 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11735       793752 :     if (tree_expr_nan_p (captures[0]) || tree_expr_nan_p (captures[1])
   11736              : )
   11737              :       {
   11738            0 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1869;
   11739            0 :         {
   11740            0 :           tree _r;
   11741            0 :           _r =  constant_boolean_node (true, type);
   11742            0 :           if (TREE_SIDE_EFFECTS (captures[0]))
   11743            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11744            0 :           if (TREE_SIDE_EFFECTS (captures[1]))
   11745            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11746            0 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1077, __FILE__, __LINE__, true);
   11747              :           return _r;
   11748              :         }
   11749            0 : next_after_fail1869:;
   11750              :       }
   11751              :     else
   11752              :       {
   11753       793752 :         if (!tree_expr_maybe_nan_p (captures[0]) && !tree_expr_maybe_nan_p (captures[1])
   11754              : )
   11755              :           {
   11756           35 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1870;
   11757           35 :             {
   11758           35 :               tree _r;
   11759           35 :               _r =  constant_boolean_node (false, type);
   11760           35 :               if (TREE_SIDE_EFFECTS (captures[0]))
   11761            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11762           35 :               if (TREE_SIDE_EFFECTS (captures[1]))
   11763            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11764           35 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1078, __FILE__, __LINE__, true);
   11765              :               return _r;
   11766              :             }
   11767            0 : next_after_fail1870:;
   11768              :           }
   11769              :       }
   11770              :   }
   11771              :   return NULL_TREE;
   11772              : }
   11773              : 
   11774              : tree
   11775      1774730 : generic_simplify_UNGT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11776              : {
   11777      1774730 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11778      1774730 :   switch (TREE_CODE (_p0))
   11779              :     {
   11780            0 :     case VEC_COND_EXPR:
   11781            0 :       {
   11782            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11783            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11784            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   11785            0 :         switch (TREE_CODE (_p1))
   11786              :           {
   11787            0 :           case VEC_COND_EXPR:
   11788            0 :             {
   11789            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   11790            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   11791            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   11792            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11793              :                 {
   11794            0 :                   {
   11795            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   11796            0 :                     if (VECTOR_TYPE_P (type)
   11797            0 :  && (TREE_CODE_CLASS (UNGT_EXPR) != tcc_comparison
   11798            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11799            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11800              :  || (optimize_vectors_before_lowering_p ()
   11801            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11802              : )
   11803              :                       {
   11804            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1882;
   11805            0 :                         {
   11806            0 :                           tree res_op0;
   11807            0 :                           res_op0 = captures[1];
   11808            0 :                           tree res_op1;
   11809            0 :                           {
   11810            0 :                             tree _o1[2], _r1;
   11811            0 :                             _o1[0] = captures[2];
   11812            0 :                             _o1[1] = captures[5];
   11813            0 :                             _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
   11814            0 :                             if (EXPR_P (_r1))
   11815            0 :                               goto next_after_fail1882;
   11816            0 :                             res_op1 = _r1;
   11817              :                           }
   11818            0 :                           tree res_op2;
   11819            0 :                           {
   11820            0 :                             tree _o1[2], _r1;
   11821            0 :                             _o1[0] = captures[3];
   11822            0 :                             _o1[1] = captures[6];
   11823            0 :                             _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
   11824            0 :                             if (EXPR_P (_r1))
   11825            0 :                               goto next_after_fail1882;
   11826            0 :                             res_op2 = _r1;
   11827              :                           }
   11828            0 :                           tree _r;
   11829            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11830            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 938, __FILE__, __LINE__, true);
   11831              :                           return _r;
   11832              :                         }
   11833            0 : next_after_fail1882:;
   11834              :                       }
   11835              :                   }
   11836              :                 }
   11837              :               break;
   11838              :             }
   11839            0 :           default:;
   11840              :           }
   11841            0 :         {
   11842            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   11843            0 :           if (VECTOR_TYPE_P (type)
   11844            0 :  && (TREE_CODE_CLASS (UNGT_EXPR) != tcc_comparison
   11845            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11846            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11847              :  || (optimize_vectors_before_lowering_p ()
   11848            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11849              : )
   11850              :             {
   11851            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1883;
   11852            0 :               {
   11853            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1883;
   11854            0 :                 tree res_op0;
   11855            0 :                 res_op0 = captures[1];
   11856            0 :                 tree res_op1;
   11857            0 :                 {
   11858            0 :                   tree _o1[2], _r1;
   11859            0 :                   _o1[0] = captures[2];
   11860            0 :                   _o1[1] = unshare_expr (captures[4]);
   11861            0 :                   _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
   11862            0 :                   if (EXPR_P (_r1))
   11863            0 :                     goto next_after_fail1883;
   11864            0 :                   res_op1 = _r1;
   11865              :                 }
   11866            0 :                 tree res_op2;
   11867            0 :                 {
   11868            0 :                   tree _o1[2], _r1;
   11869            0 :                   _o1[0] = captures[3];
   11870            0 :                   _o1[1] = captures[4];
   11871            0 :                   _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
   11872            0 :                   if (EXPR_P (_r1))
   11873            0 :                     goto next_after_fail1883;
   11874            0 :                   res_op2 = _r1;
   11875              :                 }
   11876            0 :                 tree _r;
   11877            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11878            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
   11879              :                 return _r;
   11880              :               }
   11881      1774730 : next_after_fail1883:;
   11882              :             }
   11883              :         }
   11884              :         break;
   11885              :       }
   11886      1774730 :     default:;
   11887              :     }
   11888      1774730 :   switch (TREE_CODE (_p1))
   11889              :     {
   11890            0 :     case VEC_COND_EXPR:
   11891            0 :       {
   11892            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11893            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11894            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11895            0 :         {
   11896            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   11897            0 :           if (VECTOR_TYPE_P (type)
   11898            0 :  && (TREE_CODE_CLASS (UNGT_EXPR) != tcc_comparison
   11899            0 :  || types_match (type, TREE_TYPE (captures[3]))
   11900            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   11901              :  || (optimize_vectors_before_lowering_p ()
   11902            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   11903              : )
   11904              :             {
   11905            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1884;
   11906            0 :               {
   11907            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1884;
   11908            0 :                 tree res_op0;
   11909            0 :                 res_op0 = captures[2];
   11910            0 :                 tree res_op1;
   11911            0 :                 {
   11912            0 :                   tree _o1[2], _r1;
   11913            0 :                   _o1[0] = unshare_expr (captures[0]);
   11914            0 :                   _o1[1] = captures[3];
   11915            0 :                   _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
   11916            0 :                   if (EXPR_P (_r1))
   11917            0 :                     goto next_after_fail1884;
   11918            0 :                   res_op1 = _r1;
   11919              :                 }
   11920            0 :                 tree res_op2;
   11921            0 :                 {
   11922            0 :                   tree _o1[2], _r1;
   11923            0 :                   _o1[0] = captures[0];
   11924            0 :                   _o1[1] = captures[4];
   11925            0 :                   _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
   11926            0 :                   if (EXPR_P (_r1))
   11927            0 :                     goto next_after_fail1884;
   11928            0 :                   res_op2 = _r1;
   11929              :                 }
   11930            0 :                 tree _r;
   11931            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11932            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
   11933              :                 return _r;
   11934              :               }
   11935      1774730 : next_after_fail1884:;
   11936              :             }
   11937              :         }
   11938              :         break;
   11939              :       }
   11940      1774730 :     default:;
   11941              :     }
   11942      1774730 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11943              :     {
   11944            0 :       {
   11945            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11946            0 :         tree res = generic_simplify_592 (loc, type, _p0, _p1, captures, UNGT_EXPR);
   11947            0 :         if (res) return res;
   11948              :       }
   11949              :     }
   11950      1774730 :   switch (TREE_CODE (_p0))
   11951              :     {
   11952          339 :     case FLOAT_EXPR:
   11953          339 :       {
   11954          339 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11955          339 :         switch (TREE_CODE (_p1))
   11956              :           {
   11957            0 :           case FLOAT_EXPR:
   11958            0 :             {
   11959            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11960            0 :               {
   11961            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11962            0 :                 tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, UNGT_EXPR, GT_EXPR);
   11963            0 :                 if (res) return res;
   11964              :               }
   11965            0 :               break;
   11966              :             }
   11967              :           default:;
   11968              :           }
   11969              :         break;
   11970              :       }
   11971            0 :     case NEGATE_EXPR:
   11972            0 :       {
   11973            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11974            0 :         switch (TREE_CODE (_p1))
   11975              :           {
   11976            0 :           case NEGATE_EXPR:
   11977            0 :             {
   11978            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11979            0 :               {
   11980            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11981            0 :                 tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, UNGT_EXPR, UNLT_EXPR);
   11982            0 :                 if (res) return res;
   11983              :               }
   11984            0 :               break;
   11985              :             }
   11986            0 :           default:;
   11987              :           }
   11988            0 :       if (CONSTANT_CLASS_P (_p1))
   11989              :         {
   11990            0 :           {
   11991            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11992            0 :             tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, UNGT_EXPR, UNLT_EXPR);
   11993            0 :             if (res) return res;
   11994              :           }
   11995              :         }
   11996              :         break;
   11997              :       }
   11998      1774730 :     default:;
   11999              :     }
   12000      1774730 :   switch (TREE_CODE (_p1))
   12001              :     {
   12002      1397063 :     case REAL_CST:
   12003      1397063 :       {
   12004      1397063 :         {
   12005      1397063 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   12006      1397063 :           tree res = generic_simplify_591 (loc, type, _p0, _p1, captures, UNGT_EXPR);
   12007      1397063 :           if (res) return res;
   12008              :         }
   12009      1397061 :         break;
   12010              :       }
   12011              :     default:;
   12012              :     }
   12013              :   return NULL_TREE;
   12014              : }
   12015              : 
   12016              : tree
   12017     13157089 : 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)
   12018              : {
   12019     13157089 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   12020     13157089 :   switch (TREE_CODE (_p0))
   12021              :     {
   12022      1833470 :     case LT_EXPR:
   12023      1833470 :       {
   12024      1833470 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12025      1833470 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12026      1833470 :         switch (TREE_CODE (_q20))
   12027              :           {
   12028        11378 :           case MINUS_EXPR:
   12029        11378 :             {
   12030        11378 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12031        11378 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12032        11378 :               switch (TREE_CODE (_q30))
   12033              :                 {
   12034          600 :                 case SSA_NAME:
   12035          600 :                   {
   12036          600 :                     switch (TREE_CODE (_q31))
   12037              :                       {
   12038            0 :                       case CALL_EXPR:
   12039            0 :                         switch (get_call_combined_fn (_q31))
   12040              :                           {
   12041            0 :                           case CFN_BUILT_IN_FLOORF:
   12042            0 :                             if (call_expr_nargs (_q31) == 1)
   12043              :     {
   12044            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12045            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12046              :                                   {
   12047            0 :                                     switch (TREE_CODE (_q50))
   12048              :                                       {
   12049            0 :                                       case SSA_NAME:
   12050            0 :                                         {
   12051            0 :                                           switch (TREE_CODE (_q21))
   12052              :                                             {
   12053            0 :                                             case MINUS_EXPR:
   12054            0 :                                               {
   12055            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12056            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12057            0 :                                                 switch (TREE_CODE (_q80))
   12058              :                                                   {
   12059            0 :                                                   case CALL_EXPR:
   12060            0 :                                                     switch (get_call_combined_fn (_q80))
   12061              :                                                       {
   12062            0 :                                                       case CFN_BUILT_IN_CEILF:
   12063            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12064              :     {
   12065            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12066            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12067              :                                                               {
   12068            0 :                                                                 switch (TREE_CODE (_q90))
   12069              :                                                                   {
   12070            0 :                                                                   case SSA_NAME:
   12071            0 :                                                                     {
   12072            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12073              :                                                                         {
   12074            0 :                                                                           switch (TREE_CODE (_q81))
   12075              :                                                                             {
   12076            0 :                                                                             case SSA_NAME:
   12077            0 :                                                                               {
   12078            0 :                                                                                 switch (TREE_CODE (_p1))
   12079              :                                                                                   {
   12080            0 :                                                                                   case CALL_EXPR:
   12081            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12082              :                                                                                       {
   12083            0 :                                                                                       case CFN_BUILT_IN_FLOORF:
   12084            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12085              :     {
   12086            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12087            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12088              :                                                                                               {
   12089            0 :                                                                                                 switch (TREE_CODE (_q140))
   12090              :                                                                                                   {
   12091            0 :                                                                                                   case SSA_NAME:
   12092            0 :                                                                                                     {
   12093            0 :                                                                                                       switch (TREE_CODE (_p2))
   12094              :                                                                                                         {
   12095            0 :                                                                                                         case CALL_EXPR:
   12096            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12097              :                                                                                                             {
   12098            0 :                                                                                                             case CFN_BUILT_IN_CEILF:
   12099            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12100              :     {
   12101            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12102            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12103              :                                                                                                                     {
   12104            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12105              :                                                                                                                         {
   12106            0 :                                                                                                                         case SSA_NAME:
   12107            0 :                                                                                                                           {
   12108            0 :                                                                                                                             {
   12109            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12110            0 :                                                                                                                               tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   12111            0 :                                                                                                                               if (res) return res;
   12112              :                                                                                                                             }
   12113            0 :                                                                                                                             break;
   12114              :                                                                                                                           }
   12115              :                                                                                                                         default:;
   12116              :                                                                                                                         }
   12117              :                                                                                                                     }
   12118              :                                                                                                                 }
   12119              :                                                                                                               break;
   12120              :                                                                                                             default:;
   12121              :                                                                                                             }
   12122              :                                                                                                           break;
   12123              :                                                                                                         default:;
   12124              :                                                                                                         }
   12125              :                                                                                                       break;
   12126              :                                                                                                     }
   12127              :                                                                                                   default:;
   12128              :                                                                                                   }
   12129              :                                                                                               }
   12130              :                                                                                           }
   12131              :                                                                                         break;
   12132              :                                                                                       default:;
   12133              :                                                                                       }
   12134              :                                                                                     break;
   12135              :                                                                                   default:;
   12136              :                                                                                   }
   12137              :                                                                                 break;
   12138              :                                                                               }
   12139              :                                                                             default:;
   12140              :                                                                             }
   12141              :                                                                         }
   12142              :                                                                       break;
   12143              :                                                                     }
   12144              :                                                                   default:;
   12145              :                                                                   }
   12146              :                                                               }
   12147              :                                                           }
   12148              :                                                         break;
   12149              :                                                       default:;
   12150              :                                                       }
   12151              :                                                     break;
   12152              :                                                   default:;
   12153              :                                                   }
   12154              :                                                 break;
   12155              :                                               }
   12156              :                                             default:;
   12157              :                                             }
   12158              :                                           break;
   12159              :                                         }
   12160              :                                       default:;
   12161              :                                       }
   12162              :                                   }
   12163              :                               }
   12164              :                             break;
   12165            0 :                           case CFN_BUILT_IN_FLOORL:
   12166            0 :                             if (call_expr_nargs (_q31) == 1)
   12167              :     {
   12168            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12169            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12170              :                                   {
   12171            0 :                                     switch (TREE_CODE (_q50))
   12172              :                                       {
   12173            0 :                                       case SSA_NAME:
   12174            0 :                                         {
   12175            0 :                                           switch (TREE_CODE (_q21))
   12176              :                                             {
   12177            0 :                                             case MINUS_EXPR:
   12178            0 :                                               {
   12179            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12180            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12181            0 :                                                 switch (TREE_CODE (_q80))
   12182              :                                                   {
   12183            0 :                                                   case CALL_EXPR:
   12184            0 :                                                     switch (get_call_combined_fn (_q80))
   12185              :                                                       {
   12186            0 :                                                       case CFN_BUILT_IN_CEILL:
   12187            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12188              :     {
   12189            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12190            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12191              :                                                               {
   12192            0 :                                                                 switch (TREE_CODE (_q90))
   12193              :                                                                   {
   12194            0 :                                                                   case SSA_NAME:
   12195            0 :                                                                     {
   12196            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12197              :                                                                         {
   12198            0 :                                                                           switch (TREE_CODE (_q81))
   12199              :                                                                             {
   12200            0 :                                                                             case SSA_NAME:
   12201            0 :                                                                               {
   12202            0 :                                                                                 switch (TREE_CODE (_p1))
   12203              :                                                                                   {
   12204            0 :                                                                                   case CALL_EXPR:
   12205            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12206              :                                                                                       {
   12207            0 :                                                                                       case CFN_BUILT_IN_FLOORL:
   12208            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12209              :     {
   12210            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12211            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12212              :                                                                                               {
   12213            0 :                                                                                                 switch (TREE_CODE (_q140))
   12214              :                                                                                                   {
   12215            0 :                                                                                                   case SSA_NAME:
   12216            0 :                                                                                                     {
   12217            0 :                                                                                                       switch (TREE_CODE (_p2))
   12218              :                                                                                                         {
   12219            0 :                                                                                                         case CALL_EXPR:
   12220            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12221              :                                                                                                             {
   12222            0 :                                                                                                             case CFN_BUILT_IN_CEILL:
   12223            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12224              :     {
   12225            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12226            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12227              :                                                                                                                     {
   12228            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12229              :                                                                                                                         {
   12230            0 :                                                                                                                         case SSA_NAME:
   12231            0 :                                                                                                                           {
   12232            0 :                                                                                                                             {
   12233            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12234            0 :                                                                                                                               tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   12235            0 :                                                                                                                               if (res) return res;
   12236              :                                                                                                                             }
   12237            0 :                                                                                                                             break;
   12238              :                                                                                                                           }
   12239              :                                                                                                                         default:;
   12240              :                                                                                                                         }
   12241              :                                                                                                                     }
   12242              :                                                                                                                 }
   12243              :                                                                                                               break;
   12244              :                                                                                                             default:;
   12245              :                                                                                                             }
   12246              :                                                                                                           break;
   12247              :                                                                                                         default:;
   12248              :                                                                                                         }
   12249              :                                                                                                       break;
   12250              :                                                                                                     }
   12251              :                                                                                                   default:;
   12252              :                                                                                                   }
   12253              :                                                                                               }
   12254              :                                                                                           }
   12255              :                                                                                         break;
   12256              :                                                                                       default:;
   12257              :                                                                                       }
   12258              :                                                                                     break;
   12259              :                                                                                   default:;
   12260              :                                                                                   }
   12261              :                                                                                 break;
   12262              :                                                                               }
   12263              :                                                                             default:;
   12264              :                                                                             }
   12265              :                                                                         }
   12266              :                                                                       break;
   12267              :                                                                     }
   12268              :                                                                   default:;
   12269              :                                                                   }
   12270              :                                                               }
   12271              :                                                           }
   12272              :                                                         break;
   12273              :                                                       default:;
   12274              :                                                       }
   12275              :                                                     break;
   12276              :                                                   default:;
   12277              :                                                   }
   12278              :                                                 break;
   12279              :                                               }
   12280              :                                             default:;
   12281              :                                             }
   12282              :                                           break;
   12283              :                                         }
   12284              :                                       default:;
   12285              :                                       }
   12286              :                                   }
   12287              :                               }
   12288              :                             break;
   12289            0 :                           case CFN_FLOOR:
   12290            0 :                             if (call_expr_nargs (_q31) == 1)
   12291              :     {
   12292            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12293            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12294              :                                   {
   12295            0 :                                     switch (TREE_CODE (_q50))
   12296              :                                       {
   12297            0 :                                       case SSA_NAME:
   12298            0 :                                         {
   12299            0 :                                           switch (TREE_CODE (_q21))
   12300              :                                             {
   12301            0 :                                             case MINUS_EXPR:
   12302            0 :                                               {
   12303            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12304            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12305            0 :                                                 switch (TREE_CODE (_q80))
   12306              :                                                   {
   12307            0 :                                                   case CALL_EXPR:
   12308            0 :                                                     switch (get_call_combined_fn (_q80))
   12309              :                                                       {
   12310            0 :                                                       case CFN_CEIL:
   12311            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12312              :     {
   12313            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12314            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12315              :                                                               {
   12316            0 :                                                                 switch (TREE_CODE (_q90))
   12317              :                                                                   {
   12318            0 :                                                                   case SSA_NAME:
   12319            0 :                                                                     {
   12320            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12321              :                                                                         {
   12322            0 :                                                                           switch (TREE_CODE (_q81))
   12323              :                                                                             {
   12324            0 :                                                                             case SSA_NAME:
   12325            0 :                                                                               {
   12326            0 :                                                                                 switch (TREE_CODE (_p1))
   12327              :                                                                                   {
   12328            0 :                                                                                   case CALL_EXPR:
   12329            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12330              :                                                                                       {
   12331            0 :                                                                                       case CFN_FLOOR:
   12332            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12333              :     {
   12334            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12335            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12336              :                                                                                               {
   12337            0 :                                                                                                 switch (TREE_CODE (_q140))
   12338              :                                                                                                   {
   12339            0 :                                                                                                   case SSA_NAME:
   12340            0 :                                                                                                     {
   12341            0 :                                                                                                       switch (TREE_CODE (_p2))
   12342              :                                                                                                         {
   12343            0 :                                                                                                         case CALL_EXPR:
   12344            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12345              :                                                                                                             {
   12346            0 :                                                                                                             case CFN_CEIL:
   12347            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12348              :     {
   12349            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12350            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12351              :                                                                                                                     {
   12352            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12353              :                                                                                                                         {
   12354            0 :                                                                                                                         case SSA_NAME:
   12355            0 :                                                                                                                           {
   12356            0 :                                                                                                                             {
   12357            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12358            0 :                                                                                                                               tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_FLOOR, CFN_CEIL, CFN_FLOOR, CFN_CEIL);
   12359            0 :                                                                                                                               if (res) return res;
   12360              :                                                                                                                             }
   12361            0 :                                                                                                                             break;
   12362              :                                                                                                                           }
   12363              :                                                                                                                         default:;
   12364              :                                                                                                                         }
   12365              :                                                                                                                     }
   12366              :                                                                                                                 }
   12367              :                                                                                                               break;
   12368              :                                                                                                             default:;
   12369              :                                                                                                             }
   12370              :                                                                                                           break;
   12371              :                                                                                                         default:;
   12372              :                                                                                                         }
   12373              :                                                                                                       break;
   12374              :                                                                                                     }
   12375              :                                                                                                   default:;
   12376              :                                                                                                   }
   12377              :                                                                                               }
   12378              :                                                                                           }
   12379              :                                                                                         break;
   12380              :                                                                                       default:;
   12381              :                                                                                       }
   12382              :                                                                                     break;
   12383              :                                                                                   default:;
   12384              :                                                                                   }
   12385              :                                                                                 break;
   12386              :                                                                               }
   12387              :                                                                             default:;
   12388              :                                                                             }
   12389              :                                                                         }
   12390              :                                                                       break;
   12391              :                                                                     }
   12392              :                                                                   default:;
   12393              :                                                                   }
   12394              :                                                               }
   12395              :                                                           }
   12396              :                                                         break;
   12397              :                                                       default:;
   12398              :                                                       }
   12399              :                                                     break;
   12400              :                                                   default:;
   12401              :                                                   }
   12402              :                                                 break;
   12403              :                                               }
   12404              :                                             default:;
   12405              :                                             }
   12406              :                                           break;
   12407              :                                         }
   12408              :                                       default:;
   12409              :                                       }
   12410              :                                   }
   12411              :                               }
   12412              :                             break;
   12413            0 :                           case CFN_BUILT_IN_FLOOR:
   12414            0 :                             if (call_expr_nargs (_q31) == 1)
   12415              :     {
   12416            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12417            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12418              :                                   {
   12419            0 :                                     switch (TREE_CODE (_q50))
   12420              :                                       {
   12421            0 :                                       case SSA_NAME:
   12422            0 :                                         {
   12423            0 :                                           switch (TREE_CODE (_q21))
   12424              :                                             {
   12425            0 :                                             case MINUS_EXPR:
   12426            0 :                                               {
   12427            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12428            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12429            0 :                                                 switch (TREE_CODE (_q80))
   12430              :                                                   {
   12431            0 :                                                   case CALL_EXPR:
   12432            0 :                                                     switch (get_call_combined_fn (_q80))
   12433              :                                                       {
   12434            0 :                                                       case CFN_BUILT_IN_CEIL:
   12435            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12436              :     {
   12437            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12438            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12439              :                                                               {
   12440            0 :                                                                 switch (TREE_CODE (_q90))
   12441              :                                                                   {
   12442            0 :                                                                   case SSA_NAME:
   12443            0 :                                                                     {
   12444            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12445              :                                                                         {
   12446            0 :                                                                           switch (TREE_CODE (_q81))
   12447              :                                                                             {
   12448            0 :                                                                             case SSA_NAME:
   12449            0 :                                                                               {
   12450            0 :                                                                                 switch (TREE_CODE (_p1))
   12451              :                                                                                   {
   12452            0 :                                                                                   case CALL_EXPR:
   12453            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12454              :                                                                                       {
   12455            0 :                                                                                       case CFN_BUILT_IN_FLOOR:
   12456            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12457              :     {
   12458            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12459            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12460              :                                                                                               {
   12461            0 :                                                                                                 switch (TREE_CODE (_q140))
   12462              :                                                                                                   {
   12463            0 :                                                                                                   case SSA_NAME:
   12464            0 :                                                                                                     {
   12465            0 :                                                                                                       switch (TREE_CODE (_p2))
   12466              :                                                                                                         {
   12467            0 :                                                                                                         case CALL_EXPR:
   12468            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12469              :                                                                                                             {
   12470            0 :                                                                                                             case CFN_BUILT_IN_CEIL:
   12471            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12472              :     {
   12473            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12474            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12475              :                                                                                                                     {
   12476            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12477              :                                                                                                                         {
   12478            0 :                                                                                                                         case SSA_NAME:
   12479            0 :                                                                                                                           {
   12480            0 :                                                                                                                             {
   12481            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12482            0 :                                                                                                                               tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   12483            0 :                                                                                                                               if (res) return res;
   12484              :                                                                                                                             }
   12485            0 :                                                                                                                             break;
   12486              :                                                                                                                           }
   12487              :                                                                                                                         default:;
   12488              :                                                                                                                         }
   12489              :                                                                                                                     }
   12490              :                                                                                                                 }
   12491              :                                                                                                               break;
   12492              :                                                                                                             default:;
   12493              :                                                                                                             }
   12494              :                                                                                                           break;
   12495              :                                                                                                         default:;
   12496              :                                                                                                         }
   12497              :                                                                                                       break;
   12498              :                                                                                                     }
   12499              :                                                                                                   default:;
   12500              :                                                                                                   }
   12501              :                                                                                               }
   12502              :                                                                                           }
   12503              :                                                                                         break;
   12504              :                                                                                       default:;
   12505              :                                                                                       }
   12506              :                                                                                     break;
   12507              :                                                                                   default:;
   12508              :                                                                                   }
   12509              :                                                                                 break;
   12510              :                                                                               }
   12511              :                                                                             default:;
   12512              :                                                                             }
   12513              :                                                                         }
   12514              :                                                                       break;
   12515              :                                                                     }
   12516              :                                                                   default:;
   12517              :                                                                   }
   12518              :                                                               }
   12519              :                                                           }
   12520              :                                                         break;
   12521              :                                                       default:;
   12522              :                                                       }
   12523              :                                                     break;
   12524              :                                                   default:;
   12525              :                                                   }
   12526              :                                                 break;
   12527              :                                               }
   12528              :                                             default:;
   12529              :                                             }
   12530              :                                           break;
   12531              :                                         }
   12532              :                                       default:;
   12533              :                                       }
   12534              :                                   }
   12535              :                               }
   12536              :                             break;
   12537              :                           default:;
   12538              :                           }
   12539              :                         break;
   12540              :                       default:;
   12541              :                       }
   12542              :                     break;
   12543              :                   }
   12544              :                 default:;
   12545              :                 }
   12546              :               break;
   12547              :             }
   12548       102771 :           CASE_CONVERT:
   12549       102771 :             {
   12550       102771 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12551       102771 :               switch (TREE_CODE (_q21))
   12552              :                 {
   12553        21540 :                 case INTEGER_CST:
   12554        21540 :                   {
   12555        21540 :                     switch (TREE_CODE (_p1))
   12556              :                       {
   12557           31 :                       CASE_CONVERT:
   12558           31 :                         {
   12559           31 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   12560           31 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12561              :                             {
   12562           16 :                               switch (TREE_CODE (_p2))
   12563              :                                 {
   12564           16 :                                 case INTEGER_CST:
   12565           16 :                                   {
   12566           16 :                                     {
   12567           16 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   12568           16 :                                       tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   12569           16 :                                       if (res) return res;
   12570              :                                     }
   12571           16 :                                     break;
   12572              :                                   }
   12573              :                                 default:;
   12574              :                                 }
   12575              :                             }
   12576              :                           break;
   12577              :                         }
   12578        21540 :                       default:;
   12579              :                       }
   12580        21540 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   12581              :                       {
   12582            6 :                         switch (TREE_CODE (_p2))
   12583              :                           {
   12584            6 :                           case INTEGER_CST:
   12585            6 :                             {
   12586            6 :                               {
   12587            6 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   12588            6 :                                 tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   12589            6 :                                 if (res) return res;
   12590              :                               }
   12591            6 :                               break;
   12592              :                             }
   12593              :                           default:;
   12594              :                           }
   12595              :                       }
   12596        21540 :                     switch (TREE_CODE (_p1))
   12597              :                       {
   12598           25 :                       case PLUS_EXPR:
   12599           25 :                         {
   12600           25 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   12601           25 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   12602           25 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12603              :                             {
   12604            7 :                               switch (TREE_CODE (_q61))
   12605              :                                 {
   12606            7 :                                 case INTEGER_CST:
   12607            7 :                                   {
   12608            7 :                                     switch (TREE_CODE (_p2))
   12609              :                                       {
   12610            7 :                                       case INTEGER_CST:
   12611            7 :                                         {
   12612            7 :                                           {
   12613            7 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   12614            7 :                                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, PLUS_EXPR);
   12615            7 :                                             if (res) return res;
   12616              :                                           }
   12617            0 :                                           break;
   12618              :                                         }
   12619              :                                       default:;
   12620              :                                       }
   12621              :                                     break;
   12622              :                                   }
   12623              :                                 default:;
   12624              :                                 }
   12625              :                             }
   12626              :                           break;
   12627              :                         }
   12628            0 :                       case MINUS_EXPR:
   12629            0 :                         {
   12630            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   12631            0 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   12632            0 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12633              :                             {
   12634            0 :                               switch (TREE_CODE (_q61))
   12635              :                                 {
   12636            0 :                                 case INTEGER_CST:
   12637            0 :                                   {
   12638            0 :                                     switch (TREE_CODE (_p2))
   12639              :                                       {
   12640            0 :                                       case INTEGER_CST:
   12641            0 :                                         {
   12642            0 :                                           {
   12643            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   12644            0 :                                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MINUS_EXPR);
   12645            0 :                                             if (res) return res;
   12646              :                                           }
   12647            0 :                                           break;
   12648              :                                         }
   12649              :                                       default:;
   12650              :                                       }
   12651              :                                     break;
   12652              :                                   }
   12653              :                                 default:;
   12654              :                                 }
   12655              :                             }
   12656              :                           break;
   12657              :                         }
   12658              :                       default:;
   12659              :                       }
   12660              :                     break;
   12661              :                   }
   12662              :                 default:;
   12663              :                 }
   12664              :               break;
   12665              :             }
   12666      1833463 :           default:;
   12667              :           }
   12668      1833463 :         switch (TREE_CODE (_q21))
   12669              :           {
   12670       378016 :           case INTEGER_CST:
   12671       378016 :             {
   12672       378016 :               switch (TREE_CODE (_p1))
   12673              :                 {
   12674         1131 :                 CASE_CONVERT:
   12675         1131 :                   {
   12676         1131 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12677         1131 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12678              :                       {
   12679           36 :                         switch (TREE_CODE (_p2))
   12680              :                           {
   12681            5 :                           case INTEGER_CST:
   12682            5 :                             {
   12683            5 :                               {
   12684            5 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   12685            5 :                                 tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   12686            5 :                                 if (res) return res;
   12687              :                               }
   12688            5 :                               break;
   12689              :                             }
   12690              :                           default:;
   12691              :                           }
   12692              :                       }
   12693              :                     break;
   12694              :                   }
   12695       378016 :                 default:;
   12696              :                 }
   12697       378016 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12698              :                 {
   12699           81 :                   switch (TREE_CODE (_p2))
   12700              :                     {
   12701            8 :                     case INTEGER_CST:
   12702            8 :                       {
   12703            8 :                         {
   12704            8 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   12705            8 :                           tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   12706            8 :                           if (res) return res;
   12707              :                         }
   12708            0 :                         break;
   12709              :                       }
   12710              :                     default:;
   12711              :                     }
   12712              :                 }
   12713       378008 :               switch (TREE_CODE (_p1))
   12714              :                 {
   12715         9450 :                 case PLUS_EXPR:
   12716         9450 :                   {
   12717         9450 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12718         9450 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   12719         9450 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12720              :                       {
   12721         9415 :                         switch (TREE_CODE (_q51))
   12722              :                           {
   12723         9415 :                           case INTEGER_CST:
   12724         9415 :                             {
   12725         9415 :                               switch (TREE_CODE (_p2))
   12726              :                                 {
   12727           24 :                                 case INTEGER_CST:
   12728           24 :                                   {
   12729           24 :                                     {
   12730           24 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   12731           24 :                                       tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, PLUS_EXPR);
   12732           24 :                                       if (res) return res;
   12733              :                                     }
   12734           24 :                                     break;
   12735              :                                   }
   12736              :                                 default:;
   12737              :                                 }
   12738              :                               break;
   12739              :                             }
   12740              :                           default:;
   12741              :                           }
   12742              :                       }
   12743              :                     break;
   12744              :                   }
   12745           62 :                 case MINUS_EXPR:
   12746           62 :                   {
   12747           62 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12748           62 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   12749           62 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12750              :                       {
   12751            0 :                         switch (TREE_CODE (_q51))
   12752              :                           {
   12753            0 :                           case INTEGER_CST:
   12754            0 :                             {
   12755            0 :                               switch (TREE_CODE (_p2))
   12756              :                                 {
   12757            0 :                                 case INTEGER_CST:
   12758            0 :                                   {
   12759            0 :                                     {
   12760            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   12761            0 :                                       tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MINUS_EXPR);
   12762            0 :                                       if (res) return res;
   12763              :                                     }
   12764            0 :                                     break;
   12765              :                                   }
   12766              :                                 default:;
   12767              :                                 }
   12768              :                               break;
   12769              :                             }
   12770              :                           default:;
   12771              :                           }
   12772              :                       }
   12773              :                     break;
   12774              :                   }
   12775              :                 default:;
   12776              :                 }
   12777              :               break;
   12778              :             }
   12779      1833455 :           default:;
   12780              :           }
   12781      1833455 :         switch (TREE_CODE (_p1))
   12782              :           {
   12783            0 :           case MIN_EXPR:
   12784            0 :             {
   12785            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12786            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12787            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12788              :                 {
   12789            0 :                   switch (TREE_CODE (_p2))
   12790              :                     {
   12791            0 :                     case MIN_EXPR:
   12792            0 :                       {
   12793            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12794            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12795            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12796              :                           {
   12797            0 :                             {
   12798            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   12799            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12800            0 :                               if (res) return res;
   12801              :                             }
   12802              :                           }
   12803            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12804              :                           {
   12805            0 :                             {
   12806            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   12807            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12808            0 :                               if (res) return res;
   12809              :                             }
   12810              :                           }
   12811              :                         break;
   12812              :                       }
   12813              :                     default:;
   12814              :                     }
   12815              :                 }
   12816            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12817              :                 {
   12818            0 :                   switch (TREE_CODE (_p2))
   12819              :                     {
   12820            0 :                     case MIN_EXPR:
   12821            0 :                       {
   12822            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12823            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12824            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12825              :                           {
   12826            0 :                             {
   12827            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   12828            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12829            0 :                               if (res) return res;
   12830              :                             }
   12831              :                           }
   12832            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12833              :                           {
   12834            0 :                             {
   12835            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   12836            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12837            0 :                               if (res) return res;
   12838              :                             }
   12839              :                           }
   12840              :                         break;
   12841              :                       }
   12842              :                     default:;
   12843              :                     }
   12844              :                 }
   12845            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12846              :                 {
   12847            0 :                   switch (TREE_CODE (_p2))
   12848              :                     {
   12849            0 :                     case MIN_EXPR:
   12850            0 :                       {
   12851            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12852            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12853            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12854              :                           {
   12855            0 :                             {
   12856            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   12857            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12858            0 :                               if (res) return res;
   12859              :                             }
   12860              :                           }
   12861            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12862              :                           {
   12863            0 :                             {
   12864            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   12865            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12866            0 :                               if (res) return res;
   12867              :                             }
   12868              :                           }
   12869              :                         break;
   12870              :                       }
   12871            0 :                     default:;
   12872              :                     }
   12873            0 :                   {
   12874            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   12875            0 :                     tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12876            0 :                     if (res) return res;
   12877              :                   }
   12878              :                 }
   12879            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12880              :                 {
   12881            0 :                   switch (TREE_CODE (_p2))
   12882              :                     {
   12883            0 :                     case MIN_EXPR:
   12884            0 :                       {
   12885            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12886            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12887            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12888              :                           {
   12889            0 :                             {
   12890            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   12891            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12892            0 :                               if (res) return res;
   12893              :                             }
   12894              :                           }
   12895            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12896              :                           {
   12897            0 :                             {
   12898            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   12899            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12900            0 :                               if (res) return res;
   12901              :                             }
   12902              :                           }
   12903              :                         break;
   12904              :                       }
   12905            0 :                     default:;
   12906              :                     }
   12907            0 :                   {
   12908            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   12909            0 :                     tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12910            0 :                     if (res) return res;
   12911              :                   }
   12912              :                 }
   12913              :               break;
   12914              :             }
   12915           21 :           case MAX_EXPR:
   12916           21 :             {
   12917           21 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12918           21 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12919           21 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12920              :                 {
   12921            1 :                   switch (TREE_CODE (_p2))
   12922              :                     {
   12923            0 :                     case MAX_EXPR:
   12924            0 :                       {
   12925            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12926            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12927            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12928              :                           {
   12929            0 :                             {
   12930            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   12931            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12932            0 :                               if (res) return res;
   12933              :                             }
   12934              :                           }
   12935            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12936              :                           {
   12937            0 :                             {
   12938            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   12939            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12940            0 :                               if (res) return res;
   12941              :                             }
   12942              :                           }
   12943              :                         break;
   12944              :                       }
   12945            1 :                     default:;
   12946              :                     }
   12947            1 :                   {
   12948            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   12949            1 :                     tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12950            1 :                     if (res) return res;
   12951              :                   }
   12952              :                 }
   12953           20 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12954              :                 {
   12955            4 :                   switch (TREE_CODE (_p2))
   12956              :                     {
   12957            0 :                     case MAX_EXPR:
   12958            0 :                       {
   12959            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12960            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12961            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12962              :                           {
   12963            0 :                             {
   12964            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   12965            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12966            0 :                               if (res) return res;
   12967              :                             }
   12968              :                           }
   12969            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12970              :                           {
   12971            0 :                             {
   12972            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   12973            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12974            0 :                               if (res) return res;
   12975              :                             }
   12976              :                           }
   12977              :                         break;
   12978              :                       }
   12979              :                     default:;
   12980              :                     }
   12981              :                 }
   12982           20 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12983              :                 {
   12984            8 :                   switch (TREE_CODE (_p2))
   12985              :                     {
   12986            0 :                     case MAX_EXPR:
   12987            0 :                       {
   12988            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12989            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12990            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12991              :                           {
   12992            0 :                             {
   12993            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   12994            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   12995            0 :                               if (res) return res;
   12996              :                             }
   12997              :                           }
   12998            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12999              :                           {
   13000            0 :                             {
   13001            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   13002            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   13003            0 :                               if (res) return res;
   13004              :                             }
   13005              :                           }
   13006              :                         break;
   13007              :                       }
   13008              :                     default:;
   13009              :                     }
   13010              :                 }
   13011           20 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13012              :                 {
   13013            1 :                   switch (TREE_CODE (_p2))
   13014              :                     {
   13015            1 :                     case MAX_EXPR:
   13016            1 :                       {
   13017            1 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13018            1 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13019            1 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13020              :                           {
   13021            0 :                             {
   13022            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   13023            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   13024            0 :                               if (res) return res;
   13025              :                             }
   13026              :                           }
   13027            1 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13028              :                           {
   13029            1 :                             {
   13030            1 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   13031            1 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   13032            1 :                               if (res) return res;
   13033              :                             }
   13034              :                           }
   13035              :                         break;
   13036              :                       }
   13037              :                     default:;
   13038              :                     }
   13039              :                 }
   13040           19 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13041              :                 {
   13042            4 :                   {
   13043            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   13044            4 :                     tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   13045            4 :                     if (res) return res;
   13046              :                   }
   13047              :                 }
   13048              :               break;
   13049              :             }
   13050      1833453 :           default:;
   13051              :           }
   13052      1833453 :         {
   13053      1833453 :           tree _q20_pops[1];
   13054      1833453 :           if (tree_nop_convert (_q20, _q20_pops))
   13055              :             {
   13056        55330 :               tree _q30 = _q20_pops[0];
   13057        55330 :               if (integer_zerop (_q21))
   13058              :                 {
   13059        11829 :                   switch (TREE_CODE (_p1))
   13060              :                     {
   13061            0 :                     case MIN_EXPR:
   13062            0 :                       {
   13063            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   13064            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   13065            0 :                         if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13066              :                           {
   13067            0 :                             switch (TREE_CODE (_q61))
   13068              :                               {
   13069            0 :                               case INTEGER_CST:
   13070            0 :                                 {
   13071            0 :                                   switch (TREE_CODE (_p2))
   13072              :                                     {
   13073            0 :                                     case INTEGER_CST:
   13074            0 :                                       {
   13075            0 :                                         {
   13076            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q30, _q21, _p1, _q61, _p2 };
   13077            0 :                                           tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   13078            0 :                                           if (res) return res;
   13079              :                                         }
   13080            0 :                                         break;
   13081              :                                       }
   13082              :                                     default:;
   13083              :                                     }
   13084              :                                   break;
   13085              :                                 }
   13086              :                               default:;
   13087              :                               }
   13088              :                           }
   13089              :                         break;
   13090              :                       }
   13091              :                     default:;
   13092              :                     }
   13093              :                 }
   13094              :             }
   13095              :         }
   13096      1833453 :         if (integer_zerop (_q21))
   13097              :           {
   13098       331095 :             if (tree_expr_nonnegative_p (_p1))
   13099              :               {
   13100       297943 :                 switch (TREE_CODE (_p2))
   13101              :                   {
   13102           17 :                   case MIN_EXPR:
   13103           17 :                     {
   13104           17 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   13105           17 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   13106           17 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13107              :                         {
   13108           16 :                           if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   13109              :                             {
   13110            9 :                               {
   13111            9 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   13112            9 :                                 tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures);
   13113            9 :                                 if (res) return res;
   13114              :                               }
   13115              :                             }
   13116              :                         }
   13117            8 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13118              :                         {
   13119            0 :                           if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   13120              :                             {
   13121            0 :                               {
   13122            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   13123            0 :                                 tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures);
   13124            0 :                                 if (res) return res;
   13125              :                               }
   13126              :                             }
   13127              :                         }
   13128              :                       break;
   13129              :                     }
   13130              :                   default:;
   13131              :                   }
   13132              :               }
   13133              :           }
   13134      1833444 :         if (tree_expr_nonnegative_p (_q20))
   13135              :           {
   13136       534190 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   13137              :               {
   13138          167 :                 switch (TREE_CODE (_p2))
   13139              :                   {
   13140            5 :                   case ABS_EXPR:
   13141            5 :                     {
   13142            5 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   13143            5 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   13144              :                         {
   13145            0 :                           {
   13146            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   13147            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   13148            0 :                             if (res) return res;
   13149              :                           }
   13150              :                         }
   13151              :                       break;
   13152              :                     }
   13153              :                   default:;
   13154              :                   }
   13155              :               }
   13156       534190 :             switch (TREE_CODE (_p1))
   13157              :               {
   13158            0 :               case ABS_EXPR:
   13159            0 :                 {
   13160            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13161            0 :                   if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13162              :                     {
   13163            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   13164              :                         {
   13165            0 :                           {
   13166            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   13167            0 :                             tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   13168            0 :                             if (res) return res;
   13169              :                           }
   13170              :                         }
   13171              :                     }
   13172              :                   break;
   13173              :                 }
   13174              :               default:;
   13175              :               }
   13176              :           }
   13177              :         break;
   13178              :       }
   13179       574679 :     case GE_EXPR:
   13180       574679 :       {
   13181       574679 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13182       574679 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13183       574679 :         switch (TREE_CODE (_q20))
   13184              :           {
   13185        38302 :           case MINUS_EXPR:
   13186        38302 :             {
   13187        38302 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13188        38302 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13189        38302 :               switch (TREE_CODE (_q30))
   13190              :                 {
   13191          532 :                 case SSA_NAME:
   13192          532 :                   {
   13193          532 :                     switch (TREE_CODE (_q31))
   13194              :                       {
   13195            0 :                       case CALL_EXPR:
   13196            0 :                         switch (get_call_combined_fn (_q31))
   13197              :                           {
   13198            0 :                           case CFN_BUILT_IN_FLOORF:
   13199            0 :                             if (call_expr_nargs (_q31) == 1)
   13200              :     {
   13201            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   13202            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   13203              :                                   {
   13204            0 :                                     switch (TREE_CODE (_q50))
   13205              :                                       {
   13206            0 :                                       case SSA_NAME:
   13207            0 :                                         {
   13208            0 :                                           switch (TREE_CODE (_q21))
   13209              :                                             {
   13210            0 :                                             case MINUS_EXPR:
   13211            0 :                                               {
   13212            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13213            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13214            0 :                                                 switch (TREE_CODE (_q80))
   13215              :                                                   {
   13216            0 :                                                   case CALL_EXPR:
   13217            0 :                                                     switch (get_call_combined_fn (_q80))
   13218              :                                                       {
   13219            0 :                                                       case CFN_BUILT_IN_CEILF:
   13220            0 :                                                         if (call_expr_nargs (_q80) == 1)
   13221              :     {
   13222            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   13223            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   13224              :                                                               {
   13225            0 :                                                                 switch (TREE_CODE (_q90))
   13226              :                                                                   {
   13227            0 :                                                                   case SSA_NAME:
   13228            0 :                                                                     {
   13229            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13230              :                                                                         {
   13231            0 :                                                                           switch (TREE_CODE (_q81))
   13232              :                                                                             {
   13233            0 :                                                                             case SSA_NAME:
   13234            0 :                                                                               {
   13235            0 :                                                                                 switch (TREE_CODE (_p1))
   13236              :                                                                                   {
   13237            0 :                                                                                   case CALL_EXPR:
   13238            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13239              :                                                                                       {
   13240            0 :                                                                                       case CFN_BUILT_IN_CEILF:
   13241            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13242              :     {
   13243            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13244            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   13245              :                                                                                               {
   13246            0 :                                                                                                 switch (TREE_CODE (_q140))
   13247              :                                                                                                   {
   13248            0 :                                                                                                   case SSA_NAME:
   13249            0 :                                                                                                     {
   13250            0 :                                                                                                       switch (TREE_CODE (_p2))
   13251              :                                                                                                         {
   13252            0 :                                                                                                         case CALL_EXPR:
   13253            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13254              :                                                                                                             {
   13255            0 :                                                                                                             case CFN_BUILT_IN_FLOORF:
   13256            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13257              :     {
   13258            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13259            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   13260              :                                                                                                                     {
   13261            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13262              :                                                                                                                         {
   13263            0 :                                                                                                                         case SSA_NAME:
   13264            0 :                                                                                                                           {
   13265            0 :                                                                                                                             {
   13266            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   13267            0 :                                                                                                                               tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   13268            0 :                                                                                                                               if (res) return res;
   13269              :                                                                                                                             }
   13270            0 :                                                                                                                             break;
   13271              :                                                                                                                           }
   13272              :                                                                                                                         default:;
   13273              :                                                                                                                         }
   13274              :                                                                                                                     }
   13275              :                                                                                                                 }
   13276              :                                                                                                               break;
   13277              :                                                                                                             default:;
   13278              :                                                                                                             }
   13279              :                                                                                                           break;
   13280              :                                                                                                         default:;
   13281              :                                                                                                         }
   13282              :                                                                                                       break;
   13283              :                                                                                                     }
   13284              :                                                                                                   default:;
   13285              :                                                                                                   }
   13286              :                                                                                               }
   13287              :                                                                                           }
   13288              :                                                                                         break;
   13289              :                                                                                       default:;
   13290              :                                                                                       }
   13291              :                                                                                     break;
   13292              :                                                                                   default:;
   13293              :                                                                                   }
   13294              :                                                                                 break;
   13295              :                                                                               }
   13296              :                                                                             default:;
   13297              :                                                                             }
   13298              :                                                                         }
   13299              :                                                                       break;
   13300              :                                                                     }
   13301              :                                                                   default:;
   13302              :                                                                   }
   13303              :                                                               }
   13304              :                                                           }
   13305              :                                                         break;
   13306              :                                                       default:;
   13307              :                                                       }
   13308              :                                                     break;
   13309              :                                                   default:;
   13310              :                                                   }
   13311              :                                                 break;
   13312              :                                               }
   13313              :                                             default:;
   13314              :                                             }
   13315              :                                           break;
   13316              :                                         }
   13317              :                                       default:;
   13318              :                                       }
   13319              :                                   }
   13320              :                               }
   13321              :                             break;
   13322            0 :                           case CFN_BUILT_IN_FLOORL:
   13323            0 :                             if (call_expr_nargs (_q31) == 1)
   13324              :     {
   13325            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   13326            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   13327              :                                   {
   13328            0 :                                     switch (TREE_CODE (_q50))
   13329              :                                       {
   13330            0 :                                       case SSA_NAME:
   13331            0 :                                         {
   13332            0 :                                           switch (TREE_CODE (_q21))
   13333              :                                             {
   13334            0 :                                             case MINUS_EXPR:
   13335            0 :                                               {
   13336            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13337            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13338            0 :                                                 switch (TREE_CODE (_q80))
   13339              :                                                   {
   13340            0 :                                                   case CALL_EXPR:
   13341            0 :                                                     switch (get_call_combined_fn (_q80))
   13342              :                                                       {
   13343            0 :                                                       case CFN_BUILT_IN_CEILL:
   13344            0 :                                                         if (call_expr_nargs (_q80) == 1)
   13345              :     {
   13346            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   13347            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   13348              :                                                               {
   13349            0 :                                                                 switch (TREE_CODE (_q90))
   13350              :                                                                   {
   13351            0 :                                                                   case SSA_NAME:
   13352            0 :                                                                     {
   13353            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13354              :                                                                         {
   13355            0 :                                                                           switch (TREE_CODE (_q81))
   13356              :                                                                             {
   13357            0 :                                                                             case SSA_NAME:
   13358            0 :                                                                               {
   13359            0 :                                                                                 switch (TREE_CODE (_p1))
   13360              :                                                                                   {
   13361            0 :                                                                                   case CALL_EXPR:
   13362            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13363              :                                                                                       {
   13364            0 :                                                                                       case CFN_BUILT_IN_CEILL:
   13365            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13366              :     {
   13367            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13368            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   13369              :                                                                                               {
   13370            0 :                                                                                                 switch (TREE_CODE (_q140))
   13371              :                                                                                                   {
   13372            0 :                                                                                                   case SSA_NAME:
   13373            0 :                                                                                                     {
   13374            0 :                                                                                                       switch (TREE_CODE (_p2))
   13375              :                                                                                                         {
   13376            0 :                                                                                                         case CALL_EXPR:
   13377            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13378              :                                                                                                             {
   13379            0 :                                                                                                             case CFN_BUILT_IN_FLOORL:
   13380            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13381              :     {
   13382            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13383            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   13384              :                                                                                                                     {
   13385            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13386              :                                                                                                                         {
   13387            0 :                                                                                                                         case SSA_NAME:
   13388            0 :                                                                                                                           {
   13389            0 :                                                                                                                             {
   13390            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   13391            0 :                                                                                                                               tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   13392            0 :                                                                                                                               if (res) return res;
   13393              :                                                                                                                             }
   13394            0 :                                                                                                                             break;
   13395              :                                                                                                                           }
   13396              :                                                                                                                         default:;
   13397              :                                                                                                                         }
   13398              :                                                                                                                     }
   13399              :                                                                                                                 }
   13400              :                                                                                                               break;
   13401              :                                                                                                             default:;
   13402              :                                                                                                             }
   13403              :                                                                                                           break;
   13404              :                                                                                                         default:;
   13405              :                                                                                                         }
   13406              :                                                                                                       break;
   13407              :                                                                                                     }
   13408              :                                                                                                   default:;
   13409              :                                                                                                   }
   13410              :                                                                                               }
   13411              :                                                                                           }
   13412              :                                                                                         break;
   13413              :                                                                                       default:;
   13414              :                                                                                       }
   13415              :                                                                                     break;
   13416              :                                                                                   default:;
   13417              :                                                                                   }
   13418              :                                                                                 break;
   13419              :                                                                               }
   13420              :                                                                             default:;
   13421              :                                                                             }
   13422              :                                                                         }
   13423              :                                                                       break;
   13424              :                                                                     }
   13425              :                                                                   default:;
   13426              :                                                                   }
   13427              :                                                               }
   13428              :                                                           }
   13429              :                                                         break;
   13430              :                                                       default:;
   13431              :                                                       }
   13432              :                                                     break;
   13433              :                                                   default:;
   13434              :                                                   }
   13435              :                                                 break;
   13436              :                                               }
   13437              :                                             default:;
   13438              :                                             }
   13439              :                                           break;
   13440              :                                         }
   13441              :                                       default:;
   13442              :                                       }
   13443              :                                   }
   13444              :                               }
   13445              :                             break;
   13446            0 :                           case CFN_FLOOR:
   13447            0 :                             if (call_expr_nargs (_q31) == 1)
   13448              :     {
   13449            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   13450            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   13451              :                                   {
   13452            0 :                                     switch (TREE_CODE (_q50))
   13453              :                                       {
   13454            0 :                                       case SSA_NAME:
   13455            0 :                                         {
   13456            0 :                                           switch (TREE_CODE (_q21))
   13457              :                                             {
   13458            0 :                                             case MINUS_EXPR:
   13459            0 :                                               {
   13460            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13461            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13462            0 :                                                 switch (TREE_CODE (_q80))
   13463              :                                                   {
   13464            0 :                                                   case CALL_EXPR:
   13465            0 :                                                     switch (get_call_combined_fn (_q80))
   13466              :                                                       {
   13467            0 :                                                       case CFN_CEIL:
   13468            0 :                                                         if (call_expr_nargs (_q80) == 1)
   13469              :     {
   13470            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   13471            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   13472              :                                                               {
   13473            0 :                                                                 switch (TREE_CODE (_q90))
   13474              :                                                                   {
   13475            0 :                                                                   case SSA_NAME:
   13476            0 :                                                                     {
   13477            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13478              :                                                                         {
   13479            0 :                                                                           switch (TREE_CODE (_q81))
   13480              :                                                                             {
   13481            0 :                                                                             case SSA_NAME:
   13482            0 :                                                                               {
   13483            0 :                                                                                 switch (TREE_CODE (_p1))
   13484              :                                                                                   {
   13485            0 :                                                                                   case CALL_EXPR:
   13486            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13487              :                                                                                       {
   13488            0 :                                                                                       case CFN_CEIL:
   13489            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13490              :     {
   13491            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13492            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   13493              :                                                                                               {
   13494            0 :                                                                                                 switch (TREE_CODE (_q140))
   13495              :                                                                                                   {
   13496            0 :                                                                                                   case SSA_NAME:
   13497            0 :                                                                                                     {
   13498            0 :                                                                                                       switch (TREE_CODE (_p2))
   13499              :                                                                                                         {
   13500            0 :                                                                                                         case CALL_EXPR:
   13501            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13502              :                                                                                                             {
   13503            0 :                                                                                                             case CFN_FLOOR:
   13504            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13505              :     {
   13506            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13507            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   13508              :                                                                                                                     {
   13509            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13510              :                                                                                                                         {
   13511            0 :                                                                                                                         case SSA_NAME:
   13512            0 :                                                                                                                           {
   13513            0 :                                                                                                                             {
   13514            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   13515            0 :                                                                                                                               tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_CEIL, CFN_FLOOR, CFN_FLOOR, CFN_CEIL);
   13516            0 :                                                                                                                               if (res) return res;
   13517              :                                                                                                                             }
   13518            0 :                                                                                                                             break;
   13519              :                                                                                                                           }
   13520              :                                                                                                                         default:;
   13521              :                                                                                                                         }
   13522              :                                                                                                                     }
   13523              :                                                                                                                 }
   13524              :                                                                                                               break;
   13525              :                                                                                                             default:;
   13526              :                                                                                                             }
   13527              :                                                                                                           break;
   13528              :                                                                                                         default:;
   13529              :                                                                                                         }
   13530              :                                                                                                       break;
   13531              :                                                                                                     }
   13532              :                                                                                                   default:;
   13533              :                                                                                                   }
   13534              :                                                                                               }
   13535              :                                                                                           }
   13536              :                                                                                         break;
   13537              :                                                                                       default:;
   13538              :                                                                                       }
   13539              :                                                                                     break;
   13540              :                                                                                   default:;
   13541              :                                                                                   }
   13542              :                                                                                 break;
   13543              :                                                                               }
   13544              :                                                                             default:;
   13545              :                                                                             }
   13546              :                                                                         }
   13547              :                                                                       break;
   13548              :                                                                     }
   13549              :                                                                   default:;
   13550              :                                                                   }
   13551              :                                                               }
   13552              :                                                           }
   13553              :                                                         break;
   13554              :                                                       default:;
   13555              :                                                       }
   13556              :                                                     break;
   13557              :                                                   default:;
   13558              :                                                   }
   13559              :                                                 break;
   13560              :                                               }
   13561              :                                             default:;
   13562              :                                             }
   13563              :                                           break;
   13564              :                                         }
   13565              :                                       default:;
   13566              :                                       }
   13567              :                                   }
   13568              :                               }
   13569              :                             break;
   13570            0 :                           case CFN_BUILT_IN_FLOOR:
   13571            0 :                             if (call_expr_nargs (_q31) == 1)
   13572              :     {
   13573            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   13574            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   13575              :                                   {
   13576            0 :                                     switch (TREE_CODE (_q50))
   13577              :                                       {
   13578            0 :                                       case SSA_NAME:
   13579            0 :                                         {
   13580            0 :                                           switch (TREE_CODE (_q21))
   13581              :                                             {
   13582            0 :                                             case MINUS_EXPR:
   13583            0 :                                               {
   13584            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13585            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13586            0 :                                                 switch (TREE_CODE (_q80))
   13587              :                                                   {
   13588            0 :                                                   case CALL_EXPR:
   13589            0 :                                                     switch (get_call_combined_fn (_q80))
   13590              :                                                       {
   13591            0 :                                                       case CFN_BUILT_IN_CEIL:
   13592            0 :                                                         if (call_expr_nargs (_q80) == 1)
   13593              :     {
   13594            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   13595            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   13596              :                                                               {
   13597            0 :                                                                 switch (TREE_CODE (_q90))
   13598              :                                                                   {
   13599            0 :                                                                   case SSA_NAME:
   13600            0 :                                                                     {
   13601            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13602              :                                                                         {
   13603            0 :                                                                           switch (TREE_CODE (_q81))
   13604              :                                                                             {
   13605            0 :                                                                             case SSA_NAME:
   13606            0 :                                                                               {
   13607            0 :                                                                                 switch (TREE_CODE (_p1))
   13608              :                                                                                   {
   13609            0 :                                                                                   case CALL_EXPR:
   13610            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13611              :                                                                                       {
   13612            0 :                                                                                       case CFN_BUILT_IN_CEIL:
   13613            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13614              :     {
   13615            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13616            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   13617              :                                                                                               {
   13618            0 :                                                                                                 switch (TREE_CODE (_q140))
   13619              :                                                                                                   {
   13620            0 :                                                                                                   case SSA_NAME:
   13621            0 :                                                                                                     {
   13622            0 :                                                                                                       switch (TREE_CODE (_p2))
   13623              :                                                                                                         {
   13624            0 :                                                                                                         case CALL_EXPR:
   13625            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13626              :                                                                                                             {
   13627            0 :                                                                                                             case CFN_BUILT_IN_FLOOR:
   13628            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13629              :     {
   13630            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13631            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   13632              :                                                                                                                     {
   13633            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13634              :                                                                                                                         {
   13635            0 :                                                                                                                         case SSA_NAME:
   13636            0 :                                                                                                                           {
   13637            0 :                                                                                                                             {
   13638            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   13639            0 :                                                                                                                               tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   13640            0 :                                                                                                                               if (res) return res;
   13641              :                                                                                                                             }
   13642            0 :                                                                                                                             break;
   13643              :                                                                                                                           }
   13644              :                                                                                                                         default:;
   13645              :                                                                                                                         }
   13646              :                                                                                                                     }
   13647              :                                                                                                                 }
   13648              :                                                                                                               break;
   13649              :                                                                                                             default:;
   13650              :                                                                                                             }
   13651              :                                                                                                           break;
   13652              :                                                                                                         default:;
   13653              :                                                                                                         }
   13654              :                                                                                                       break;
   13655              :                                                                                                     }
   13656              :                                                                                                   default:;
   13657              :                                                                                                   }
   13658              :                                                                                               }
   13659              :                                                                                           }
   13660              :                                                                                         break;
   13661              :                                                                                       default:;
   13662              :                                                                                       }
   13663              :                                                                                     break;
   13664              :                                                                                   default:;
   13665              :                                                                                   }
   13666              :                                                                                 break;
   13667              :                                                                               }
   13668              :                                                                             default:;
   13669              :                                                                             }
   13670              :                                                                         }
   13671              :                                                                       break;
   13672              :                                                                     }
   13673              :                                                                   default:;
   13674              :                                                                   }
   13675              :                                                               }
   13676              :                                                           }
   13677              :                                                         break;
   13678              :                                                       default:;
   13679              :                                                       }
   13680              :                                                     break;
   13681              :                                                   default:;
   13682              :                                                   }
   13683              :                                                 break;
   13684              :                                               }
   13685              :                                             default:;
   13686              :                                             }
   13687              :                                           break;
   13688              :                                         }
   13689              :                                       default:;
   13690              :                                       }
   13691              :                                   }
   13692              :                               }
   13693              :                             break;
   13694              :                           default:;
   13695              :                           }
   13696              :                         break;
   13697              :                       default:;
   13698              :                       }
   13699              :                     break;
   13700              :                   }
   13701              :                 default:;
   13702              :                 }
   13703              :               break;
   13704              :             }
   13705        62327 :           CASE_CONVERT:
   13706        62327 :             {
   13707        62327 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13708        62327 :               switch (TREE_CODE (_q21))
   13709              :                 {
   13710        32789 :                 case INTEGER_CST:
   13711        32789 :                   {
   13712        32789 :                     switch (TREE_CODE (_p1))
   13713              :                       {
   13714        12215 :                       CASE_CONVERT:
   13715        12215 :                         {
   13716        12215 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13717        12215 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13718              :                             {
   13719         6631 :                               switch (TREE_CODE (_p2))
   13720              :                                 {
   13721         6623 :                                 case INTEGER_CST:
   13722         6623 :                                   {
   13723         6623 :                                     {
   13724         6623 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   13725         6623 :                                       tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13726         6623 :                                       if (res) return res;
   13727              :                                     }
   13728         6623 :                                     break;
   13729              :                                   }
   13730              :                                 default:;
   13731              :                                 }
   13732              :                             }
   13733              :                           break;
   13734              :                         }
   13735        32789 :                       default:;
   13736              :                       }
   13737        32789 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   13738              :                       {
   13739          312 :                         switch (TREE_CODE (_p2))
   13740              :                           {
   13741          299 :                           case INTEGER_CST:
   13742          299 :                             {
   13743          299 :                               {
   13744          299 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   13745          299 :                                 tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13746          299 :                                 if (res) return res;
   13747              :                               }
   13748          294 :                               break;
   13749              :                             }
   13750              :                           default:;
   13751              :                           }
   13752              :                       }
   13753        32784 :                     switch (TREE_CODE (_p1))
   13754              :                       {
   13755          398 :                       case PLUS_EXPR:
   13756          398 :                         {
   13757          398 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13758          398 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   13759          398 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13760              :                             {
   13761            0 :                               switch (TREE_CODE (_q61))
   13762              :                                 {
   13763            0 :                                 case INTEGER_CST:
   13764            0 :                                   {
   13765            0 :                                     switch (TREE_CODE (_p2))
   13766              :                                       {
   13767            0 :                                       case INTEGER_CST:
   13768            0 :                                         {
   13769            0 :                                           {
   13770            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   13771            0 :                                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, PLUS_EXPR);
   13772            0 :                                             if (res) return res;
   13773              :                                           }
   13774            0 :                                           break;
   13775              :                                         }
   13776              :                                       default:;
   13777              :                                       }
   13778              :                                     break;
   13779              :                                   }
   13780              :                                 default:;
   13781              :                                 }
   13782              :                             }
   13783              :                           break;
   13784              :                         }
   13785           73 :                       case MINUS_EXPR:
   13786           73 :                         {
   13787           73 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13788           73 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   13789           73 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13790              :                             {
   13791            0 :                               switch (TREE_CODE (_q61))
   13792              :                                 {
   13793            0 :                                 case INTEGER_CST:
   13794            0 :                                   {
   13795            0 :                                     switch (TREE_CODE (_p2))
   13796              :                                       {
   13797            0 :                                       case INTEGER_CST:
   13798            0 :                                         {
   13799            0 :                                           {
   13800            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   13801            0 :                                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MINUS_EXPR);
   13802            0 :                                             if (res) return res;
   13803              :                                           }
   13804            0 :                                           break;
   13805              :                                         }
   13806              :                                       default:;
   13807              :                                       }
   13808              :                                     break;
   13809              :                                   }
   13810              :                                 default:;
   13811              :                                 }
   13812              :                             }
   13813              :                           break;
   13814              :                         }
   13815              :                       default:;
   13816              :                       }
   13817              :                     break;
   13818              :                   }
   13819              :                 default:;
   13820              :                 }
   13821              :               break;
   13822              :             }
   13823       574674 :           default:;
   13824              :           }
   13825       574674 :         switch (TREE_CODE (_q21))
   13826              :           {
   13827       216511 :           case INTEGER_CST:
   13828       216511 :             {
   13829       216511 :               switch (TREE_CODE (_p1))
   13830              :                 {
   13831        57350 :                 CASE_CONVERT:
   13832        57350 :                   {
   13833        57350 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13834        57350 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13835              :                       {
   13836          150 :                         switch (TREE_CODE (_p2))
   13837              :                           {
   13838           45 :                           case INTEGER_CST:
   13839           45 :                             {
   13840           45 :                               {
   13841           45 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13842           45 :                                 tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13843           45 :                                 if (res) return res;
   13844              :                               }
   13845           45 :                               break;
   13846              :                             }
   13847              :                           default:;
   13848              :                           }
   13849              :                       }
   13850              :                     break;
   13851              :                   }
   13852       216511 :                 default:;
   13853              :                 }
   13854       216511 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13855              :                 {
   13856        43295 :                   switch (TREE_CODE (_p2))
   13857              :                     {
   13858        10957 :                     case INTEGER_CST:
   13859        10957 :                       {
   13860        10957 :                         {
   13861        10957 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13862        10957 :                           tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13863        10957 :                           if (res) return res;
   13864              :                         }
   13865           19 :                         break;
   13866              :                       }
   13867              :                     default:;
   13868              :                     }
   13869              :                 }
   13870       205573 :               switch (TREE_CODE (_p1))
   13871              :                 {
   13872        17356 :                 case PLUS_EXPR:
   13873        17356 :                   {
   13874        17356 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13875        17356 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   13876        17356 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13877              :                       {
   13878         6576 :                         switch (TREE_CODE (_q51))
   13879              :                           {
   13880         6576 :                           case INTEGER_CST:
   13881         6576 :                             {
   13882         6576 :                               switch (TREE_CODE (_p2))
   13883              :                                 {
   13884         6576 :                                 case INTEGER_CST:
   13885         6576 :                                   {
   13886         6576 :                                     {
   13887         6576 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   13888         6576 :                                       tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, PLUS_EXPR);
   13889         6576 :                                       if (res) return res;
   13890              :                                     }
   13891            0 :                                     break;
   13892              :                                   }
   13893              :                                 default:;
   13894              :                                 }
   13895              :                               break;
   13896              :                             }
   13897              :                           default:;
   13898              :                           }
   13899              :                       }
   13900              :                     break;
   13901              :                   }
   13902          223 :                 case MINUS_EXPR:
   13903          223 :                   {
   13904          223 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13905          223 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   13906          223 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13907              :                       {
   13908            0 :                         switch (TREE_CODE (_q51))
   13909              :                           {
   13910            0 :                           case INTEGER_CST:
   13911            0 :                             {
   13912            0 :                               switch (TREE_CODE (_p2))
   13913              :                                 {
   13914            0 :                                 case INTEGER_CST:
   13915            0 :                                   {
   13916            0 :                                     {
   13917            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   13918            0 :                                       tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MINUS_EXPR);
   13919            0 :                                       if (res) return res;
   13920              :                                     }
   13921            0 :                                     break;
   13922              :                                   }
   13923              :                                 default:;
   13924              :                                 }
   13925              :                               break;
   13926              :                             }
   13927              :                           default:;
   13928              :                           }
   13929              :                       }
   13930              :                     break;
   13931              :                   }
   13932              :                 default:;
   13933              :                 }
   13934              :               break;
   13935              :             }
   13936       557160 :           default:;
   13937              :           }
   13938       557160 :         switch (TREE_CODE (_p1))
   13939              :           {
   13940           16 :           case MIN_EXPR:
   13941           16 :             {
   13942           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13943           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13944           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13945              :                 {
   13946           15 :                   switch (TREE_CODE (_p2))
   13947              :                     {
   13948            0 :                     case MIN_EXPR:
   13949            0 :                       {
   13950            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13951            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13952            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13953              :                           {
   13954            0 :                             {
   13955            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   13956            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13957            0 :                               if (res) return res;
   13958              :                             }
   13959              :                           }
   13960            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13961              :                           {
   13962            0 :                             {
   13963            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   13964            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13965            0 :                               if (res) return res;
   13966              :                             }
   13967              :                           }
   13968              :                         break;
   13969              :                       }
   13970           15 :                     default:;
   13971              :                     }
   13972           15 :                   {
   13973           15 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   13974           15 :                     tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13975           15 :                     if (res) return res;
   13976              :                   }
   13977              :                 }
   13978            8 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13979              :                 {
   13980            0 :                   switch (TREE_CODE (_p2))
   13981              :                     {
   13982            0 :                     case MIN_EXPR:
   13983            0 :                       {
   13984            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13985            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13986            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13987              :                           {
   13988            0 :                             {
   13989            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   13990            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13991            0 :                               if (res) return res;
   13992              :                             }
   13993              :                           }
   13994            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13995              :                           {
   13996            0 :                             {
   13997            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   13998            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13999            0 :                               if (res) return res;
   14000              :                             }
   14001              :                           }
   14002              :                         break;
   14003              :                       }
   14004              :                     default:;
   14005              :                     }
   14006              :                 }
   14007            8 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14008              :                 {
   14009            0 :                   switch (TREE_CODE (_p2))
   14010              :                     {
   14011            0 :                     case MIN_EXPR:
   14012            0 :                       {
   14013            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14014            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14015            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14016              :                           {
   14017            0 :                             {
   14018            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   14019            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   14020            0 :                               if (res) return res;
   14021              :                             }
   14022              :                           }
   14023            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14024              :                           {
   14025            0 :                             {
   14026            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   14027            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   14028            0 :                               if (res) return res;
   14029              :                             }
   14030              :                           }
   14031              :                         break;
   14032              :                       }
   14033              :                     default:;
   14034              :                     }
   14035              :                 }
   14036            8 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14037              :                 {
   14038            0 :                   switch (TREE_CODE (_p2))
   14039              :                     {
   14040            0 :                     case MIN_EXPR:
   14041            0 :                       {
   14042            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14043            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14044            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14045              :                           {
   14046            0 :                             {
   14047            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   14048            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   14049            0 :                               if (res) return res;
   14050              :                             }
   14051              :                           }
   14052            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14053              :                           {
   14054            0 :                             {
   14055            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   14056            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   14057            0 :                               if (res) return res;
   14058              :                             }
   14059              :                           }
   14060              :                         break;
   14061              :                       }
   14062              :                     default:;
   14063              :                     }
   14064              :                 }
   14065            8 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14066              :                 {
   14067            0 :                   {
   14068            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   14069            0 :                     tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   14070            0 :                     if (res) return res;
   14071              :                   }
   14072              :                 }
   14073              :               break;
   14074              :             }
   14075            9 :           case MAX_EXPR:
   14076            9 :             {
   14077            9 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14078            9 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14079            9 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14080              :                 {
   14081            1 :                   switch (TREE_CODE (_p2))
   14082              :                     {
   14083            0 :                     case MAX_EXPR:
   14084            0 :                       {
   14085            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14086            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14087            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14088              :                           {
   14089            0 :                             {
   14090            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   14091            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   14092            0 :                               if (res) return res;
   14093              :                             }
   14094              :                           }
   14095            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14096              :                           {
   14097            0 :                             {
   14098            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   14099            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   14100            0 :                               if (res) return res;
   14101              :                             }
   14102              :                           }
   14103              :                         break;
   14104              :                       }
   14105              :                     default:;
   14106              :                     }
   14107              :                 }
   14108            9 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14109              :                 {
   14110            1 :                   switch (TREE_CODE (_p2))
   14111              :                     {
   14112            0 :                     case MAX_EXPR:
   14113            0 :                       {
   14114            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14115            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14116            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14117              :                           {
   14118            0 :                             {
   14119            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   14120            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   14121            0 :                               if (res) return res;
   14122              :                             }
   14123              :                           }
   14124            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14125              :                           {
   14126            0 :                             {
   14127            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   14128            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   14129            0 :                               if (res) return res;
   14130              :                             }
   14131              :                           }
   14132              :                         break;
   14133              :                       }
   14134              :                     default:;
   14135              :                     }
   14136              :                 }
   14137            9 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14138              :                 {
   14139            1 :                   switch (TREE_CODE (_p2))
   14140              :                     {
   14141            0 :                     case MAX_EXPR:
   14142            0 :                       {
   14143            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14144            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14145            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14146              :                           {
   14147            0 :                             {
   14148            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   14149            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   14150            0 :                               if (res) return res;
   14151              :                             }
   14152              :                           }
   14153            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14154              :                           {
   14155            0 :                             {
   14156            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   14157            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   14158            0 :                               if (res) return res;
   14159              :                             }
   14160              :                           }
   14161              :                         break;
   14162              :                       }
   14163            1 :                     default:;
   14164              :                     }
   14165            1 :                   {
   14166            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   14167            1 :                     tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   14168            1 :                     if (res) return res;
   14169              :                   }
   14170              :                 }
   14171            8 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14172              :                 {
   14173            8 :                   switch (TREE_CODE (_p2))
   14174              :                     {
   14175            0 :                     case MAX_EXPR:
   14176            0 :                       {
   14177            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14178            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14179            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14180              :                           {
   14181            0 :                             {
   14182            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   14183            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   14184            0 :                               if (res) return res;
   14185              :                             }
   14186              :                           }
   14187            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14188              :                           {
   14189            0 :                             {
   14190            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   14191            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   14192            0 :                               if (res) return res;
   14193              :                             }
   14194              :                           }
   14195              :                         break;
   14196              :                       }
   14197            8 :                     default:;
   14198              :                     }
   14199            8 :                   {
   14200            8 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   14201            8 :                     tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   14202            8 :                     if (res) return res;
   14203              :                   }
   14204              :                 }
   14205              :               break;
   14206              :             }
   14207       557150 :           default:;
   14208              :           }
   14209       557150 :         {
   14210       557150 :           tree _q20_pops[1];
   14211       557150 :           if (tree_nop_convert (_q20, _q20_pops))
   14212              :             {
   14213        27522 :               tree _q30 = _q20_pops[0];
   14214        27522 :               if (integer_zerop (_q21))
   14215              :                 {
   14216        24272 :                   switch (TREE_CODE (_p1))
   14217              :                     {
   14218            0 :                     case MAX_EXPR:
   14219            0 :                       {
   14220            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   14221            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   14222            0 :                         if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14223              :                           {
   14224            0 :                             switch (TREE_CODE (_q61))
   14225              :                               {
   14226            0 :                               case INTEGER_CST:
   14227            0 :                                 {
   14228            0 :                                   switch (TREE_CODE (_p2))
   14229              :                                     {
   14230            0 :                                     case INTEGER_CST:
   14231            0 :                                       {
   14232            0 :                                         {
   14233            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q30, _q21, _p1, _q61, _p2 };
   14234            0 :                                           tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   14235            0 :                                           if (res) return res;
   14236              :                                         }
   14237            0 :                                         break;
   14238              :                                       }
   14239              :                                     default:;
   14240              :                                     }
   14241              :                                   break;
   14242              :                                 }
   14243              :                               default:;
   14244              :                               }
   14245              :                           }
   14246              :                         break;
   14247              :                       }
   14248              :                     default:;
   14249              :                     }
   14250              :                 }
   14251              :             }
   14252              :         }
   14253       557150 :         if (tree_expr_nonnegative_p (_q21))
   14254              :           {
   14255       422310 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   14256              :               {
   14257        32415 :                 switch (TREE_CODE (_p2))
   14258              :                   {
   14259            0 :                   case ABS_EXPR:
   14260            0 :                     {
   14261            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   14262            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14263              :                         {
   14264            0 :                           {
   14265            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   14266            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   14267            0 :                             if (res) return res;
   14268              :                           }
   14269              :                         }
   14270              :                       break;
   14271              :                     }
   14272              :                   default:;
   14273              :                   }
   14274              :               }
   14275       422310 :             switch (TREE_CODE (_p1))
   14276              :               {
   14277           12 :               case ABS_EXPR:
   14278           12 :                 {
   14279           12 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14280           12 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14281              :                     {
   14282            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   14283              :                         {
   14284            0 :                           {
   14285            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   14286            0 :                             tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   14287            0 :                             if (res) return res;
   14288              :                           }
   14289              :                         }
   14290              :                     }
   14291              :                   break;
   14292              :                 }
   14293              :               default:;
   14294              :               }
   14295              :           }
   14296              :         break;
   14297              :       }
   14298       939277 :     case GT_EXPR:
   14299       939277 :       {
   14300       939277 :         tree _q20 = TREE_OPERAND (_p0, 0);
   14301       939277 :         tree _q21 = TREE_OPERAND (_p0, 1);
   14302       939277 :         switch (TREE_CODE (_q20))
   14303              :           {
   14304         1090 :           case MINUS_EXPR:
   14305         1090 :             {
   14306         1090 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14307         1090 :               tree _q31 = TREE_OPERAND (_q20, 1);
   14308         1090 :               switch (TREE_CODE (_q30))
   14309              :                 {
   14310            0 :                 case CALL_EXPR:
   14311            0 :                   switch (get_call_combined_fn (_q30))
   14312              :                     {
   14313            0 :                     case CFN_BUILT_IN_CEIL:
   14314            0 :                       if (call_expr_nargs (_q30) == 1)
   14315              :     {
   14316            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14317            0 :                           switch (TREE_CODE (_q40))
   14318              :                             {
   14319            0 :                             case SSA_NAME:
   14320            0 :                               {
   14321            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14322              :                                   {
   14323            0 :                                     switch (TREE_CODE (_q31))
   14324              :                                       {
   14325            0 :                                       case SSA_NAME:
   14326            0 :                                         {
   14327            0 :                                           switch (TREE_CODE (_q21))
   14328              :                                             {
   14329            0 :                                             case MINUS_EXPR:
   14330            0 :                                               {
   14331            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14332            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14333            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14334              :                                                   {
   14335            0 :                                                     switch (TREE_CODE (_q80))
   14336              :                                                       {
   14337            0 :                                                       case SSA_NAME:
   14338            0 :                                                         {
   14339            0 :                                                           switch (TREE_CODE (_q81))
   14340              :                                                             {
   14341            0 :                                                             case CALL_EXPR:
   14342            0 :                                                               switch (get_call_combined_fn (_q81))
   14343              :                                                                 {
   14344            0 :                                                                 case CFN_BUILT_IN_FLOOR:
   14345            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14346              :     {
   14347            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14348            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14349              :                                                                         {
   14350            0 :                                                                           switch (TREE_CODE (_q110))
   14351              :                                                                             {
   14352            0 :                                                                             case SSA_NAME:
   14353            0 :                                                                               {
   14354            0 :                                                                                 switch (TREE_CODE (_p1))
   14355              :                                                                                   {
   14356            0 :                                                                                   case CALL_EXPR:
   14357            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14358              :                                                                                       {
   14359            0 :                                                                                       case CFN_BUILT_IN_FLOOR:
   14360            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14361              :     {
   14362            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14363            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14364              :                                                                                               {
   14365            0 :                                                                                                 switch (TREE_CODE (_q140))
   14366              :                                                                                                   {
   14367            0 :                                                                                                   case SSA_NAME:
   14368            0 :                                                                                                     {
   14369            0 :                                                                                                       switch (TREE_CODE (_p2))
   14370              :                                                                                                         {
   14371            0 :                                                                                                         case CALL_EXPR:
   14372            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14373              :                                                                                                             {
   14374            0 :                                                                                                             case CFN_BUILT_IN_CEIL:
   14375            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14376              :     {
   14377            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14378            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14379              :                                                                                                                     {
   14380            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14381              :                                                                                                                         {
   14382            0 :                                                                                                                         case SSA_NAME:
   14383            0 :                                                                                                                           {
   14384            0 :                                                                                                                             {
   14385            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14386            0 :                                                                                                                               tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   14387            0 :                                                                                                                               if (res) return res;
   14388              :                                                                                                                             }
   14389            0 :                                                                                                                             break;
   14390              :                                                                                                                           }
   14391              :                                                                                                                         default:;
   14392              :                                                                                                                         }
   14393              :                                                                                                                     }
   14394              :                                                                                                                 }
   14395              :                                                                                                               break;
   14396              :                                                                                                             default:;
   14397              :                                                                                                             }
   14398              :                                                                                                           break;
   14399              :                                                                                                         default:;
   14400              :                                                                                                         }
   14401              :                                                                                                       break;
   14402              :                                                                                                     }
   14403              :                                                                                                   default:;
   14404              :                                                                                                   }
   14405              :                                                                                               }
   14406              :                                                                                           }
   14407              :                                                                                         break;
   14408              :                                                                                       default:;
   14409              :                                                                                       }
   14410              :                                                                                     break;
   14411              :                                                                                   default:;
   14412              :                                                                                   }
   14413              :                                                                                 break;
   14414              :                                                                               }
   14415              :                                                                             default:;
   14416              :                                                                             }
   14417              :                                                                         }
   14418              :                                                                     }
   14419              :                                                                   break;
   14420              :                                                                 default:;
   14421              :                                                                 }
   14422              :                                                               break;
   14423              :                                                             default:;
   14424              :                                                             }
   14425              :                                                           break;
   14426              :                                                         }
   14427              :                                                       default:;
   14428              :                                                       }
   14429              :                                                   }
   14430              :                                                 break;
   14431              :                                               }
   14432              :                                             default:;
   14433              :                                             }
   14434              :                                           break;
   14435              :                                         }
   14436              :                                       default:;
   14437              :                                       }
   14438              :                                   }
   14439              :                                 break;
   14440              :                               }
   14441              :                             default:;
   14442              :                             }
   14443              :                         }
   14444              :                       break;
   14445            0 :                     case CFN_CEIL:
   14446            0 :                       if (call_expr_nargs (_q30) == 1)
   14447              :     {
   14448            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14449            0 :                           switch (TREE_CODE (_q40))
   14450              :                             {
   14451            0 :                             case SSA_NAME:
   14452            0 :                               {
   14453            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14454              :                                   {
   14455            0 :                                     switch (TREE_CODE (_q31))
   14456              :                                       {
   14457            0 :                                       case SSA_NAME:
   14458            0 :                                         {
   14459            0 :                                           switch (TREE_CODE (_q21))
   14460              :                                             {
   14461            0 :                                             case MINUS_EXPR:
   14462            0 :                                               {
   14463            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14464            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14465            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14466              :                                                   {
   14467            0 :                                                     switch (TREE_CODE (_q80))
   14468              :                                                       {
   14469            0 :                                                       case SSA_NAME:
   14470            0 :                                                         {
   14471            0 :                                                           switch (TREE_CODE (_q81))
   14472              :                                                             {
   14473            0 :                                                             case CALL_EXPR:
   14474            0 :                                                               switch (get_call_combined_fn (_q81))
   14475              :                                                                 {
   14476            0 :                                                                 case CFN_FLOOR:
   14477            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14478              :     {
   14479            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14480            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14481              :                                                                         {
   14482            0 :                                                                           switch (TREE_CODE (_q110))
   14483              :                                                                             {
   14484            0 :                                                                             case SSA_NAME:
   14485            0 :                                                                               {
   14486            0 :                                                                                 switch (TREE_CODE (_p1))
   14487              :                                                                                   {
   14488            0 :                                                                                   case CALL_EXPR:
   14489            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14490              :                                                                                       {
   14491            0 :                                                                                       case CFN_FLOOR:
   14492            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14493              :     {
   14494            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14495            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14496              :                                                                                               {
   14497            0 :                                                                                                 switch (TREE_CODE (_q140))
   14498              :                                                                                                   {
   14499            0 :                                                                                                   case SSA_NAME:
   14500            0 :                                                                                                     {
   14501            0 :                                                                                                       switch (TREE_CODE (_p2))
   14502              :                                                                                                         {
   14503            0 :                                                                                                         case CALL_EXPR:
   14504            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14505              :                                                                                                             {
   14506            0 :                                                                                                             case CFN_CEIL:
   14507            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14508              :     {
   14509            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14510            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14511              :                                                                                                                     {
   14512            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14513              :                                                                                                                         {
   14514            0 :                                                                                                                         case SSA_NAME:
   14515            0 :                                                                                                                           {
   14516            0 :                                                                                                                             {
   14517            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14518            0 :                                                                                                                               tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_FLOOR, CFN_CEIL, CFN_FLOOR, CFN_CEIL);
   14519            0 :                                                                                                                               if (res) return res;
   14520              :                                                                                                                             }
   14521            0 :                                                                                                                             break;
   14522              :                                                                                                                           }
   14523              :                                                                                                                         default:;
   14524              :                                                                                                                         }
   14525              :                                                                                                                     }
   14526              :                                                                                                                 }
   14527              :                                                                                                               break;
   14528              :                                                                                                             default:;
   14529              :                                                                                                             }
   14530              :                                                                                                           break;
   14531              :                                                                                                         default:;
   14532              :                                                                                                         }
   14533              :                                                                                                       break;
   14534              :                                                                                                     }
   14535              :                                                                                                   default:;
   14536              :                                                                                                   }
   14537              :                                                                                               }
   14538              :                                                                                           }
   14539              :                                                                                         break;
   14540              :                                                                                       default:;
   14541              :                                                                                       }
   14542              :                                                                                     break;
   14543              :                                                                                   default:;
   14544              :                                                                                   }
   14545              :                                                                                 break;
   14546              :                                                                               }
   14547              :                                                                             default:;
   14548              :                                                                             }
   14549              :                                                                         }
   14550              :                                                                     }
   14551              :                                                                   break;
   14552              :                                                                 default:;
   14553              :                                                                 }
   14554              :                                                               break;
   14555              :                                                             default:;
   14556              :                                                             }
   14557              :                                                           break;
   14558              :                                                         }
   14559              :                                                       default:;
   14560              :                                                       }
   14561              :                                                   }
   14562              :                                                 break;
   14563              :                                               }
   14564              :                                             default:;
   14565              :                                             }
   14566              :                                           break;
   14567              :                                         }
   14568              :                                       default:;
   14569              :                                       }
   14570              :                                   }
   14571              :                                 break;
   14572              :                               }
   14573              :                             default:;
   14574              :                             }
   14575              :                         }
   14576              :                       break;
   14577            0 :                     case CFN_BUILT_IN_CEILF:
   14578            0 :                       if (call_expr_nargs (_q30) == 1)
   14579              :     {
   14580            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14581            0 :                           switch (TREE_CODE (_q40))
   14582              :                             {
   14583            0 :                             case SSA_NAME:
   14584            0 :                               {
   14585            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14586              :                                   {
   14587            0 :                                     switch (TREE_CODE (_q31))
   14588              :                                       {
   14589            0 :                                       case SSA_NAME:
   14590            0 :                                         {
   14591            0 :                                           switch (TREE_CODE (_q21))
   14592              :                                             {
   14593            0 :                                             case MINUS_EXPR:
   14594            0 :                                               {
   14595            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14596            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14597            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14598              :                                                   {
   14599            0 :                                                     switch (TREE_CODE (_q80))
   14600              :                                                       {
   14601            0 :                                                       case SSA_NAME:
   14602            0 :                                                         {
   14603            0 :                                                           switch (TREE_CODE (_q81))
   14604              :                                                             {
   14605            0 :                                                             case CALL_EXPR:
   14606            0 :                                                               switch (get_call_combined_fn (_q81))
   14607              :                                                                 {
   14608            0 :                                                                 case CFN_BUILT_IN_FLOORF:
   14609            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14610              :     {
   14611            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14612            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14613              :                                                                         {
   14614            0 :                                                                           switch (TREE_CODE (_q110))
   14615              :                                                                             {
   14616            0 :                                                                             case SSA_NAME:
   14617            0 :                                                                               {
   14618            0 :                                                                                 switch (TREE_CODE (_p1))
   14619              :                                                                                   {
   14620            0 :                                                                                   case CALL_EXPR:
   14621            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14622              :                                                                                       {
   14623            0 :                                                                                       case CFN_BUILT_IN_FLOORF:
   14624            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14625              :     {
   14626            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14627            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14628              :                                                                                               {
   14629            0 :                                                                                                 switch (TREE_CODE (_q140))
   14630              :                                                                                                   {
   14631            0 :                                                                                                   case SSA_NAME:
   14632            0 :                                                                                                     {
   14633            0 :                                                                                                       switch (TREE_CODE (_p2))
   14634              :                                                                                                         {
   14635            0 :                                                                                                         case CALL_EXPR:
   14636            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14637              :                                                                                                             {
   14638            0 :                                                                                                             case CFN_BUILT_IN_CEILF:
   14639            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14640              :     {
   14641            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14642            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14643              :                                                                                                                     {
   14644            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14645              :                                                                                                                         {
   14646            0 :                                                                                                                         case SSA_NAME:
   14647            0 :                                                                                                                           {
   14648            0 :                                                                                                                             {
   14649            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14650            0 :                                                                                                                               tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   14651            0 :                                                                                                                               if (res) return res;
   14652              :                                                                                                                             }
   14653            0 :                                                                                                                             break;
   14654              :                                                                                                                           }
   14655              :                                                                                                                         default:;
   14656              :                                                                                                                         }
   14657              :                                                                                                                     }
   14658              :                                                                                                                 }
   14659              :                                                                                                               break;
   14660              :                                                                                                             default:;
   14661              :                                                                                                             }
   14662              :                                                                                                           break;
   14663              :                                                                                                         default:;
   14664              :                                                                                                         }
   14665              :                                                                                                       break;
   14666              :                                                                                                     }
   14667              :                                                                                                   default:;
   14668              :                                                                                                   }
   14669              :                                                                                               }
   14670              :                                                                                           }
   14671              :                                                                                         break;
   14672              :                                                                                       default:;
   14673              :                                                                                       }
   14674              :                                                                                     break;
   14675              :                                                                                   default:;
   14676              :                                                                                   }
   14677              :                                                                                 break;
   14678              :                                                                               }
   14679              :                                                                             default:;
   14680              :                                                                             }
   14681              :                                                                         }
   14682              :                                                                     }
   14683              :                                                                   break;
   14684              :                                                                 default:;
   14685              :                                                                 }
   14686              :                                                               break;
   14687              :                                                             default:;
   14688              :                                                             }
   14689              :                                                           break;
   14690              :                                                         }
   14691              :                                                       default:;
   14692              :                                                       }
   14693              :                                                   }
   14694              :                                                 break;
   14695              :                                               }
   14696              :                                             default:;
   14697              :                                             }
   14698              :                                           break;
   14699              :                                         }
   14700              :                                       default:;
   14701              :                                       }
   14702              :                                   }
   14703              :                                 break;
   14704              :                               }
   14705              :                             default:;
   14706              :                             }
   14707              :                         }
   14708              :                       break;
   14709            0 :                     case CFN_BUILT_IN_CEILL:
   14710            0 :                       if (call_expr_nargs (_q30) == 1)
   14711              :     {
   14712            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14713            0 :                           switch (TREE_CODE (_q40))
   14714              :                             {
   14715            0 :                             case SSA_NAME:
   14716            0 :                               {
   14717            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14718              :                                   {
   14719            0 :                                     switch (TREE_CODE (_q31))
   14720              :                                       {
   14721            0 :                                       case SSA_NAME:
   14722            0 :                                         {
   14723            0 :                                           switch (TREE_CODE (_q21))
   14724              :                                             {
   14725            0 :                                             case MINUS_EXPR:
   14726            0 :                                               {
   14727            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14728            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14729            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14730              :                                                   {
   14731            0 :                                                     switch (TREE_CODE (_q80))
   14732              :                                                       {
   14733            0 :                                                       case SSA_NAME:
   14734            0 :                                                         {
   14735            0 :                                                           switch (TREE_CODE (_q81))
   14736              :                                                             {
   14737            0 :                                                             case CALL_EXPR:
   14738            0 :                                                               switch (get_call_combined_fn (_q81))
   14739              :                                                                 {
   14740            0 :                                                                 case CFN_BUILT_IN_FLOORL:
   14741            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14742              :     {
   14743            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14744            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14745              :                                                                         {
   14746            0 :                                                                           switch (TREE_CODE (_q110))
   14747              :                                                                             {
   14748            0 :                                                                             case SSA_NAME:
   14749            0 :                                                                               {
   14750            0 :                                                                                 switch (TREE_CODE (_p1))
   14751              :                                                                                   {
   14752            0 :                                                                                   case CALL_EXPR:
   14753            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14754              :                                                                                       {
   14755            0 :                                                                                       case CFN_BUILT_IN_FLOORL:
   14756            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14757              :     {
   14758            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14759            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14760              :                                                                                               {
   14761            0 :                                                                                                 switch (TREE_CODE (_q140))
   14762              :                                                                                                   {
   14763            0 :                                                                                                   case SSA_NAME:
   14764            0 :                                                                                                     {
   14765            0 :                                                                                                       switch (TREE_CODE (_p2))
   14766              :                                                                                                         {
   14767            0 :                                                                                                         case CALL_EXPR:
   14768            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14769              :                                                                                                             {
   14770            0 :                                                                                                             case CFN_BUILT_IN_CEILL:
   14771            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14772              :     {
   14773            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14774            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14775              :                                                                                                                     {
   14776            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14777              :                                                                                                                         {
   14778            0 :                                                                                                                         case SSA_NAME:
   14779            0 :                                                                                                                           {
   14780            0 :                                                                                                                             {
   14781            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14782            0 :                                                                                                                               tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   14783            0 :                                                                                                                               if (res) return res;
   14784              :                                                                                                                             }
   14785            0 :                                                                                                                             break;
   14786              :                                                                                                                           }
   14787              :                                                                                                                         default:;
   14788              :                                                                                                                         }
   14789              :                                                                                                                     }
   14790              :                                                                                                                 }
   14791              :                                                                                                               break;
   14792              :                                                                                                             default:;
   14793              :                                                                                                             }
   14794              :                                                                                                           break;
   14795              :                                                                                                         default:;
   14796              :                                                                                                         }
   14797              :                                                                                                       break;
   14798              :                                                                                                     }
   14799              :                                                                                                   default:;
   14800              :                                                                                                   }
   14801              :                                                                                               }
   14802              :                                                                                           }
   14803              :                                                                                         break;
   14804              :                                                                                       default:;
   14805              :                                                                                       }
   14806              :                                                                                     break;
   14807              :                                                                                   default:;
   14808              :                                                                                   }
   14809              :                                                                                 break;
   14810              :                                                                               }
   14811              :                                                                             default:;
   14812              :                                                                             }
   14813              :                                                                         }
   14814              :                                                                     }
   14815              :                                                                   break;
   14816              :                                                                 default:;
   14817              :                                                                 }
   14818              :                                                               break;
   14819              :                                                             default:;
   14820              :                                                             }
   14821              :                                                           break;
   14822              :                                                         }
   14823              :                                                       default:;
   14824              :                                                       }
   14825              :                                                   }
   14826              :                                                 break;
   14827              :                                               }
   14828              :                                             default:;
   14829              :                                             }
   14830              :                                           break;
   14831              :                                         }
   14832              :                                       default:;
   14833              :                                       }
   14834              :                                   }
   14835              :                                 break;
   14836              :                               }
   14837              :                             default:;
   14838              :                             }
   14839              :                         }
   14840              :                       break;
   14841              :                     default:;
   14842              :                     }
   14843              :                   break;
   14844              :                 default:;
   14845              :                 }
   14846              :               break;
   14847              :             }
   14848        89712 :           CASE_CONVERT:
   14849        89712 :             {
   14850        89712 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14851        89712 :               switch (TREE_CODE (_q21))
   14852              :                 {
   14853         4987 :                 case INTEGER_CST:
   14854         4987 :                   {
   14855         4987 :                     switch (TREE_CODE (_p1))
   14856              :                       {
   14857          295 :                       CASE_CONVERT:
   14858          295 :                         {
   14859          295 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   14860          295 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14861              :                             {
   14862          123 :                               switch (TREE_CODE (_p2))
   14863              :                                 {
   14864          122 :                                 case INTEGER_CST:
   14865          122 :                                   {
   14866          122 :                                     {
   14867          122 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   14868          122 :                                       tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14869          122 :                                       if (res) return res;
   14870              :                                     }
   14871          122 :                                     break;
   14872              :                                   }
   14873              :                                 default:;
   14874              :                                 }
   14875              :                             }
   14876              :                           break;
   14877              :                         }
   14878         4987 :                       default:;
   14879              :                       }
   14880         4987 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   14881              :                       {
   14882            5 :                         switch (TREE_CODE (_p2))
   14883              :                           {
   14884            3 :                           case INTEGER_CST:
   14885            3 :                             {
   14886            3 :                               {
   14887            3 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   14888            3 :                                 tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14889            3 :                                 if (res) return res;
   14890              :                               }
   14891            3 :                               break;
   14892              :                             }
   14893              :                           default:;
   14894              :                           }
   14895              :                       }
   14896         4987 :                     switch (TREE_CODE (_p1))
   14897              :                       {
   14898         1452 :                       case PLUS_EXPR:
   14899         1452 :                         {
   14900         1452 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   14901         1452 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   14902         1452 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14903              :                             {
   14904           22 :                               switch (TREE_CODE (_q61))
   14905              :                                 {
   14906           22 :                                 case INTEGER_CST:
   14907           22 :                                   {
   14908           22 :                                     switch (TREE_CODE (_p2))
   14909              :                                       {
   14910           22 :                                       case INTEGER_CST:
   14911           22 :                                         {
   14912           22 :                                           {
   14913           22 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   14914           22 :                                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, PLUS_EXPR);
   14915           22 :                                             if (res) return res;
   14916              :                                           }
   14917           22 :                                           break;
   14918              :                                         }
   14919              :                                       default:;
   14920              :                                       }
   14921              :                                     break;
   14922              :                                   }
   14923              :                                 default:;
   14924              :                                 }
   14925              :                             }
   14926              :                           break;
   14927              :                         }
   14928           72 :                       case MINUS_EXPR:
   14929           72 :                         {
   14930           72 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   14931           72 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   14932           72 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14933              :                             {
   14934            0 :                               switch (TREE_CODE (_q61))
   14935              :                                 {
   14936            0 :                                 case INTEGER_CST:
   14937            0 :                                   {
   14938            0 :                                     switch (TREE_CODE (_p2))
   14939              :                                       {
   14940            0 :                                       case INTEGER_CST:
   14941            0 :                                         {
   14942            0 :                                           {
   14943            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   14944            0 :                                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MINUS_EXPR);
   14945            0 :                                             if (res) return res;
   14946              :                                           }
   14947            0 :                                           break;
   14948              :                                         }
   14949              :                                       default:;
   14950              :                                       }
   14951              :                                     break;
   14952              :                                   }
   14953              :                                 default:;
   14954              :                                 }
   14955              :                             }
   14956              :                           break;
   14957              :                         }
   14958              :                       default:;
   14959              :                       }
   14960              :                     break;
   14961              :                   }
   14962              :                 default:;
   14963              :                 }
   14964              :               break;
   14965              :             }
   14966       939277 :           default:;
   14967              :           }
   14968       939277 :         switch (TREE_CODE (_q21))
   14969              :           {
   14970       491528 :           case INTEGER_CST:
   14971       491528 :             {
   14972       491528 :               switch (TREE_CODE (_p1))
   14973              :                 {
   14974        58232 :                 CASE_CONVERT:
   14975        58232 :                   {
   14976        58232 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   14977        58232 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14978              :                       {
   14979        13324 :                         switch (TREE_CODE (_p2))
   14980              :                           {
   14981        13288 :                           case INTEGER_CST:
   14982        13288 :                             {
   14983        13288 :                               {
   14984        13288 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   14985        13288 :                                 tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14986        13288 :                                 if (res) return res;
   14987              :                               }
   14988        12979 :                               break;
   14989              :                             }
   14990              :                           default:;
   14991              :                           }
   14992              :                       }
   14993              :                     break;
   14994              :                   }
   14995       491219 :                 default:;
   14996              :                 }
   14997       491219 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   14998              :                 {
   14999         9227 :                   switch (TREE_CODE (_p2))
   15000              :                     {
   15001         9053 :                     case INTEGER_CST:
   15002         9053 :                       {
   15003         9053 :                         {
   15004         9053 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   15005         9053 :                           tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   15006         9053 :                           if (res) return res;
   15007              :                         }
   15008           31 :                         break;
   15009              :                       }
   15010              :                     default:;
   15011              :                     }
   15012              :                 }
   15013       482197 :               switch (TREE_CODE (_p1))
   15014              :                 {
   15015        48431 :                 case PLUS_EXPR:
   15016        48431 :                   {
   15017        48431 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   15018        48431 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   15019        48431 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15020              :                       {
   15021          737 :                         switch (TREE_CODE (_q51))
   15022              :                           {
   15023          737 :                           case INTEGER_CST:
   15024          737 :                             {
   15025          737 :                               switch (TREE_CODE (_p2))
   15026              :                                 {
   15027          729 :                                 case INTEGER_CST:
   15028          729 :                                   {
   15029          729 :                                     {
   15030          729 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   15031          729 :                                       tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, PLUS_EXPR);
   15032          729 :                                       if (res) return res;
   15033              :                                     }
   15034           17 :                                     break;
   15035              :                                   }
   15036              :                                 default:;
   15037              :                                 }
   15038              :                               break;
   15039              :                             }
   15040              :                           default:;
   15041              :                           }
   15042              :                       }
   15043              :                     break;
   15044              :                   }
   15045          310 :                 case MINUS_EXPR:
   15046          310 :                   {
   15047          310 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   15048          310 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   15049          310 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15050              :                       {
   15051            4 :                         switch (TREE_CODE (_q51))
   15052              :                           {
   15053            0 :                           case INTEGER_CST:
   15054            0 :                             {
   15055            0 :                               switch (TREE_CODE (_p2))
   15056              :                                 {
   15057            0 :                                 case INTEGER_CST:
   15058            0 :                                   {
   15059            0 :                                     {
   15060            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   15061            0 :                                       tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MINUS_EXPR);
   15062            0 :                                       if (res) return res;
   15063              :                                     }
   15064            0 :                                     break;
   15065              :                                   }
   15066              :                                 default:;
   15067              :                                 }
   15068              :                               break;
   15069              :                             }
   15070              :                           default:;
   15071              :                           }
   15072              :                       }
   15073              :                     break;
   15074              :                   }
   15075              :                 default:;
   15076              :                 }
   15077              :               break;
   15078              :             }
   15079       929234 :           default:;
   15080              :           }
   15081       929234 :         switch (TREE_CODE (_p1))
   15082              :           {
   15083           18 :           case MIN_EXPR:
   15084           18 :             {
   15085           18 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15086           18 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15087           18 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15088              :                 {
   15089            7 :                   switch (TREE_CODE (_p2))
   15090              :                     {
   15091            0 :                     case MIN_EXPR:
   15092            0 :                       {
   15093            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15094            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15095            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15096              :                           {
   15097            0 :                             {
   15098            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   15099            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   15100            0 :                               if (res) return res;
   15101              :                             }
   15102              :                           }
   15103            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15104              :                           {
   15105            0 :                             {
   15106            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   15107            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   15108            0 :                               if (res) return res;
   15109              :                             }
   15110              :                           }
   15111              :                         break;
   15112              :                       }
   15113            7 :                     default:;
   15114              :                     }
   15115            7 :                   {
   15116            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   15117            7 :                     tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   15118            7 :                     if (res) return res;
   15119              :                   }
   15120              :                 }
   15121           18 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15122              :                 {
   15123            0 :                   switch (TREE_CODE (_p2))
   15124              :                     {
   15125            0 :                     case MIN_EXPR:
   15126            0 :                       {
   15127            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15128            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15129            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15130              :                           {
   15131            0 :                             {
   15132            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   15133            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   15134            0 :                               if (res) return res;
   15135              :                             }
   15136              :                           }
   15137            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15138              :                           {
   15139            0 :                             {
   15140            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   15141            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   15142            0 :                               if (res) return res;
   15143              :                             }
   15144              :                           }
   15145              :                         break;
   15146              :                       }
   15147              :                     default:;
   15148              :                     }
   15149              :                 }
   15150           18 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15151              :                 {
   15152            8 :                   switch (TREE_CODE (_p2))
   15153              :                     {
   15154            0 :                     case MIN_EXPR:
   15155            0 :                       {
   15156            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15157            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15158            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15159              :                           {
   15160            0 :                             {
   15161            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   15162            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   15163            0 :                               if (res) return res;
   15164              :                             }
   15165              :                           }
   15166            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15167              :                           {
   15168            0 :                             {
   15169            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   15170            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   15171            0 :                               if (res) return res;
   15172              :                             }
   15173              :                           }
   15174              :                         break;
   15175              :                       }
   15176              :                     default:;
   15177              :                     }
   15178              :                 }
   15179           18 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15180              :                 {
   15181            7 :                   switch (TREE_CODE (_p2))
   15182              :                     {
   15183            0 :                     case MIN_EXPR:
   15184            0 :                       {
   15185            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15186            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15187            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15188              :                           {
   15189            0 :                             {
   15190            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   15191            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   15192            0 :                               if (res) return res;
   15193              :                             }
   15194              :                           }
   15195            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15196              :                           {
   15197            0 :                             {
   15198            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   15199            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   15200            0 :                               if (res) return res;
   15201              :                             }
   15202              :                           }
   15203              :                         break;
   15204              :                       }
   15205              :                     default:;
   15206              :                     }
   15207              :                 }
   15208           18 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15209              :                 {
   15210            0 :                   {
   15211            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   15212            0 :                     tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   15213            0 :                     if (res) return res;
   15214              :                   }
   15215              :                 }
   15216              :               break;
   15217              :             }
   15218          109 :           case MAX_EXPR:
   15219          109 :             {
   15220          109 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15221          109 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15222          109 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15223              :                 {
   15224            0 :                   switch (TREE_CODE (_p2))
   15225              :                     {
   15226            0 :                     case MAX_EXPR:
   15227            0 :                       {
   15228            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15229            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15230            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15231              :                           {
   15232            0 :                             {
   15233            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   15234            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   15235            0 :                               if (res) return res;
   15236              :                             }
   15237              :                           }
   15238            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15239              :                           {
   15240            0 :                             {
   15241            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   15242            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   15243            0 :                               if (res) return res;
   15244              :                             }
   15245              :                           }
   15246              :                         break;
   15247              :                       }
   15248              :                     default:;
   15249              :                     }
   15250              :                 }
   15251          109 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15252              :                 {
   15253           11 :                   switch (TREE_CODE (_p2))
   15254              :                     {
   15255           10 :                     case MAX_EXPR:
   15256           10 :                       {
   15257           10 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15258           10 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15259           10 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15260              :                           {
   15261            0 :                             {
   15262            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   15263            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   15264            0 :                               if (res) return res;
   15265              :                             }
   15266              :                           }
   15267           10 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15268              :                           {
   15269           10 :                             {
   15270           10 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   15271           10 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   15272           10 :                               if (res) return res;
   15273              :                             }
   15274              :                           }
   15275              :                         break;
   15276              :                       }
   15277              :                     default:;
   15278              :                     }
   15279              :                 }
   15280          107 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15281              :                 {
   15282            1 :                   switch (TREE_CODE (_p2))
   15283              :                     {
   15284            0 :                     case MAX_EXPR:
   15285            0 :                       {
   15286            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15287            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15288            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15289              :                           {
   15290            0 :                             {
   15291            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   15292            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   15293            0 :                               if (res) return res;
   15294              :                             }
   15295              :                           }
   15296            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15297              :                           {
   15298            0 :                             {
   15299            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   15300            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   15301            0 :                               if (res) return res;
   15302              :                             }
   15303              :                           }
   15304              :                         break;
   15305              :                       }
   15306            1 :                     default:;
   15307              :                     }
   15308            1 :                   {
   15309            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   15310            1 :                     tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   15311            1 :                     if (res) return res;
   15312              :                   }
   15313              :                 }
   15314          106 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15315              :                 {
   15316            0 :                   switch (TREE_CODE (_p2))
   15317              :                     {
   15318            0 :                     case MAX_EXPR:
   15319            0 :                       {
   15320            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15321            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15322            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15323              :                           {
   15324            0 :                             {
   15325            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   15326            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   15327            0 :                               if (res) return res;
   15328              :                             }
   15329              :                           }
   15330            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15331              :                           {
   15332            0 :                             {
   15333            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   15334            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   15335            0 :                               if (res) return res;
   15336              :                             }
   15337              :                           }
   15338              :                         break;
   15339              :                       }
   15340            0 :                     default:;
   15341              :                     }
   15342            0 :                   {
   15343            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   15344            0 :                     tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   15345            0 :                     if (res) return res;
   15346              :                   }
   15347              :                 }
   15348              :               break;
   15349              :             }
   15350       929231 :           default:;
   15351              :           }
   15352       929231 :         if (integer_zerop (_q20))
   15353              :           {
   15354            0 :             {
   15355            0 :               tree _q21_pops[1];
   15356            0 :               if (tree_nop_convert (_q21, _q21_pops))
   15357              :                 {
   15358            0 :                   tree _q40 = _q21_pops[0];
   15359            0 :                   switch (TREE_CODE (_p1))
   15360              :                     {
   15361            0 :                     case MIN_EXPR:
   15362            0 :                       {
   15363            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   15364            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   15365            0 :                         if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   15366              :                           {
   15367            0 :                             switch (TREE_CODE (_q61))
   15368              :                               {
   15369            0 :                               case INTEGER_CST:
   15370            0 :                                 {
   15371            0 :                                   switch (TREE_CODE (_p2))
   15372              :                                     {
   15373            0 :                                     case INTEGER_CST:
   15374            0 :                                       {
   15375            0 :                                         {
   15376            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q20, _p1, _q61, _p2 };
   15377            0 :                                           tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   15378            0 :                                           if (res) return res;
   15379              :                                         }
   15380            0 :                                         break;
   15381              :                                       }
   15382              :                                     default:;
   15383              :                                     }
   15384              :                                   break;
   15385              :                                 }
   15386              :                               default:;
   15387              :                               }
   15388              :                           }
   15389              :                         break;
   15390              :                       }
   15391              :                     default:;
   15392              :                     }
   15393              :                 }
   15394              :             }
   15395              :           }
   15396       929231 :         if (tree_expr_nonnegative_p (_q21))
   15397              :           {
   15398       607740 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   15399              :               {
   15400          612 :                 switch (TREE_CODE (_p2))
   15401              :                   {
   15402            0 :                   case ABS_EXPR:
   15403            0 :                     {
   15404            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   15405            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   15406              :                         {
   15407            0 :                           {
   15408            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   15409            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   15410            0 :                             if (res) return res;
   15411              :                           }
   15412              :                         }
   15413              :                       break;
   15414              :                     }
   15415              :                   default:;
   15416              :                   }
   15417              :               }
   15418       607740 :             switch (TREE_CODE (_p1))
   15419              :               {
   15420            1 :               case ABS_EXPR:
   15421            1 :                 {
   15422            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   15423            1 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15424              :                     {
   15425            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   15426              :                         {
   15427            0 :                           {
   15428            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   15429            0 :                             tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   15430            0 :                             if (res) return res;
   15431              :                           }
   15432              :                         }
   15433              :                     }
   15434              :                   break;
   15435              :                 }
   15436              :               default:;
   15437              :               }
   15438              :           }
   15439       929231 :         switch (TREE_CODE (_q20))
   15440              :           {
   15441        57955 :           case PLUS_EXPR:
   15442        57955 :             {
   15443        57955 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15444        57955 :               tree _q31 = TREE_OPERAND (_q20, 1);
   15445        57955 :               if (integer_onep (_q31))
   15446              :                 {
   15447        28616 :                   switch (TREE_CODE (_p1))
   15448              :                     {
   15449            4 :                     case NEGATE_EXPR:
   15450            4 :                       {
   15451            4 :                         tree _q70 = TREE_OPERAND (_p1, 0);
   15452            4 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   15453              :                           {
   15454            4 :                             if (integer_onep (_p2))
   15455              :                               {
   15456            4 :                                 {
   15457            4 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   15458            4 :                                   if (TYPE_UNSIGNED (type)
   15459              : )
   15460              :                                     {
   15461            4 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1911;
   15462            4 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1911;
   15463            4 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1911;
   15464            4 :                                       {
   15465            4 :                                         tree res_op0;
   15466            4 :                                         {
   15467            4 :                                           tree _o1[2], _r1;
   15468            4 :                                           _o1[0] = unshare_expr (captures[0]);
   15469            4 :                                           _o1[1] = captures[1];
   15470            4 :                                           _r1 = fold_build2_loc (loc, GE_EXPR, boolean_type_node, _o1[0], _o1[1]);
   15471            4 :                                           res_op0 = _r1;
   15472              :                                         }
   15473            4 :                                         tree res_op1;
   15474            4 :                                         {
   15475            4 :                                           tree _o1[1], _r1;
   15476            4 :                                           _o1[0] = captures[0];
   15477            4 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   15478            4 :                                           res_op1 = _r1;
   15479              :                                         }
   15480            4 :                                         tree res_op2;
   15481            4 :                                         res_op2 = captures[2];
   15482            4 :                                         tree _r;
   15483            4 :                                         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   15484            4 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1082, __FILE__, __LINE__, true);
   15485              :                                         return _r;
   15486              :                                       }
   15487     12266433 : next_after_fail1911:;
   15488              :                                     }
   15489              :                                 }
   15490              :                               }
   15491              :                           }
   15492              :                         break;
   15493              :                       }
   15494              :                     default:;
   15495              :                     }
   15496              :                 }
   15497              :               break;
   15498              :             }
   15499              :           default:;
   15500              :           }
   15501              :         break;
   15502              :       }
   15503      1411478 :     case LE_EXPR:
   15504      1411478 :       {
   15505      1411478 :         tree _q20 = TREE_OPERAND (_p0, 0);
   15506      1411478 :         tree _q21 = TREE_OPERAND (_p0, 1);
   15507      1411478 :         switch (TREE_CODE (_q20))
   15508              :           {
   15509          198 :           case MINUS_EXPR:
   15510          198 :             {
   15511          198 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15512          198 :               tree _q31 = TREE_OPERAND (_q20, 1);
   15513          198 :               switch (TREE_CODE (_q30))
   15514              :                 {
   15515            0 :                 case CALL_EXPR:
   15516            0 :                   switch (get_call_combined_fn (_q30))
   15517              :                     {
   15518            0 :                     case CFN_BUILT_IN_CEIL:
   15519            0 :                       if (call_expr_nargs (_q30) == 1)
   15520              :     {
   15521            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15522            0 :                           switch (TREE_CODE (_q40))
   15523              :                             {
   15524            0 :                             case SSA_NAME:
   15525            0 :                               {
   15526            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   15527              :                                   {
   15528            0 :                                     switch (TREE_CODE (_q31))
   15529              :                                       {
   15530            0 :                                       case SSA_NAME:
   15531            0 :                                         {
   15532            0 :                                           switch (TREE_CODE (_q21))
   15533              :                                             {
   15534            0 :                                             case MINUS_EXPR:
   15535            0 :                                               {
   15536            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   15537            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   15538            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   15539              :                                                   {
   15540            0 :                                                     switch (TREE_CODE (_q80))
   15541              :                                                       {
   15542            0 :                                                       case SSA_NAME:
   15543            0 :                                                         {
   15544            0 :                                                           switch (TREE_CODE (_q81))
   15545              :                                                             {
   15546            0 :                                                             case CALL_EXPR:
   15547            0 :                                                               switch (get_call_combined_fn (_q81))
   15548              :                                                                 {
   15549            0 :                                                                 case CFN_BUILT_IN_FLOOR:
   15550            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   15551              :     {
   15552            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   15553            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   15554              :                                                                         {
   15555            0 :                                                                           switch (TREE_CODE (_q110))
   15556              :                                                                             {
   15557            0 :                                                                             case SSA_NAME:
   15558            0 :                                                                               {
   15559            0 :                                                                                 switch (TREE_CODE (_p1))
   15560              :                                                                                   {
   15561            0 :                                                                                   case CALL_EXPR:
   15562            0 :                                                                                     switch (get_call_combined_fn (_p1))
   15563              :                                                                                       {
   15564            0 :                                                                                       case CFN_BUILT_IN_CEIL:
   15565            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   15566              :     {
   15567            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   15568            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   15569              :                                                                                               {
   15570            0 :                                                                                                 switch (TREE_CODE (_q140))
   15571              :                                                                                                   {
   15572            0 :                                                                                                   case SSA_NAME:
   15573            0 :                                                                                                     {
   15574            0 :                                                                                                       switch (TREE_CODE (_p2))
   15575              :                                                                                                         {
   15576            0 :                                                                                                         case CALL_EXPR:
   15577            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   15578              :                                                                                                             {
   15579            0 :                                                                                                             case CFN_BUILT_IN_FLOOR:
   15580            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   15581              :     {
   15582            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   15583            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   15584              :                                                                                                                     {
   15585            0 :                                                                                                                       switch (TREE_CODE (_q170))
   15586              :                                                                                                                         {
   15587            0 :                                                                                                                         case SSA_NAME:
   15588            0 :                                                                                                                           {
   15589            0 :                                                                                                                             {
   15590            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   15591            0 :                                                                                                                               tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   15592            0 :                                                                                                                               if (res) return res;
   15593              :                                                                                                                             }
   15594            0 :                                                                                                                             break;
   15595              :                                                                                                                           }
   15596              :                                                                                                                         default:;
   15597              :                                                                                                                         }
   15598              :                                                                                                                     }
   15599              :                                                                                                                 }
   15600              :                                                                                                               break;
   15601              :                                                                                                             default:;
   15602              :                                                                                                             }
   15603              :                                                                                                           break;
   15604              :                                                                                                         default:;
   15605              :                                                                                                         }
   15606              :                                                                                                       break;
   15607              :                                                                                                     }
   15608              :                                                                                                   default:;
   15609              :                                                                                                   }
   15610              :                                                                                               }
   15611              :                                                                                           }
   15612              :                                                                                         break;
   15613              :                                                                                       default:;
   15614              :                                                                                       }
   15615              :                                                                                     break;
   15616              :                                                                                   default:;
   15617              :                                                                                   }
   15618              :                                                                                 break;
   15619              :                                                                               }
   15620              :                                                                             default:;
   15621              :                                                                             }
   15622              :                                                                         }
   15623              :                                                                     }
   15624              :                                                                   break;
   15625              :                                                                 default:;
   15626              :                                                                 }
   15627              :                                                               break;
   15628              :                                                             default:;
   15629              :                                                             }
   15630              :                                                           break;
   15631              :                                                         }
   15632              :                                                       default:;
   15633              :                                                       }
   15634              :                                                   }
   15635              :                                                 break;
   15636              :                                               }
   15637              :                                             default:;
   15638              :                                             }
   15639              :                                           break;
   15640              :                                         }
   15641              :                                       default:;
   15642              :                                       }
   15643              :                                   }
   15644              :                                 break;
   15645              :                               }
   15646              :                             default:;
   15647              :                             }
   15648              :                         }
   15649              :                       break;
   15650            0 :                     case CFN_CEIL:
   15651            0 :                       if (call_expr_nargs (_q30) == 1)
   15652              :     {
   15653            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15654            0 :                           switch (TREE_CODE (_q40))
   15655              :                             {
   15656            0 :                             case SSA_NAME:
   15657            0 :                               {
   15658            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   15659              :                                   {
   15660            0 :                                     switch (TREE_CODE (_q31))
   15661              :                                       {
   15662            0 :                                       case SSA_NAME:
   15663            0 :                                         {
   15664            0 :                                           switch (TREE_CODE (_q21))
   15665              :                                             {
   15666            0 :                                             case MINUS_EXPR:
   15667            0 :                                               {
   15668            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   15669            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   15670            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   15671              :                                                   {
   15672            0 :                                                     switch (TREE_CODE (_q80))
   15673              :                                                       {
   15674            0 :                                                       case SSA_NAME:
   15675            0 :                                                         {
   15676            0 :                                                           switch (TREE_CODE (_q81))
   15677              :                                                             {
   15678            0 :                                                             case CALL_EXPR:
   15679            0 :                                                               switch (get_call_combined_fn (_q81))
   15680              :                                                                 {
   15681            0 :                                                                 case CFN_FLOOR:
   15682            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   15683              :     {
   15684            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   15685            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   15686              :                                                                         {
   15687            0 :                                                                           switch (TREE_CODE (_q110))
   15688              :                                                                             {
   15689            0 :                                                                             case SSA_NAME:
   15690            0 :                                                                               {
   15691            0 :                                                                                 switch (TREE_CODE (_p1))
   15692              :                                                                                   {
   15693            0 :                                                                                   case CALL_EXPR:
   15694            0 :                                                                                     switch (get_call_combined_fn (_p1))
   15695              :                                                                                       {
   15696            0 :                                                                                       case CFN_CEIL:
   15697            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   15698              :     {
   15699            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   15700            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   15701              :                                                                                               {
   15702            0 :                                                                                                 switch (TREE_CODE (_q140))
   15703              :                                                                                                   {
   15704            0 :                                                                                                   case SSA_NAME:
   15705            0 :                                                                                                     {
   15706            0 :                                                                                                       switch (TREE_CODE (_p2))
   15707              :                                                                                                         {
   15708            0 :                                                                                                         case CALL_EXPR:
   15709            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   15710              :                                                                                                             {
   15711            0 :                                                                                                             case CFN_FLOOR:
   15712            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   15713              :     {
   15714            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   15715            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   15716              :                                                                                                                     {
   15717            0 :                                                                                                                       switch (TREE_CODE (_q170))
   15718              :                                                                                                                         {
   15719            0 :                                                                                                                         case SSA_NAME:
   15720            0 :                                                                                                                           {
   15721            0 :                                                                                                                             {
   15722            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   15723            0 :                                                                                                                               tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_CEIL, CFN_FLOOR, CFN_FLOOR, CFN_CEIL);
   15724            0 :                                                                                                                               if (res) return res;
   15725              :                                                                                                                             }
   15726            0 :                                                                                                                             break;
   15727              :                                                                                                                           }
   15728              :                                                                                                                         default:;
   15729              :                                                                                                                         }
   15730              :                                                                                                                     }
   15731              :                                                                                                                 }
   15732              :                                                                                                               break;
   15733              :                                                                                                             default:;
   15734              :                                                                                                             }
   15735              :                                                                                                           break;
   15736              :                                                                                                         default:;
   15737              :                                                                                                         }
   15738              :                                                                                                       break;
   15739              :                                                                                                     }
   15740              :                                                                                                   default:;
   15741              :                                                                                                   }
   15742              :                                                                                               }
   15743              :                                                                                           }
   15744              :                                                                                         break;
   15745              :                                                                                       default:;
   15746              :                                                                                       }
   15747              :                                                                                     break;
   15748              :                                                                                   default:;
   15749              :                                                                                   }
   15750              :                                                                                 break;
   15751              :                                                                               }
   15752              :                                                                             default:;
   15753              :                                                                             }
   15754              :                                                                         }
   15755              :                                                                     }
   15756              :                                                                   break;
   15757              :                                                                 default:;
   15758              :                                                                 }
   15759              :                                                               break;
   15760              :                                                             default:;
   15761              :                                                             }
   15762              :                                                           break;
   15763              :                                                         }
   15764              :                                                       default:;
   15765              :                                                       }
   15766              :                                                   }
   15767              :                                                 break;
   15768              :                                               }
   15769              :                                             default:;
   15770              :                                             }
   15771              :                                           break;
   15772              :                                         }
   15773              :                                       default:;
   15774              :                                       }
   15775              :                                   }
   15776              :                                 break;
   15777              :                               }
   15778              :                             default:;
   15779              :                             }
   15780              :                         }
   15781              :                       break;
   15782            0 :                     case CFN_BUILT_IN_CEILF:
   15783            0 :                       if (call_expr_nargs (_q30) == 1)
   15784              :     {
   15785            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15786            0 :                           switch (TREE_CODE (_q40))
   15787              :                             {
   15788            0 :                             case SSA_NAME:
   15789            0 :                               {
   15790            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   15791              :                                   {
   15792            0 :                                     switch (TREE_CODE (_q31))
   15793              :                                       {
   15794            0 :                                       case SSA_NAME:
   15795            0 :                                         {
   15796            0 :                                           switch (TREE_CODE (_q21))
   15797              :                                             {
   15798            0 :                                             case MINUS_EXPR:
   15799            0 :                                               {
   15800            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   15801            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   15802            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   15803              :                                                   {
   15804            0 :                                                     switch (TREE_CODE (_q80))
   15805              :                                                       {
   15806            0 :                                                       case SSA_NAME:
   15807            0 :                                                         {
   15808            0 :                                                           switch (TREE_CODE (_q81))
   15809              :                                                             {
   15810            0 :                                                             case CALL_EXPR:
   15811            0 :                                                               switch (get_call_combined_fn (_q81))
   15812              :                                                                 {
   15813            0 :                                                                 case CFN_BUILT_IN_FLOORF:
   15814            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   15815              :     {
   15816            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   15817            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   15818              :                                                                         {
   15819            0 :                                                                           switch (TREE_CODE (_q110))
   15820              :                                                                             {
   15821            0 :                                                                             case SSA_NAME:
   15822            0 :                                                                               {
   15823            0 :                                                                                 switch (TREE_CODE (_p1))
   15824              :                                                                                   {
   15825            0 :                                                                                   case CALL_EXPR:
   15826            0 :                                                                                     switch (get_call_combined_fn (_p1))
   15827              :                                                                                       {
   15828            0 :                                                                                       case CFN_BUILT_IN_CEILF:
   15829            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   15830              :     {
   15831            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   15832            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   15833              :                                                                                               {
   15834            0 :                                                                                                 switch (TREE_CODE (_q140))
   15835              :                                                                                                   {
   15836            0 :                                                                                                   case SSA_NAME:
   15837            0 :                                                                                                     {
   15838            0 :                                                                                                       switch (TREE_CODE (_p2))
   15839              :                                                                                                         {
   15840            0 :                                                                                                         case CALL_EXPR:
   15841            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   15842              :                                                                                                             {
   15843            0 :                                                                                                             case CFN_BUILT_IN_FLOORF:
   15844            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   15845              :     {
   15846            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   15847            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   15848              :                                                                                                                     {
   15849            0 :                                                                                                                       switch (TREE_CODE (_q170))
   15850              :                                                                                                                         {
   15851            0 :                                                                                                                         case SSA_NAME:
   15852            0 :                                                                                                                           {
   15853            0 :                                                                                                                             {
   15854            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   15855            0 :                                                                                                                               tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   15856            0 :                                                                                                                               if (res) return res;
   15857              :                                                                                                                             }
   15858            0 :                                                                                                                             break;
   15859              :                                                                                                                           }
   15860              :                                                                                                                         default:;
   15861              :                                                                                                                         }
   15862              :                                                                                                                     }
   15863              :                                                                                                                 }
   15864              :                                                                                                               break;
   15865              :                                                                                                             default:;
   15866              :                                                                                                             }
   15867              :                                                                                                           break;
   15868              :                                                                                                         default:;
   15869              :                                                                                                         }
   15870              :                                                                                                       break;
   15871              :                                                                                                     }
   15872              :                                                                                                   default:;
   15873              :                                                                                                   }
   15874              :                                                                                               }
   15875              :                                                                                           }
   15876              :                                                                                         break;
   15877              :                                                                                       default:;
   15878              :                                                                                       }
   15879              :                                                                                     break;
   15880              :                                                                                   default:;
   15881              :                                                                                   }
   15882              :                                                                                 break;
   15883              :                                                                               }
   15884              :                                                                             default:;
   15885              :                                                                             }
   15886              :                                                                         }
   15887              :                                                                     }
   15888              :                                                                   break;
   15889              :                                                                 default:;
   15890              :                                                                 }
   15891              :                                                               break;
   15892              :                                                             default:;
   15893              :                                                             }
   15894              :                                                           break;
   15895              :                                                         }
   15896              :                                                       default:;
   15897              :                                                       }
   15898              :                                                   }
   15899              :                                                 break;
   15900              :                                               }
   15901              :                                             default:;
   15902              :                                             }
   15903              :                                           break;
   15904              :                                         }
   15905              :                                       default:;
   15906              :                                       }
   15907              :                                   }
   15908              :                                 break;
   15909              :                               }
   15910              :                             default:;
   15911              :                             }
   15912              :                         }
   15913              :                       break;
   15914            0 :                     case CFN_BUILT_IN_CEILL:
   15915            0 :                       if (call_expr_nargs (_q30) == 1)
   15916              :     {
   15917            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15918            0 :                           switch (TREE_CODE (_q40))
   15919              :                             {
   15920            0 :                             case SSA_NAME:
   15921            0 :                               {
   15922            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   15923              :                                   {
   15924            0 :                                     switch (TREE_CODE (_q31))
   15925              :                                       {
   15926            0 :                                       case SSA_NAME:
   15927            0 :                                         {
   15928            0 :                                           switch (TREE_CODE (_q21))
   15929              :                                             {
   15930            0 :                                             case MINUS_EXPR:
   15931            0 :                                               {
   15932            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   15933            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   15934            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   15935              :                                                   {
   15936            0 :                                                     switch (TREE_CODE (_q80))
   15937              :                                                       {
   15938            0 :                                                       case SSA_NAME:
   15939            0 :                                                         {
   15940            0 :                                                           switch (TREE_CODE (_q81))
   15941              :                                                             {
   15942            0 :                                                             case CALL_EXPR:
   15943            0 :                                                               switch (get_call_combined_fn (_q81))
   15944              :                                                                 {
   15945            0 :                                                                 case CFN_BUILT_IN_FLOORL:
   15946            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   15947              :     {
   15948            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   15949            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   15950              :                                                                         {
   15951            0 :                                                                           switch (TREE_CODE (_q110))
   15952              :                                                                             {
   15953            0 :                                                                             case SSA_NAME:
   15954            0 :                                                                               {
   15955            0 :                                                                                 switch (TREE_CODE (_p1))
   15956              :                                                                                   {
   15957            0 :                                                                                   case CALL_EXPR:
   15958            0 :                                                                                     switch (get_call_combined_fn (_p1))
   15959              :                                                                                       {
   15960            0 :                                                                                       case CFN_BUILT_IN_CEILL:
   15961            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   15962              :     {
   15963            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   15964            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   15965              :                                                                                               {
   15966            0 :                                                                                                 switch (TREE_CODE (_q140))
   15967              :                                                                                                   {
   15968            0 :                                                                                                   case SSA_NAME:
   15969            0 :                                                                                                     {
   15970            0 :                                                                                                       switch (TREE_CODE (_p2))
   15971              :                                                                                                         {
   15972            0 :                                                                                                         case CALL_EXPR:
   15973            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   15974              :                                                                                                             {
   15975            0 :                                                                                                             case CFN_BUILT_IN_FLOORL:
   15976            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   15977              :     {
   15978            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   15979            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   15980              :                                                                                                                     {
   15981            0 :                                                                                                                       switch (TREE_CODE (_q170))
   15982              :                                                                                                                         {
   15983            0 :                                                                                                                         case SSA_NAME:
   15984            0 :                                                                                                                           {
   15985            0 :                                                                                                                             {
   15986            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   15987            0 :                                                                                                                               tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   15988            0 :                                                                                                                               if (res) return res;
   15989              :                                                                                                                             }
   15990            0 :                                                                                                                             break;
   15991              :                                                                                                                           }
   15992              :                                                                                                                         default:;
   15993              :                                                                                                                         }
   15994              :                                                                                                                     }
   15995              :                                                                                                                 }
   15996              :                                                                                                               break;
   15997              :                                                                                                             default:;
   15998              :                                                                                                             }
   15999              :                                                                                                           break;
   16000              :                                                                                                         default:;
   16001              :                                                                                                         }
   16002              :                                                                                                       break;
   16003              :                                                                                                     }
   16004              :                                                                                                   default:;
   16005              :                                                                                                   }
   16006              :                                                                                               }
   16007              :                                                                                           }
   16008              :                                                                                         break;
   16009              :                                                                                       default:;
   16010              :                                                                                       }
   16011              :                                                                                     break;
   16012              :                                                                                   default:;
   16013              :                                                                                   }
   16014              :                                                                                 break;
   16015              :                                                                               }
   16016              :                                                                             default:;
   16017              :                                                                             }
   16018              :                                                                         }
   16019              :                                                                     }
   16020              :                                                                   break;
   16021              :                                                                 default:;
   16022              :                                                                 }
   16023              :                                                               break;
   16024              :                                                             default:;
   16025              :                                                             }
   16026              :                                                           break;
   16027              :                                                         }
   16028              :                                                       default:;
   16029              :                                                       }
   16030              :                                                   }
   16031              :                                                 break;
   16032              :                                               }
   16033              :                                             default:;
   16034              :                                             }
   16035              :                                           break;
   16036              :                                         }
   16037              :                                       default:;
   16038              :                                       }
   16039              :                                   }
   16040              :                                 break;
   16041              :                               }
   16042              :                             default:;
   16043              :                             }
   16044              :                         }
   16045              :                       break;
   16046              :                     default:;
   16047              :                     }
   16048              :                   break;
   16049              :                 default:;
   16050              :                 }
   16051              :               break;
   16052              :             }
   16053      1411478 :           default:;
   16054              :           }
   16055      1411478 :         if (integer_zerop (_q21))
   16056              :           {
   16057       125013 :             switch (TREE_CODE (_p1))
   16058              :               {
   16059          228 :               case NEGATE_EXPR:
   16060          228 :                 {
   16061          228 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16062          228 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16063              :                     {
   16064           70 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   16065              :                         {
   16066           70 :                           if (integer_zerop (_p2))
   16067              :                             {
   16068           70 :                               {
   16069           70 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   16070           70 :                                 if (ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type)
   16071              : )
   16072              :                                   {
   16073           68 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1912;
   16074           68 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1912;
   16075           68 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1912;
   16076           68 :                                     {
   16077           68 :                                       tree res_op0;
   16078           68 :                                       res_op0 = captures[2];
   16079           68 :                                       tree res_op1;
   16080           68 :                                       res_op1 = captures[1];
   16081           68 :                                       tree _r;
   16082           68 :                                       _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
   16083           68 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1083, __FILE__, __LINE__, true);
   16084              :                                       return _r;
   16085              :                                     }
   16086      1411410 : next_after_fail1912:;
   16087              :                                   }
   16088              :                               }
   16089              :                             }
   16090              :                         }
   16091              :                     }
   16092              :                   break;
   16093              :                 }
   16094              :               default:;
   16095              :               }
   16096              :           }
   16097      1411410 :         switch (TREE_CODE (_q20))
   16098              :           {
   16099       142380 :           CASE_CONVERT:
   16100       142380 :             {
   16101       142380 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16102       142380 :               switch (TREE_CODE (_q21))
   16103              :                 {
   16104       107146 :                 case INTEGER_CST:
   16105       107146 :                   {
   16106       107146 :                     switch (TREE_CODE (_p1))
   16107              :                       {
   16108         1328 :                       CASE_CONVERT:
   16109         1328 :                         {
   16110         1328 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   16111         1328 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   16112              :                             {
   16113            8 :                               switch (TREE_CODE (_p2))
   16114              :                                 {
   16115            8 :                                 case INTEGER_CST:
   16116            8 :                                   {
   16117            8 :                                     {
   16118            8 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   16119            8 :                                       tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   16120            8 :                                       if (res) return res;
   16121              :                                     }
   16122            8 :                                     break;
   16123              :                                   }
   16124              :                                 default:;
   16125              :                                 }
   16126              :                             }
   16127              :                           break;
   16128              :                         }
   16129       107146 :                       default:;
   16130              :                       }
   16131       107146 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   16132              :                       {
   16133           21 :                         switch (TREE_CODE (_p2))
   16134              :                           {
   16135           21 :                           case INTEGER_CST:
   16136           21 :                             {
   16137           21 :                               {
   16138           21 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   16139           21 :                                 tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   16140           21 :                                 if (res) return res;
   16141              :                               }
   16142           21 :                               break;
   16143              :                             }
   16144              :                           default:;
   16145              :                           }
   16146              :                       }
   16147       107146 :                     switch (TREE_CODE (_p1))
   16148              :                       {
   16149          365 :                       case PLUS_EXPR:
   16150          365 :                         {
   16151          365 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   16152          365 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   16153          365 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   16154              :                             {
   16155            0 :                               switch (TREE_CODE (_q61))
   16156              :                                 {
   16157            0 :                                 case INTEGER_CST:
   16158            0 :                                   {
   16159            0 :                                     switch (TREE_CODE (_p2))
   16160              :                                       {
   16161            0 :                                       case INTEGER_CST:
   16162            0 :                                         {
   16163            0 :                                           {
   16164            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   16165            0 :                                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, PLUS_EXPR);
   16166            0 :                                             if (res) return res;
   16167              :                                           }
   16168            0 :                                           break;
   16169              :                                         }
   16170              :                                       default:;
   16171              :                                       }
   16172              :                                     break;
   16173              :                                   }
   16174              :                                 default:;
   16175              :                                 }
   16176              :                             }
   16177              :                           break;
   16178              :                         }
   16179          950 :                       case MINUS_EXPR:
   16180          950 :                         {
   16181          950 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   16182          950 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   16183          950 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   16184              :                             {
   16185            0 :                               switch (TREE_CODE (_q61))
   16186              :                                 {
   16187            0 :                                 case INTEGER_CST:
   16188            0 :                                   {
   16189            0 :                                     switch (TREE_CODE (_p2))
   16190              :                                       {
   16191            0 :                                       case INTEGER_CST:
   16192            0 :                                         {
   16193            0 :                                           {
   16194            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   16195            0 :                                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MINUS_EXPR);
   16196            0 :                                             if (res) return res;
   16197              :                                           }
   16198            0 :                                           break;
   16199              :                                         }
   16200              :                                       default:;
   16201              :                                       }
   16202              :                                     break;
   16203              :                                   }
   16204              :                                 default:;
   16205              :                                 }
   16206              :                             }
   16207              :                           break;
   16208              :                         }
   16209              :                       default:;
   16210              :                       }
   16211              :                     break;
   16212              :                   }
   16213              :                 default:;
   16214              :                 }
   16215              :               break;
   16216              :             }
   16217      1411410 :           default:;
   16218              :           }
   16219      1411410 :         switch (TREE_CODE (_q21))
   16220              :           {
   16221      1013315 :           case INTEGER_CST:
   16222      1013315 :             {
   16223      1013315 :               switch (TREE_CODE (_p1))
   16224              :                 {
   16225        25863 :                 CASE_CONVERT:
   16226        25863 :                   {
   16227        25863 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   16228        25863 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16229              :                       {
   16230          228 :                         switch (TREE_CODE (_p2))
   16231              :                           {
   16232          210 :                           case INTEGER_CST:
   16233          210 :                             {
   16234          210 :                               {
   16235          210 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16236          210 :                                 tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   16237          210 :                                 if (res) return res;
   16238              :                               }
   16239          110 :                               break;
   16240              :                             }
   16241              :                           default:;
   16242              :                           }
   16243              :                       }
   16244              :                     break;
   16245              :                   }
   16246      1013215 :                 default:;
   16247              :                 }
   16248      1013215 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   16249              :                 {
   16250          291 :                   switch (TREE_CODE (_p2))
   16251              :                     {
   16252          254 :                     case INTEGER_CST:
   16253          254 :                       {
   16254          254 :                         {
   16255          254 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16256          254 :                           tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   16257          254 :                           if (res) return res;
   16258              :                         }
   16259          107 :                         break;
   16260              :                       }
   16261              :                     default:;
   16262              :                     }
   16263              :                 }
   16264      1013068 :               switch (TREE_CODE (_p1))
   16265              :                 {
   16266         3211 :                 case PLUS_EXPR:
   16267         3211 :                   {
   16268         3211 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   16269         3211 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   16270         3211 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16271              :                       {
   16272          203 :                         switch (TREE_CODE (_q51))
   16273              :                           {
   16274          203 :                           case INTEGER_CST:
   16275          203 :                             {
   16276          203 :                               switch (TREE_CODE (_p2))
   16277              :                                 {
   16278          184 :                                 case INTEGER_CST:
   16279          184 :                                   {
   16280          184 :                                     {
   16281          184 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   16282          184 :                                       tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, PLUS_EXPR);
   16283          184 :                                       if (res) return res;
   16284              :                                     }
   16285          182 :                                     break;
   16286              :                                   }
   16287              :                                 default:;
   16288              :                                 }
   16289              :                               break;
   16290              :                             }
   16291              :                           default:;
   16292              :                           }
   16293              :                       }
   16294              :                     break;
   16295              :                   }
   16296         7579 :                 case MINUS_EXPR:
   16297         7579 :                   {
   16298         7579 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   16299         7579 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   16300         7579 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16301              :                       {
   16302            0 :                         switch (TREE_CODE (_q51))
   16303              :                           {
   16304            0 :                           case INTEGER_CST:
   16305            0 :                             {
   16306            0 :                               switch (TREE_CODE (_p2))
   16307              :                                 {
   16308            0 :                                 case INTEGER_CST:
   16309            0 :                                   {
   16310            0 :                                     {
   16311            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   16312            0 :                                       tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MINUS_EXPR);
   16313            0 :                                       if (res) return res;
   16314              :                                     }
   16315            0 :                                     break;
   16316              :                                   }
   16317              :                                 default:;
   16318              :                                 }
   16319              :                               break;
   16320              :                             }
   16321              :                           default:;
   16322              :                           }
   16323              :                       }
   16324              :                     break;
   16325              :                   }
   16326              :                 default:;
   16327              :                 }
   16328              :               break;
   16329              :             }
   16330      1411161 :           default:;
   16331              :           }
   16332      1411161 :         switch (TREE_CODE (_p1))
   16333              :           {
   16334           46 :           case MIN_EXPR:
   16335           46 :             {
   16336           46 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16337           46 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16338           46 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16339              :                 {
   16340            1 :                   switch (TREE_CODE (_p2))
   16341              :                     {
   16342            0 :                     case MIN_EXPR:
   16343            0 :                       {
   16344            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16345            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16346            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   16347              :                           {
   16348            0 :                             {
   16349            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   16350            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   16351            0 :                               if (res) return res;
   16352              :                             }
   16353              :                           }
   16354            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   16355              :                           {
   16356            0 :                             {
   16357            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   16358            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   16359            0 :                               if (res) return res;
   16360              :                             }
   16361              :                           }
   16362              :                         break;
   16363              :                       }
   16364              :                     default:;
   16365              :                     }
   16366              :                 }
   16367           46 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16368              :                 {
   16369           10 :                   switch (TREE_CODE (_p2))
   16370              :                     {
   16371            9 :                     case MIN_EXPR:
   16372            9 :                       {
   16373            9 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16374            9 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16375            9 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   16376              :                           {
   16377            0 :                             {
   16378            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   16379            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   16380            0 :                               if (res) return res;
   16381              :                             }
   16382              :                           }
   16383            9 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   16384              :                           {
   16385            9 :                             {
   16386            9 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   16387            9 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   16388            9 :                               if (res) return res;
   16389              :                             }
   16390              :                           }
   16391              :                         break;
   16392              :                       }
   16393              :                     default:;
   16394              :                     }
   16395              :                 }
   16396           45 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16397              :                 {
   16398            1 :                   switch (TREE_CODE (_p2))
   16399              :                     {
   16400            0 :                     case MIN_EXPR:
   16401            0 :                       {
   16402            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16403            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16404            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   16405              :                           {
   16406            0 :                             {
   16407            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   16408            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   16409            0 :                               if (res) return res;
   16410              :                             }
   16411              :                           }
   16412            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   16413              :                           {
   16414            0 :                             {
   16415            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   16416            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   16417            0 :                               if (res) return res;
   16418              :                             }
   16419              :                           }
   16420              :                         break;
   16421              :                       }
   16422            1 :                     default:;
   16423              :                     }
   16424            1 :                   {
   16425            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   16426            1 :                     tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   16427            1 :                     if (res) return res;
   16428              :                   }
   16429              :                 }
   16430           44 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16431              :                 {
   16432            1 :                   switch (TREE_CODE (_p2))
   16433              :                     {
   16434            0 :                     case MIN_EXPR:
   16435            0 :                       {
   16436            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16437            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16438            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   16439              :                           {
   16440            0 :                             {
   16441            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   16442            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   16443            0 :                               if (res) return res;
   16444              :                             }
   16445              :                           }
   16446            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   16447              :                           {
   16448            0 :                             {
   16449            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   16450            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   16451            0 :                               if (res) return res;
   16452              :                             }
   16453              :                           }
   16454              :                         break;
   16455              :                       }
   16456            1 :                     default:;
   16457              :                     }
   16458            1 :                   {
   16459            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   16460            1 :                     tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   16461            1 :                     if (res) return res;
   16462              :                   }
   16463              :                 }
   16464              :               break;
   16465              :             }
   16466           12 :           case MAX_EXPR:
   16467           12 :             {
   16468           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16469           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16470           12 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16471              :                 {
   16472            0 :                   switch (TREE_CODE (_p2))
   16473              :                     {
   16474            0 :                     case MAX_EXPR:
   16475            0 :                       {
   16476            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16477            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16478            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   16479              :                           {
   16480            0 :                             {
   16481            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   16482            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   16483            0 :                               if (res) return res;
   16484              :                             }
   16485              :                           }
   16486            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   16487              :                           {
   16488            0 :                             {
   16489            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   16490            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   16491            0 :                               if (res) return res;
   16492              :                             }
   16493              :                           }
   16494              :                         break;
   16495              :                       }
   16496            0 :                     default:;
   16497              :                     }
   16498            0 :                   {
   16499            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   16500            0 :                     tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   16501            0 :                     if (res) return res;
   16502              :                   }
   16503              :                 }
   16504           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16505              :                 {
   16506            0 :                   switch (TREE_CODE (_p2))
   16507              :                     {
   16508            0 :                     case MAX_EXPR:
   16509            0 :                       {
   16510            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16511            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16512            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   16513              :                           {
   16514            0 :                             {
   16515            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   16516            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   16517            0 :                               if (res) return res;
   16518              :                             }
   16519              :                           }
   16520            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   16521              :                           {
   16522            0 :                             {
   16523            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   16524            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   16525            0 :                               if (res) return res;
   16526              :                             }
   16527              :                           }
   16528              :                         break;
   16529              :                       }
   16530              :                     default:;
   16531              :                     }
   16532              :                 }
   16533           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16534              :                 {
   16535            0 :                   switch (TREE_CODE (_p2))
   16536              :                     {
   16537            0 :                     case MAX_EXPR:
   16538            0 :                       {
   16539            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16540            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16541            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   16542              :                           {
   16543            0 :                             {
   16544            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   16545            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   16546            0 :                               if (res) return res;
   16547              :                             }
   16548              :                           }
   16549            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   16550              :                           {
   16551            0 :                             {
   16552            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   16553            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   16554            0 :                               if (res) return res;
   16555              :                             }
   16556              :                           }
   16557              :                         break;
   16558              :                       }
   16559              :                     default:;
   16560              :                     }
   16561              :                 }
   16562           12 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16563              :                 {
   16564            0 :                   switch (TREE_CODE (_p2))
   16565              :                     {
   16566            0 :                     case MAX_EXPR:
   16567            0 :                       {
   16568            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16569            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16570            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   16571              :                           {
   16572            0 :                             {
   16573            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   16574            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   16575            0 :                               if (res) return res;
   16576              :                             }
   16577              :                           }
   16578            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   16579              :                           {
   16580            0 :                             {
   16581            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   16582            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   16583            0 :                               if (res) return res;
   16584              :                             }
   16585              :                           }
   16586              :                         break;
   16587              :                       }
   16588              :                     default:;
   16589              :                     }
   16590              :                 }
   16591           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16592              :                 {
   16593            0 :                   {
   16594            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   16595            0 :                     tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   16596            0 :                     if (res) return res;
   16597              :                   }
   16598              :                 }
   16599              :               break;
   16600              :             }
   16601      1411158 :           default:;
   16602              :           }
   16603      1411158 :         if (integer_zerop (_q20))
   16604              :           {
   16605            2 :             {
   16606            2 :               tree _q21_pops[1];
   16607            2 :               if (tree_nop_convert (_q21, _q21_pops))
   16608              :                 {
   16609            0 :                   tree _q40 = _q21_pops[0];
   16610            0 :                   switch (TREE_CODE (_p1))
   16611              :                     {
   16612            0 :                     case MAX_EXPR:
   16613            0 :                       {
   16614            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   16615            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   16616            0 :                         if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   16617              :                           {
   16618            0 :                             switch (TREE_CODE (_q61))
   16619              :                               {
   16620            0 :                               case INTEGER_CST:
   16621            0 :                                 {
   16622            0 :                                   switch (TREE_CODE (_p2))
   16623              :                                     {
   16624            0 :                                     case INTEGER_CST:
   16625            0 :                                       {
   16626            0 :                                         {
   16627            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q20, _p1, _q61, _p2 };
   16628            0 :                                           tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   16629            0 :                                           if (res) return res;
   16630              :                                         }
   16631            0 :                                         break;
   16632              :                                       }
   16633              :                                     default:;
   16634              :                                     }
   16635              :                                   break;
   16636              :                                 }
   16637              :                               default:;
   16638              :                               }
   16639              :                           }
   16640              :                         break;
   16641              :                       }
   16642              :                     default:;
   16643              :                     }
   16644              :                 }
   16645              :             }
   16646              :           }
   16647      1411158 :         if (tree_expr_nonnegative_p (_q20))
   16648              :           {
   16649       921175 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   16650              :               {
   16651           12 :                 switch (TREE_CODE (_p2))
   16652              :                   {
   16653            0 :                   case ABS_EXPR:
   16654            0 :                     {
   16655            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16656            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   16657              :                         {
   16658            0 :                           {
   16659            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   16660            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   16661            0 :                             if (res) return res;
   16662              :                           }
   16663              :                         }
   16664              :                       break;
   16665              :                     }
   16666              :                   default:;
   16667              :                   }
   16668              :               }
   16669       921175 :             switch (TREE_CODE (_p1))
   16670              :               {
   16671            0 :               case ABS_EXPR:
   16672            0 :                 {
   16673            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16674            0 :                   if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16675              :                     {
   16676            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   16677              :                         {
   16678            0 :                           {
   16679            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   16680            0 :                             tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   16681            0 :                             if (res) return res;
   16682              :                           }
   16683              :                         }
   16684              :                     }
   16685              :                   break;
   16686              :                 }
   16687              :               default:;
   16688              :               }
   16689              :           }
   16690              :         break;
   16691              :       }
   16692      1798380 :     case EQ_EXPR:
   16693      1798380 :       {
   16694      1798380 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16695      1798380 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16696      1798380 :         if (tree_zero_one_valued_p (_q20))
   16697              :           {
   16698       171086 :             if (integer_zerop (_q21))
   16699              :               {
   16700         1216 :                 switch (TREE_CODE (_p2))
   16701              :                   {
   16702            1 :                   case BIT_XOR_EXPR:
   16703            1 :                     {
   16704            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16705            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   16706            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16707              :                         {
   16708            1 :                           {
   16709            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   16710            1 :                             tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16711            1 :                             if (res) return res;
   16712              :                           }
   16713              :                         }
   16714            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16715              :                         {
   16716            0 :                           {
   16717            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   16718            0 :                             tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16719            0 :                             if (res) return res;
   16720              :                           }
   16721              :                         }
   16722              :                       break;
   16723              :                     }
   16724            2 :                   case BIT_IOR_EXPR:
   16725            2 :                     {
   16726            2 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16727            2 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   16728            2 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16729              :                         {
   16730            1 :                           {
   16731            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   16732            1 :                             tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16733            1 :                             if (res) return res;
   16734              :                           }
   16735              :                         }
   16736            1 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16737              :                         {
   16738            1 :                           {
   16739            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   16740            1 :                             tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16741            1 :                             if (res) return res;
   16742              :                           }
   16743              :                         }
   16744              :                       break;
   16745              :                     }
   16746            1 :                   case PLUS_EXPR:
   16747            1 :                     {
   16748            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16749            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   16750            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16751              :                         {
   16752            1 :                           {
   16753            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   16754            1 :                             tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16755            1 :                             if (res) return res;
   16756              :                           }
   16757              :                         }
   16758            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16759              :                         {
   16760            0 :                           {
   16761            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   16762            0 :                             tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16763            0 :                             if (res) return res;
   16764              :                           }
   16765              :                         }
   16766              :                       break;
   16767              :                     }
   16768              :                   default:;
   16769              :                   }
   16770              :               }
   16771              :           }
   16772      1798376 :         if (integer_zerop (_q21))
   16773              :           {
   16774       588801 :             switch (TREE_CODE (_p2))
   16775              :               {
   16776        24747 :               case PLUS_EXPR:
   16777        24747 :                 {
   16778        24747 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16779        24747 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16780        24747 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16781              :                     {
   16782            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16783              :                         {
   16784            0 :                           {
   16785            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16786            0 :                             tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16787            0 :                             if (res) return res;
   16788              :                           }
   16789              :                         }
   16790              :                     }
   16791        24747 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16792              :                     {
   16793         2010 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16794              :                         {
   16795            0 :                           {
   16796            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16797            0 :                             tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16798            0 :                             if (res) return res;
   16799              :                           }
   16800              :                         }
   16801              :                     }
   16802              :                   break;
   16803              :                 }
   16804          109 :               case BIT_IOR_EXPR:
   16805          109 :                 {
   16806          109 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16807          109 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16808          109 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16809              :                     {
   16810            1 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16811              :                         {
   16812            0 :                           {
   16813            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16814            0 :                             tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16815            0 :                             if (res) return res;
   16816              :                           }
   16817              :                         }
   16818              :                     }
   16819          109 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16820              :                     {
   16821            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16822              :                         {
   16823            0 :                           {
   16824            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16825            0 :                             tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16826            0 :                             if (res) return res;
   16827              :                           }
   16828              :                         }
   16829              :                     }
   16830              :                   break;
   16831              :                 }
   16832            0 :               case BIT_XOR_EXPR:
   16833            0 :                 {
   16834            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16835            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16836            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16837              :                     {
   16838            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16839              :                         {
   16840            0 :                           {
   16841            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16842            0 :                             tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16843            0 :                             if (res) return res;
   16844              :                           }
   16845              :                         }
   16846              :                     }
   16847            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16848              :                     {
   16849            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16850              :                         {
   16851            0 :                           {
   16852            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16853            0 :                             tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16854            0 :                             if (res) return res;
   16855              :                           }
   16856              :                         }
   16857              :                     }
   16858              :                   break;
   16859              :                 }
   16860            1 :               case LROTATE_EXPR:
   16861            1 :                 {
   16862            1 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16863            1 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16864            1 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16865              :                     {
   16866            1 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16867              :                         {
   16868            1 :                           {
   16869            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16870            1 :                             tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures);
   16871            1 :                             if (res) return res;
   16872              :                           }
   16873              :                         }
   16874              :                     }
   16875              :                   break;
   16876              :                 }
   16877            0 :               case RROTATE_EXPR:
   16878            0 :                 {
   16879            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16880            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16881            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16882              :                     {
   16883            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16884              :                         {
   16885            0 :                           {
   16886            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16887            0 :                             tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures);
   16888            0 :                             if (res) return res;
   16889              :                           }
   16890              :                         }
   16891              :                     }
   16892              :                   break;
   16893              :                 }
   16894         8454 :               case LSHIFT_EXPR:
   16895         8454 :                 {
   16896         8454 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16897         8454 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16898         8454 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16899              :                     {
   16900            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16901              :                         {
   16902            0 :                           {
   16903            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16904            0 :                             tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures);
   16905            0 :                             if (res) return res;
   16906              :                           }
   16907              :                         }
   16908              :                     }
   16909              :                   break;
   16910              :                 }
   16911           46 :               case RSHIFT_EXPR:
   16912           46 :                 {
   16913           46 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16914           46 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16915           46 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16916              :                     {
   16917           20 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16918              :                         {
   16919           20 :                           {
   16920           20 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16921           20 :                             tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures);
   16922           20 :                             if (res) return res;
   16923              :                           }
   16924              :                         }
   16925              :                     }
   16926              :                   break;
   16927              :                 }
   16928          198 :               case MINUS_EXPR:
   16929          198 :                 {
   16930          198 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16931          198 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16932          198 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16933              :                     {
   16934            7 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16935              :                         {
   16936            0 :                           {
   16937            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16938            0 :                             tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures);
   16939            0 :                             if (res) return res;
   16940              :                           }
   16941              :                         }
   16942              :                     }
   16943              :                   break;
   16944              :                 }
   16945       158621 :               case POINTER_PLUS_EXPR:
   16946       158621 :                 {
   16947       158621 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16948       158621 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16949       158621 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16950              :                     {
   16951            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16952              :                         {
   16953            0 :                           {
   16954            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16955            0 :                             tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures);
   16956            0 :                             if (res) return res;
   16957              :                           }
   16958              :                         }
   16959              :                     }
   16960              :                   break;
   16961              :                 }
   16962              :               default:;
   16963              :               }
   16964              :           }
   16965      1798355 :         if (integer_onep (_q21))
   16966              :           {
   16967        49521 :             switch (TREE_CODE (_p2))
   16968              :               {
   16969          107 :               case TRUNC_DIV_EXPR:
   16970          107 :                 {
   16971          107 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16972          107 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16973          107 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16974              :                     {
   16975            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16976              :                         {
   16977            0 :                           {
   16978            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16979            0 :                             tree res = generic_simplify_374 (loc, type, _p0, _p1, _p2, captures, TRUNC_DIV_EXPR);
   16980            0 :                             if (res) return res;
   16981              :                           }
   16982              :                         }
   16983              :                     }
   16984              :                   break;
   16985              :                 }
   16986            0 :               case CEIL_DIV_EXPR:
   16987            0 :                 {
   16988            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16989            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16990            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16991              :                     {
   16992            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16993              :                         {
   16994            0 :                           {
   16995            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16996            0 :                             tree res = generic_simplify_374 (loc, type, _p0, _p1, _p2, captures, CEIL_DIV_EXPR);
   16997            0 :                             if (res) return res;
   16998              :                           }
   16999              :                         }
   17000              :                     }
   17001              :                   break;
   17002              :                 }
   17003            0 :               case FLOOR_DIV_EXPR:
   17004            0 :                 {
   17005            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   17006            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   17007            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   17008              :                     {
   17009            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   17010              :                         {
   17011            0 :                           {
   17012            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   17013            0 :                             tree res = generic_simplify_374 (loc, type, _p0, _p1, _p2, captures, FLOOR_DIV_EXPR);
   17014            0 :                             if (res) return res;
   17015              :                           }
   17016              :                         }
   17017              :                     }
   17018              :                   break;
   17019              :                 }
   17020            0 :               case ROUND_DIV_EXPR:
   17021            0 :                 {
   17022            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   17023            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   17024            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   17025              :                     {
   17026            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   17027              :                         {
   17028            0 :                           {
   17029            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   17030            0 :                             tree res = generic_simplify_374 (loc, type, _p0, _p1, _p2, captures, ROUND_DIV_EXPR);
   17031            0 :                             if (res) return res;
   17032              :                           }
   17033              :                         }
   17034              :                     }
   17035              :                   break;
   17036              :                 }
   17037            0 :               case EXACT_DIV_EXPR:
   17038            0 :                 {
   17039            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   17040            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   17041            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   17042              :                     {
   17043            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   17044              :                         {
   17045            0 :                           {
   17046            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   17047            0 :                             tree res = generic_simplify_374 (loc, type, _p0, _p1, _p2, captures, EXACT_DIV_EXPR);
   17048            0 :                             if (res) return res;
   17049              :                           }
   17050              :                         }
   17051              :                     }
   17052              :                   break;
   17053              :                 }
   17054            0 :               case MULT_EXPR:
   17055            0 :                 {
   17056            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   17057            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   17058            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   17059              :                     {
   17060            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   17061              :                         {
   17062            0 :                           {
   17063            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   17064            0 :                             tree res = generic_simplify_375 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   17065            0 :                             if (res) return res;
   17066              :                           }
   17067              :                         }
   17068              :                     }
   17069            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   17070              :                     {
   17071            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   17072              :                         {
   17073            0 :                           {
   17074            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   17075            0 :                             tree res = generic_simplify_375 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   17076            0 :                             if (res) return res;
   17077              :                           }
   17078              :                         }
   17079              :                     }
   17080              :                   break;
   17081              :                 }
   17082              :               default:;
   17083              :               }
   17084              :           }
   17085      1798355 :         if (integer_all_onesp (_q21))
   17086              :           {
   17087        51094 :             switch (TREE_CODE (_p2))
   17088              :               {
   17089            0 :               case BIT_AND_EXPR:
   17090            0 :                 {
   17091            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   17092            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   17093            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   17094              :                     {
   17095            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   17096              :                         {
   17097            0 :                           {
   17098            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   17099            0 :                             tree res = generic_simplify_376 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17100            0 :                             if (res) return res;
   17101              :                           }
   17102              :                         }
   17103              :                     }
   17104            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   17105              :                     {
   17106            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   17107              :                         {
   17108            0 :                           {
   17109            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   17110            0 :                             tree res = generic_simplify_376 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17111            0 :                             if (res) return res;
   17112              :                           }
   17113              :                         }
   17114              :                     }
   17115              :                   break;
   17116              :                 }
   17117              :               default:;
   17118              :               }
   17119              :           }
   17120      1798355 :         switch (TREE_CODE (_q20))
   17121              :           {
   17122       115317 :           case BIT_AND_EXPR:
   17123       115317 :             {
   17124       115317 :               tree _q30 = TREE_OPERAND (_q20, 0);
   17125       115317 :               tree _q31 = TREE_OPERAND (_q20, 1);
   17126       115317 :               switch (TREE_CODE (_q31))
   17127              :                 {
   17128       115055 :                 case INTEGER_CST:
   17129       115055 :                   {
   17130       115055 :                     if (integer_zerop (_q21))
   17131              :                       {
   17132         1794 :                         switch (TREE_CODE (_p1))
   17133              :                           {
   17134            0 :                           case BIT_IOR_EXPR:
   17135            0 :                             {
   17136            0 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   17137            0 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   17138            0 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   17139              :                                 {
   17140            0 :                                   if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   17141              :                                     {
   17142            0 :                                       switch (TREE_CODE (_q71))
   17143              :                                         {
   17144            0 :                                         case INTEGER_CST:
   17145            0 :                                           {
   17146            0 :                                             if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   17147              :                                               {
   17148            0 :                                                 {
   17149            0 :                                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
   17150            0 :                                                   if (wi::popcount (wi::to_wide (captures[1])) == 1
   17151              : )
   17152              :                                                     {
   17153            0 :                                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1913;
   17154            0 :                                                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1913;
   17155            0 :                                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1913;
   17156            0 :                                                       {
   17157            0 :                                                         tree _r;
   17158            0 :                                                         _r = captures[2];
   17159            0 :                                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1084, __FILE__, __LINE__, true);
   17160              :                                                         return _r;
   17161              :                                                       }
   17162       115317 : next_after_fail1913:;
   17163              :                                                     }
   17164              :                                                 }
   17165              :                                               }
   17166              :                                             break;
   17167              :                                           }
   17168              :                                         default:;
   17169              :                                         }
   17170              :                                     }
   17171              :                                 }
   17172              :                               break;
   17173              :                             }
   17174              :                           default:;
   17175              :                           }
   17176              :                       }
   17177              :                     break;
   17178              :                   }
   17179            0 :                 case LSHIFT_EXPR:
   17180            0 :                   {
   17181            0 :                     tree _q50 = TREE_OPERAND (_q31, 0);
   17182            0 :                     tree _q51 = TREE_OPERAND (_q31, 1);
   17183            0 :                     if (integer_onep (_q50))
   17184              :                       {
   17185            0 :                         if (integer_zerop (_q21))
   17186              :                           {
   17187            0 :                             switch (TREE_CODE (_p1))
   17188              :                               {
   17189            0 :                               case BIT_IOR_EXPR:
   17190            0 :                                 {
   17191            0 :                                   tree _q90 = TREE_OPERAND (_p1, 0);
   17192            0 :                                   tree _q91 = TREE_OPERAND (_p1, 1);
   17193            0 :                                   if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   17194              :                                     {
   17195            0 :                                       if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
   17196              :                                         {
   17197            0 :                                           if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   17198              :                                             {
   17199            0 :                                               {
   17200            0 :                                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q51, _p1 };
   17201            0 :                                                 tree res = generic_simplify_377 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17202            0 :                                                 if (res) return res;
   17203              :                                               }
   17204              :                                             }
   17205              :                                         }
   17206              :                                     }
   17207            0 :                                   if ((_q90 == _q31 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q31, 0) && types_match (_q90, _q31)))
   17208              :                                     {
   17209            0 :                                       if ((_q91 == _q30 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q30, 0) && types_match (_q91, _q30)))
   17210              :                                         {
   17211            0 :                                           if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   17212              :                                             {
   17213            0 :                                               {
   17214            0 :                                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q51, _p1 };
   17215            0 :                                                 tree res = generic_simplify_377 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17216            0 :                                                 if (res) return res;
   17217              :                                               }
   17218              :                                             }
   17219              :                                         }
   17220              :                                     }
   17221              :                                   break;
   17222              :                                 }
   17223              :                               default:;
   17224              :                               }
   17225              :                           }
   17226              :                       }
   17227              :                     break;
   17228              :                   }
   17229       115317 :                 default:;
   17230              :                 }
   17231       115317 :               switch (TREE_CODE (_q30))
   17232              :                 {
   17233            0 :                 case LSHIFT_EXPR:
   17234            0 :                   {
   17235            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   17236            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   17237            0 :                     if (integer_onep (_q40))
   17238              :                       {
   17239            0 :                         if (integer_zerop (_q21))
   17240              :                           {
   17241            0 :                             switch (TREE_CODE (_p1))
   17242              :                               {
   17243            0 :                               case BIT_IOR_EXPR:
   17244            0 :                                 {
   17245            0 :                                   tree _q90 = TREE_OPERAND (_p1, 0);
   17246            0 :                                   tree _q91 = TREE_OPERAND (_p1, 1);
   17247            0 :                                   if ((_q90 == _q31 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q31, 0) && types_match (_q90, _q31)))
   17248              :                                     {
   17249            0 :                                       if ((_q91 == _q30 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q30, 0) && types_match (_q91, _q30)))
   17250              :                                         {
   17251            0 :                                           if ((_p2 == _q31 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q31, 0) && types_match (_p2, _q31)))
   17252              :                                             {
   17253            0 :                                               {
   17254            0 :                                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q41, _p1 };
   17255            0 :                                                 tree res = generic_simplify_377 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17256            0 :                                                 if (res) return res;
   17257              :                                               }
   17258              :                                             }
   17259              :                                         }
   17260              :                                     }
   17261            0 :                                   if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   17262              :                                     {
   17263            0 :                                       if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
   17264              :                                         {
   17265            0 :                                           if ((_p2 == _q31 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q31, 0) && types_match (_p2, _q31)))
   17266              :                                             {
   17267            0 :                                               {
   17268            0 :                                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q41, _p1 };
   17269            0 :                                                 tree res = generic_simplify_377 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17270            0 :                                                 if (res) return res;
   17271              :                                               }
   17272              :                                             }
   17273              :                                         }
   17274              :                                     }
   17275              :                                   break;
   17276              :                                 }
   17277            0 :                               default:;
   17278              :                               }
   17279            0 :                             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
   17280              :                               {
   17281            0 :                                 switch (TREE_CODE (_p2))
   17282              :                                   {
   17283            0 :                                   case BIT_IOR_EXPR:
   17284            0 :                                     {
   17285            0 :                                       tree _q100 = TREE_OPERAND (_p2, 0);
   17286            0 :                                       tree _q101 = TREE_OPERAND (_p2, 1);
   17287            0 :                                       if ((_q100 == _q31 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q31, 0) && types_match (_q100, _q31)))
   17288              :                                         {
   17289            0 :                                           if ((_q101 == _q30 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q30, 0) && types_match (_q101, _q30)))
   17290              :                                             {
   17291            0 :                                               {
   17292            0 :                                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q41, _p2 };
   17293            0 :                                                 tree res = generic_simplify_378 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17294            0 :                                                 if (res) return res;
   17295              :                                               }
   17296              :                                             }
   17297              :                                         }
   17298            0 :                                       if ((_q100 == _q30 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q30, 0) && types_match (_q100, _q30)))
   17299              :                                         {
   17300            0 :                                           if ((_q101 == _q31 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q31, 0) && types_match (_q101, _q31)))
   17301              :                                             {
   17302            0 :                                               {
   17303            0 :                                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q41, _p2 };
   17304            0 :                                                 tree res = generic_simplify_378 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17305            0 :                                                 if (res) return res;
   17306              :                                               }
   17307              :                                             }
   17308              :                                         }
   17309              :                                       break;
   17310              :                                     }
   17311              :                                   default:;
   17312              :                                   }
   17313              :                               }
   17314              :                           }
   17315              :                       }
   17316              :                     break;
   17317              :                   }
   17318       115317 :                 default:;
   17319              :                 }
   17320       115317 :               switch (TREE_CODE (_q31))
   17321              :                 {
   17322            0 :                 case LSHIFT_EXPR:
   17323            0 :                   {
   17324            0 :                     tree _q50 = TREE_OPERAND (_q31, 0);
   17325            0 :                     tree _q51 = TREE_OPERAND (_q31, 1);
   17326            0 :                     if (integer_onep (_q50))
   17327              :                       {
   17328            0 :                         if (integer_zerop (_q21))
   17329              :                           {
   17330            0 :                             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   17331              :                               {
   17332            0 :                                 switch (TREE_CODE (_p2))
   17333              :                                   {
   17334            0 :                                   case BIT_IOR_EXPR:
   17335            0 :                                     {
   17336            0 :                                       tree _q100 = TREE_OPERAND (_p2, 0);
   17337            0 :                                       tree _q101 = TREE_OPERAND (_p2, 1);
   17338            0 :                                       if ((_q100 == _q30 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q30, 0) && types_match (_q100, _q30)))
   17339              :                                         {
   17340            0 :                                           if ((_q101 == _q31 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q31, 0) && types_match (_q101, _q31)))
   17341              :                                             {
   17342            0 :                                               {
   17343            0 :                                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q51, _p2 };
   17344            0 :                                                 tree res = generic_simplify_378 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17345            0 :                                                 if (res) return res;
   17346              :                                               }
   17347              :                                             }
   17348              :                                         }
   17349            0 :                                       if ((_q100 == _q31 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q31, 0) && types_match (_q100, _q31)))
   17350              :                                         {
   17351            0 :                                           if ((_q101 == _q30 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q30, 0) && types_match (_q101, _q30)))
   17352              :                                             {
   17353            0 :                                               {
   17354            0 :                                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q51, _p2 };
   17355            0 :                                                 tree res = generic_simplify_378 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17356            0 :                                                 if (res) return res;
   17357              :                                               }
   17358              :                                             }
   17359              :                                         }
   17360              :                                       break;
   17361              :                                     }
   17362              :                                   default:;
   17363              :                                   }
   17364              :                               }
   17365              :                           }
   17366              :                       }
   17367              :                     break;
   17368              :                   }
   17369       115317 :                 default:;
   17370              :                 }
   17371       115317 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
   17372              :                 {
   17373           59 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   17374              :                     {
   17375            2 :                       switch (TREE_CODE (_p2))
   17376              :                         {
   17377            2 :                         case BIT_IOR_EXPR:
   17378            2 :                           {
   17379            2 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17380            2 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17381            2 :                             if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
   17382              :                               {
   17383            2 :                                 if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
   17384              :                                   {
   17385            2 :                                     {
   17386            2 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p2 };
   17387            2 :                                       tree res = generic_simplify_379 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17388            2 :                                       if (res) return res;
   17389              :                                     }
   17390              :                                   }
   17391              :                               }
   17392              :                             break;
   17393              :                           }
   17394              :                         default:;
   17395              :                         }
   17396              :                     }
   17397              :                 }
   17398              :               break;
   17399              :             }
   17400      1798353 :           default:;
   17401              :           }
   17402      1798353 :         switch (TREE_CODE (_q21))
   17403              :           {
   17404            0 :           case BIT_AND_EXPR:
   17405            0 :             {
   17406            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   17407            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   17408            0 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
   17409              :                 {
   17410            0 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
   17411              :                     {
   17412            0 :                       switch (TREE_CODE (_p2))
   17413              :                         {
   17414            0 :                         case BIT_IOR_EXPR:
   17415            0 :                           {
   17416            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17417            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17418            0 :                             if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   17419              :                               {
   17420            0 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   17421              :                                   {
   17422            0 :                                     {
   17423            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q20, _p2 };
   17424            0 :                                       tree res = generic_simplify_379 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17425            0 :                                       if (res) return res;
   17426              :                                     }
   17427              :                                   }
   17428              :                               }
   17429              :                             break;
   17430              :                           }
   17431              :                         default:;
   17432              :                         }
   17433              :                     }
   17434              :                 }
   17435              :               break;
   17436              :             }
   17437      1798353 :           default:;
   17438              :           }
   17439      1798353 :         switch (TREE_CODE (_q20))
   17440              :           {
   17441       115315 :           case BIT_AND_EXPR:
   17442       115315 :             {
   17443       115315 :               tree _q30 = TREE_OPERAND (_q20, 0);
   17444       115315 :               tree _q31 = TREE_OPERAND (_q20, 1);
   17445       115315 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
   17446              :                 {
   17447           57 :                   switch (TREE_CODE (_p1))
   17448              :                     {
   17449            1 :                     case BIT_IOR_EXPR:
   17450            1 :                       {
   17451            1 :                         tree _q70 = TREE_OPERAND (_p1, 0);
   17452            1 :                         tree _q71 = TREE_OPERAND (_p1, 1);
   17453            1 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   17454              :                           {
   17455            1 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   17456              :                               {
   17457            1 :                                 if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   17458              :                                   {
   17459            1 :                                     {
   17460            1 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
   17461            1 :                                       tree res = generic_simplify_380 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17462            1 :                                       if (res) return res;
   17463              :                                     }
   17464              :                                   }
   17465              :                               }
   17466              :                           }
   17467              :                         break;
   17468              :                       }
   17469              :                     default:;
   17470              :                     }
   17471              :                 }
   17472              :               break;
   17473              :             }
   17474      1798352 :           default:;
   17475              :           }
   17476      1798352 :         switch (TREE_CODE (_q21))
   17477              :           {
   17478            0 :           case BIT_AND_EXPR:
   17479            0 :             {
   17480            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   17481            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   17482            0 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
   17483              :                 {
   17484            0 :                   switch (TREE_CODE (_p1))
   17485              :                     {
   17486            0 :                     case BIT_IOR_EXPR:
   17487            0 :                       {
   17488            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
   17489            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
   17490            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
   17491              :                           {
   17492            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
   17493              :                               {
   17494            0 :                                 if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
   17495              :                                   {
   17496            0 :                                     {
   17497            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q20, _p1 };
   17498            0 :                                       tree res = generic_simplify_380 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17499            0 :                                       if (res) return res;
   17500              :                                     }
   17501              :                                   }
   17502              :                               }
   17503              :                           }
   17504              :                         break;
   17505              :                       }
   17506              :                     default:;
   17507              :                     }
   17508              :                 }
   17509              :               break;
   17510              :             }
   17511      1798352 :           default:;
   17512              :           }
   17513      1798352 :         switch (TREE_CODE (_q20))
   17514              :           {
   17515        69308 :           CASE_CONVERT:
   17516        69308 :             {
   17517        69308 :               tree _q30 = TREE_OPERAND (_q20, 0);
   17518        69308 :               switch (TREE_CODE (_q21))
   17519              :                 {
   17520        26897 :                 case INTEGER_CST:
   17521        26897 :                   {
   17522        26897 :                     switch (TREE_CODE (_p1))
   17523              :                       {
   17524        12871 :                       CASE_CONVERT:
   17525        12871 :                         {
   17526        12871 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   17527        12871 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   17528              :                             {
   17529           57 :                               switch (TREE_CODE (_p2))
   17530              :                                 {
   17531           56 :                                 case INTEGER_CST:
   17532           56 :                                   {
   17533           56 :                                     {
   17534           56 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   17535           56 :                                       tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17536           56 :                                       if (res) return res;
   17537              :                                     }
   17538           56 :                                     break;
   17539              :                                   }
   17540              :                                 default:;
   17541              :                                 }
   17542              :                             }
   17543              :                           break;
   17544              :                         }
   17545        26897 :                       default:;
   17546              :                       }
   17547        26897 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   17548              :                       {
   17549          118 :                         switch (TREE_CODE (_p2))
   17550              :                           {
   17551          112 :                           case INTEGER_CST:
   17552          112 :                             {
   17553          112 :                               {
   17554          112 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   17555          112 :                                 tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17556          112 :                                 if (res) return res;
   17557              :                               }
   17558          112 :                               break;
   17559              :                             }
   17560              :                           default:;
   17561              :                           }
   17562              :                       }
   17563              :                     break;
   17564              :                   }
   17565              :                 default:;
   17566              :                 }
   17567              :               break;
   17568              :             }
   17569      1798352 :           default:;
   17570              :           }
   17571      1798352 :         switch (TREE_CODE (_q21))
   17572              :           {
   17573       945082 :           case INTEGER_CST:
   17574       945082 :             {
   17575       945082 :               switch (TREE_CODE (_p1))
   17576              :                 {
   17577       216899 :                 CASE_CONVERT:
   17578       216899 :                   {
   17579       216899 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   17580       216899 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17581              :                       {
   17582          324 :                         switch (TREE_CODE (_p2))
   17583              :                           {
   17584            7 :                           case INTEGER_CST:
   17585            7 :                             {
   17586            7 :                               {
   17587            7 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   17588            7 :                                 tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17589            7 :                                 if (res) return res;
   17590              :                               }
   17591            0 :                               break;
   17592              :                             }
   17593              :                           default:;
   17594              :                           }
   17595              :                       }
   17596              :                     break;
   17597              :                   }
   17598       945075 :                 default:;
   17599              :                 }
   17600       945075 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   17601              :                 {
   17602           61 :                   switch (TREE_CODE (_p2))
   17603              :                     {
   17604            5 :                     case INTEGER_CST:
   17605            5 :                       {
   17606            5 :                         {
   17607            5 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   17608            5 :                           tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17609            5 :                           if (res) return res;
   17610              :                         }
   17611            0 :                         break;
   17612              :                       }
   17613              :                     default:;
   17614              :                     }
   17615              :                 }
   17616              :               break;
   17617              :             }
   17618      1798340 :           default:;
   17619              :           }
   17620      1798340 :       if (tree_expr_nonnegative_p (_q21))
   17621              :         {
   17622      1635929 :           if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   17623              :             {
   17624           83 :               switch (TREE_CODE (_p2))
   17625              :                 {
   17626            0 :                 case ABS_EXPR:
   17627            0 :                   {
   17628            0 :                     tree _q60 = TREE_OPERAND (_p2, 0);
   17629            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   17630              :                       {
   17631            0 :                         {
   17632            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   17633            0 :                           tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17634            0 :                           if (res) return res;
   17635              :                         }
   17636              :                       }
   17637              :                     break;
   17638              :                   }
   17639              :                 default:;
   17640              :                 }
   17641              :             }
   17642              :         }
   17643      1798340 :         if (tree_expr_nonnegative_p (_q20))
   17644              :           {
   17645      1089316 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   17646              :               {
   17647        28546 :                 switch (TREE_CODE (_p2))
   17648              :                   {
   17649            0 :                   case ABS_EXPR:
   17650            0 :                     {
   17651            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   17652            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   17653              :                         {
   17654            0 :                           {
   17655            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   17656            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17657            0 :                             if (res) return res;
   17658              :                           }
   17659              :                         }
   17660              :                       break;
   17661              :                     }
   17662              :                   default:;
   17663              :                   }
   17664              :               }
   17665      1089316 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   17666              :               {
   17667           25 :                 switch (TREE_CODE (_p2))
   17668              :                   {
   17669            0 :                   case ABS_EXPR:
   17670            0 :                     {
   17671            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   17672            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   17673              :                         {
   17674            0 :                           {
   17675            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   17676            0 :                             tree res = generic_simplify_381 (loc, type, _p0, _p1, _p2, captures);
   17677            0 :                             if (res) return res;
   17678              :                           }
   17679              :                         }
   17680              :                       break;
   17681              :                     }
   17682              :                   default:;
   17683              :                   }
   17684              :               }
   17685              :           }
   17686      1798340 :         if (tree_expr_nonnegative_p (_q21))
   17687              :           {
   17688      1635929 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   17689              :               {
   17690        28918 :                 switch (TREE_CODE (_p2))
   17691              :                   {
   17692            0 :                   case ABS_EXPR:
   17693            0 :                     {
   17694            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   17695            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   17696              :                         {
   17697            0 :                           {
   17698            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   17699            0 :                             tree res = generic_simplify_381 (loc, type, _p0, _p1, _p2, captures);
   17700            0 :                             if (res) return res;
   17701              :                           }
   17702              :                         }
   17703              :                       break;
   17704              :                     }
   17705              :                   default:;
   17706              :                   }
   17707              :               }
   17708              :           }
   17709              :         break;
   17710              :       }
   17711      2997100 :     case NE_EXPR:
   17712      2997100 :       {
   17713      2997100 :         tree _q20 = TREE_OPERAND (_p0, 0);
   17714      2997100 :         tree _q21 = TREE_OPERAND (_p0, 1);
   17715      2997100 :         if (tree_zero_one_valued_p (_q20))
   17716              :           {
   17717       165409 :             if (integer_zerop (_q21))
   17718              :               {
   17719       163633 :                 switch (TREE_CODE (_p1))
   17720              :                   {
   17721            5 :                   case BIT_XOR_EXPR:
   17722            5 :                     {
   17723            5 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   17724            5 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   17725            5 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   17726              :                         {
   17727            1 :                           {
   17728            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   17729            1 :                             tree res = generic_simplify_382 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   17730            1 :                             if (res) return res;
   17731              :                           }
   17732              :                         }
   17733            4 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   17734              :                         {
   17735            4 :                           {
   17736            4 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   17737            4 :                             tree res = generic_simplify_382 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   17738            4 :                             if (res) return res;
   17739              :                           }
   17740              :                         }
   17741              :                       break;
   17742              :                     }
   17743            2 :                   case BIT_IOR_EXPR:
   17744            2 :                     {
   17745            2 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   17746            2 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   17747            2 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   17748              :                         {
   17749            1 :                           {
   17750            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   17751            1 :                             tree res = generic_simplify_382 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17752            1 :                             if (res) return res;
   17753              :                           }
   17754              :                         }
   17755            1 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   17756              :                         {
   17757            1 :                           {
   17758            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   17759            1 :                             tree res = generic_simplify_382 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17760            1 :                             if (res) return res;
   17761              :                           }
   17762              :                         }
   17763              :                       break;
   17764              :                     }
   17765          110 :                   case PLUS_EXPR:
   17766          110 :                     {
   17767          110 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   17768          110 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   17769          110 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   17770              :                         {
   17771            8 :                           {
   17772            8 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   17773            8 :                             tree res = generic_simplify_382 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   17774            8 :                             if (res) return res;
   17775              :                           }
   17776              :                         }
   17777          109 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   17778              :                         {
   17779            1 :                           {
   17780            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   17781            1 :                             tree res = generic_simplify_382 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   17782            1 :                             if (res) return res;
   17783              :                           }
   17784              :                         }
   17785              :                       break;
   17786              :                     }
   17787              :                   default:;
   17788              :                   }
   17789              :               }
   17790              :           }
   17791      2997091 :         if (integer_zerop (_q21))
   17792              :           {
   17793      1985693 :             switch (TREE_CODE (_p1))
   17794              :               {
   17795           96 :               case TRUNC_DIV_EXPR:
   17796           96 :                 {
   17797           96 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17798           96 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17799           96 :                   if (integer_zerop (_p2))
   17800              :                     {
   17801           58 :                       {
   17802           58 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17803           58 :                         tree res = generic_simplify_383 (loc, type, _p0, _p1, _p2, captures, TRUNC_DIV_EXPR);
   17804           58 :                         if (res) return res;
   17805              :                       }
   17806              :                     }
   17807              :                   break;
   17808              :                 }
   17809            0 :               case CEIL_DIV_EXPR:
   17810            0 :                 {
   17811            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17812            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17813            0 :                   if (integer_zerop (_p2))
   17814              :                     {
   17815            0 :                       {
   17816            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17817            0 :                         tree res = generic_simplify_383 (loc, type, _p0, _p1, _p2, captures, CEIL_DIV_EXPR);
   17818            0 :                         if (res) return res;
   17819              :                       }
   17820              :                     }
   17821              :                   break;
   17822              :                 }
   17823            0 :               case FLOOR_DIV_EXPR:
   17824            0 :                 {
   17825            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17826            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17827            0 :                   if (integer_zerop (_p2))
   17828              :                     {
   17829            0 :                       {
   17830            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17831            0 :                         tree res = generic_simplify_383 (loc, type, _p0, _p1, _p2, captures, FLOOR_DIV_EXPR);
   17832            0 :                         if (res) return res;
   17833              :                       }
   17834              :                     }
   17835              :                   break;
   17836              :                 }
   17837            0 :               case ROUND_DIV_EXPR:
   17838            0 :                 {
   17839            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17840            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17841            0 :                   if (integer_zerop (_p2))
   17842              :                     {
   17843            0 :                       {
   17844            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17845            0 :                         tree res = generic_simplify_383 (loc, type, _p0, _p1, _p2, captures, ROUND_DIV_EXPR);
   17846            0 :                         if (res) return res;
   17847              :                       }
   17848              :                     }
   17849              :                   break;
   17850              :                 }
   17851           31 :               case EXACT_DIV_EXPR:
   17852           31 :                 {
   17853           31 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17854           31 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17855           31 :                   if (integer_zerop (_p2))
   17856              :                     {
   17857            0 :                       {
   17858            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17859            0 :                         tree res = generic_simplify_383 (loc, type, _p0, _p1, _p2, captures, EXACT_DIV_EXPR);
   17860            0 :                         if (res) return res;
   17861              :                       }
   17862              :                     }
   17863              :                   break;
   17864              :                 }
   17865          618 :               case MULT_EXPR:
   17866          618 :                 {
   17867          618 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17868          618 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17869          618 :                   if (integer_zerop (_p2))
   17870              :                     {
   17871           40 :                       {
   17872           40 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17873           40 :                         tree res = generic_simplify_384 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   17874           40 :                         if (res) return res;
   17875              :                       }
   17876           40 :                       {
   17877           40 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q51, _q50 };
   17878           40 :                         tree res = generic_simplify_384 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   17879           40 :                         if (res) return res;
   17880              :                       }
   17881              :                     }
   17882              :                   break;
   17883              :                 }
   17884          288 :               case BIT_AND_EXPR:
   17885          288 :                 {
   17886          288 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17887          288 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17888          288 :                   if (integer_zerop (_p2))
   17889              :                     {
   17890           62 :                       {
   17891           62 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17892           62 :                         tree res = generic_simplify_384 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17893           62 :                         if (res) return res;
   17894              :                       }
   17895           62 :                       {
   17896           62 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q51, _q50 };
   17897           62 :                         tree res = generic_simplify_384 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17898           62 :                         if (res) return res;
   17899              :                       }
   17900              :                     }
   17901              :                   break;
   17902              :                 }
   17903              :               default:;
   17904              :               }
   17905              :           }
   17906      2997089 :         if (uniform_integer_cst_p (_q21))
   17907              :           {
   17908      2303895 :             switch (TREE_CODE (_p1))
   17909              :               {
   17910       132928 :               case PLUS_EXPR:
   17911       132928 :                 {
   17912       132928 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17913       132928 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17914       132928 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17915              :                     {
   17916         2628 :                       if (uniform_integer_cst_p (_q51))
   17917              :                         {
   17918         2628 :                           if (uniform_integer_cst_p (_p2))
   17919              :                             {
   17920         2624 :                               {
   17921         2624 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   17922         2624 :                                 {
   17923         2624 :  tree cst1 = uniform_integer_cst_p (captures[1]);
   17924         2624 :  tree cst2 = uniform_integer_cst_p (captures[3]);
   17925         2624 :  tree cst3 = uniform_integer_cst_p (captures[4]);
   17926         2624 :                                     if (wi::to_wide (cst1) + wi::to_wide (cst2) == wi::to_wide (cst3)
   17927              : )
   17928              :                                       {
   17929           10 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1914;
   17930           10 :                                         if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1914;
   17931           10 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1914;
   17932           10 :                                         {
   17933           10 :                                           tree _r;
   17934           10 :                                           _r = captures[2];
   17935           10 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   17936            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   17937           10 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1085, __FILE__, __LINE__, true);
   17938              :                                           return _r;
   17939              :                                         }
   17940      2997079 : next_after_fail1914:;
   17941              :                                       }
   17942              :                                 }
   17943              :                               }
   17944              :                             }
   17945              :                         }
   17946              :                     }
   17947              :                   break;
   17948              :                 }
   17949              :               default:;
   17950              :               }
   17951              :           }
   17952      2997079 :         switch (TREE_CODE (_q20))
   17953              :           {
   17954       284815 :           case BIT_AND_EXPR:
   17955       284815 :             {
   17956       284815 :               tree _q30 = TREE_OPERAND (_q20, 0);
   17957       284815 :               tree _q31 = TREE_OPERAND (_q20, 1);
   17958       284815 :               switch (TREE_CODE (_q31))
   17959              :                 {
   17960       214276 :                 case INTEGER_CST:
   17961       214276 :                   {
   17962       214276 :                     if (integer_zerop (_q21))
   17963              :                       {
   17964       214263 :                         switch (TREE_CODE (_p1))
   17965              :                           {
   17966           54 :                           case BIT_AND_EXPR:
   17967           54 :                             {
   17968           54 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   17969           54 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   17970           54 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   17971              :                                 {
   17972           18 :                                   switch (TREE_CODE (_q71))
   17973              :                                     {
   17974           18 :                                     case INTEGER_CST:
   17975           18 :                                       {
   17976           18 :                                         if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   17977              :                                           {
   17978            0 :                                             {
   17979            0 :                                               tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _p1, _q71 };
   17980            0 :                                               if (wi::to_wide (captures[3]) == ~wi::to_wide (captures[1])
   17981              : )
   17982              :                                                 {
   17983            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1915;
   17984            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1915;
   17985            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1915;
   17986            0 :                                                   {
   17987            0 :                                                     tree _r;
   17988            0 :                                                     _r = captures[2];
   17989            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1086, __FILE__, __LINE__, true);
   17990              :                                                     return _r;
   17991              :                                                   }
   17992       284815 : next_after_fail1915:;
   17993              :                                                 }
   17994              :                                             }
   17995              :                                           }
   17996              :                                         break;
   17997              :                                       }
   17998              :                                     default:;
   17999              :                                     }
   18000              :                                 }
   18001              :                               break;
   18002              :                             }
   18003              :                           default:;
   18004              :                           }
   18005              :                       }
   18006              :                     break;
   18007              :                   }
   18008            0 :                 case LSHIFT_EXPR:
   18009            0 :                   {
   18010            0 :                     tree _q50 = TREE_OPERAND (_q31, 0);
   18011            0 :                     tree _q51 = TREE_OPERAND (_q31, 1);
   18012            0 :                     if (integer_onep (_q50))
   18013              :                       {
   18014            0 :                         if (integer_zerop (_q21))
   18015              :                           {
   18016            0 :                             switch (TREE_CODE (_p1))
   18017              :                               {
   18018            0 :                               case BIT_IOR_EXPR:
   18019            0 :                                 {
   18020            0 :                                   tree _q90 = TREE_OPERAND (_p1, 0);
   18021            0 :                                   tree _q91 = TREE_OPERAND (_p1, 1);
   18022            0 :                                   if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   18023              :                                     {
   18024            0 :                                       if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
   18025              :                                         {
   18026            0 :                                           if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18027              :                                             {
   18028            0 :                                               {
   18029            0 :                                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q51, _p1 };
   18030            0 :                                                 tree res = generic_simplify_377 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   18031            0 :                                                 if (res) return res;
   18032              :                                               }
   18033              :                                             }
   18034              :                                         }
   18035              :                                     }
   18036            0 :                                   if ((_q90 == _q31 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q31, 0) && types_match (_q90, _q31)))
   18037              :                                     {
   18038            0 :                                       if ((_q91 == _q30 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q30, 0) && types_match (_q91, _q30)))
   18039              :                                         {
   18040            0 :                                           if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18041              :                                             {
   18042            0 :                                               {
   18043            0 :                                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q51, _p1 };
   18044            0 :                                                 tree res = generic_simplify_377 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   18045            0 :                                                 if (res) return res;
   18046              :                                               }
   18047              :                                             }
   18048              :                                         }
   18049              :                                     }
   18050              :                                   break;
   18051              :                                 }
   18052              :                               default:;
   18053              :                               }
   18054              :                           }
   18055              :                       }
   18056              :                     break;
   18057              :                   }
   18058       284815 :                 default:;
   18059              :                 }
   18060       284815 :               switch (TREE_CODE (_q30))
   18061              :                 {
   18062            2 :                 case LSHIFT_EXPR:
   18063            2 :                   {
   18064            2 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   18065            2 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   18066            2 :                     if (integer_onep (_q40))
   18067              :                       {
   18068            0 :                         if (integer_zerop (_q21))
   18069              :                           {
   18070            0 :                             switch (TREE_CODE (_p1))
   18071              :                               {
   18072            0 :                               case BIT_IOR_EXPR:
   18073            0 :                                 {
   18074            0 :                                   tree _q90 = TREE_OPERAND (_p1, 0);
   18075            0 :                                   tree _q91 = TREE_OPERAND (_p1, 1);
   18076            0 :                                   if ((_q90 == _q31 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q31, 0) && types_match (_q90, _q31)))
   18077              :                                     {
   18078            0 :                                       if ((_q91 == _q30 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q30, 0) && types_match (_q91, _q30)))
   18079              :                                         {
   18080            0 :                                           if ((_p2 == _q31 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q31, 0) && types_match (_p2, _q31)))
   18081              :                                             {
   18082            0 :                                               {
   18083            0 :                                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q41, _p1 };
   18084            0 :                                                 tree res = generic_simplify_377 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   18085            0 :                                                 if (res) return res;
   18086              :                                               }
   18087              :                                             }
   18088              :                                         }
   18089              :                                     }
   18090            0 :                                   if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   18091              :                                     {
   18092            0 :                                       if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
   18093              :                                         {
   18094            0 :                                           if ((_p2 == _q31 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q31, 0) && types_match (_p2, _q31)))
   18095              :                                             {
   18096            0 :                                               {
   18097            0 :                                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q41, _p1 };
   18098            0 :                                                 tree res = generic_simplify_377 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   18099            0 :                                                 if (res) return res;
   18100              :                                               }
   18101              :                                             }
   18102              :                                         }
   18103              :                                     }
   18104              :                                   break;
   18105              :                                 }
   18106            0 :                               default:;
   18107              :                               }
   18108            0 :                             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
   18109              :                               {
   18110            0 :                                 switch (TREE_CODE (_p2))
   18111              :                                   {
   18112            0 :                                   case BIT_IOR_EXPR:
   18113            0 :                                     {
   18114            0 :                                       tree _q100 = TREE_OPERAND (_p2, 0);
   18115            0 :                                       tree _q101 = TREE_OPERAND (_p2, 1);
   18116            0 :                                       if ((_q100 == _q31 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q31, 0) && types_match (_q100, _q31)))
   18117              :                                         {
   18118            0 :                                           if ((_q101 == _q30 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q30, 0) && types_match (_q101, _q30)))
   18119              :                                             {
   18120            0 :                                               {
   18121            0 :                                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q41, _p2 };
   18122            0 :                                                 tree res = generic_simplify_378 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   18123            0 :                                                 if (res) return res;
   18124              :                                               }
   18125              :                                             }
   18126              :                                         }
   18127            0 :                                       if ((_q100 == _q30 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q30, 0) && types_match (_q100, _q30)))
   18128              :                                         {
   18129            0 :                                           if ((_q101 == _q31 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q31, 0) && types_match (_q101, _q31)))
   18130              :                                             {
   18131            0 :                                               {
   18132            0 :                                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q41, _p2 };
   18133            0 :                                                 tree res = generic_simplify_378 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   18134            0 :                                                 if (res) return res;
   18135              :                                               }
   18136              :                                             }
   18137              :                                         }
   18138              :                                       break;
   18139              :                                     }
   18140              :                                   default:;
   18141              :                                   }
   18142              :                               }
   18143              :                           }
   18144              :                       }
   18145              :                     break;
   18146              :                   }
   18147       284815 :                 default:;
   18148              :                 }
   18149       284815 :               switch (TREE_CODE (_q31))
   18150              :                 {
   18151            0 :                 case LSHIFT_EXPR:
   18152            0 :                   {
   18153            0 :                     tree _q50 = TREE_OPERAND (_q31, 0);
   18154            0 :                     tree _q51 = TREE_OPERAND (_q31, 1);
   18155            0 :                     if (integer_onep (_q50))
   18156              :                       {
   18157            0 :                         if (integer_zerop (_q21))
   18158              :                           {
   18159            0 :                             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   18160              :                               {
   18161            0 :                                 switch (TREE_CODE (_p2))
   18162              :                                   {
   18163            0 :                                   case BIT_IOR_EXPR:
   18164            0 :                                     {
   18165            0 :                                       tree _q100 = TREE_OPERAND (_p2, 0);
   18166            0 :                                       tree _q101 = TREE_OPERAND (_p2, 1);
   18167            0 :                                       if ((_q100 == _q30 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q30, 0) && types_match (_q100, _q30)))
   18168              :                                         {
   18169            0 :                                           if ((_q101 == _q31 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q31, 0) && types_match (_q101, _q31)))
   18170              :                                             {
   18171            0 :                                               {
   18172            0 :                                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q51, _p2 };
   18173            0 :                                                 tree res = generic_simplify_378 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   18174            0 :                                                 if (res) return res;
   18175              :                                               }
   18176              :                                             }
   18177              :                                         }
   18178            0 :                                       if ((_q100 == _q31 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q31, 0) && types_match (_q100, _q31)))
   18179              :                                         {
   18180            0 :                                           if ((_q101 == _q30 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q30, 0) && types_match (_q101, _q30)))
   18181              :                                             {
   18182            0 :                                               {
   18183            0 :                                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q51, _p2 };
   18184            0 :                                                 tree res = generic_simplify_378 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   18185            0 :                                                 if (res) return res;
   18186              :                                               }
   18187              :                                             }
   18188              :                                         }
   18189              :                                       break;
   18190              :                                     }
   18191              :                                   default:;
   18192              :                                   }
   18193              :                               }
   18194              :                           }
   18195              :                       }
   18196              :                     break;
   18197              :                   }
   18198       284815 :                 default:;
   18199              :                 }
   18200       284815 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
   18201              :                 {
   18202            7 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   18203              :                     {
   18204            1 :                       switch (TREE_CODE (_p2))
   18205              :                         {
   18206            1 :                         case BIT_IOR_EXPR:
   18207            1 :                           {
   18208            1 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18209            1 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18210            1 :                             if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
   18211              :                               {
   18212            1 :                                 if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
   18213              :                                   {
   18214            1 :                                     {
   18215            1 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p2 };
   18216            1 :                                       tree res = generic_simplify_379 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   18217            1 :                                       if (res) return res;
   18218              :                                     }
   18219              :                                   }
   18220              :                               }
   18221              :                             break;
   18222              :                           }
   18223              :                         default:;
   18224              :                         }
   18225              :                     }
   18226              :                 }
   18227              :               break;
   18228              :             }
   18229      2997078 :           default:;
   18230              :           }
   18231      2997078 :         switch (TREE_CODE (_q21))
   18232              :           {
   18233            8 :           case BIT_AND_EXPR:
   18234            8 :             {
   18235            8 :               tree _q40 = TREE_OPERAND (_q21, 0);
   18236            8 :               tree _q41 = TREE_OPERAND (_q21, 1);
   18237            8 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
   18238              :                 {
   18239            0 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
   18240              :                     {
   18241            0 :                       switch (TREE_CODE (_p2))
   18242              :                         {
   18243            0 :                         case BIT_IOR_EXPR:
   18244            0 :                           {
   18245            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18246            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18247            0 :                             if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   18248              :                               {
   18249            0 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   18250              :                                   {
   18251            0 :                                     {
   18252            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q20, _p2 };
   18253            0 :                                       tree res = generic_simplify_379 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   18254            0 :                                       if (res) return res;
   18255              :                                     }
   18256              :                                   }
   18257              :                               }
   18258              :                             break;
   18259              :                           }
   18260              :                         default:;
   18261              :                         }
   18262              :                     }
   18263              :                 }
   18264              :               break;
   18265              :             }
   18266      2997078 :           default:;
   18267              :           }
   18268      2997078 :         switch (TREE_CODE (_q20))
   18269              :           {
   18270       284814 :           case BIT_AND_EXPR:
   18271       284814 :             {
   18272       284814 :               tree _q30 = TREE_OPERAND (_q20, 0);
   18273       284814 :               tree _q31 = TREE_OPERAND (_q20, 1);
   18274       284814 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
   18275              :                 {
   18276            6 :                   switch (TREE_CODE (_p1))
   18277              :                     {
   18278            0 :                     case BIT_IOR_EXPR:
   18279            0 :                       {
   18280            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
   18281            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
   18282            0 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   18283              :                           {
   18284            0 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   18285              :                               {
   18286            0 :                                 if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18287              :                                   {
   18288            0 :                                     {
   18289            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
   18290            0 :                                       tree res = generic_simplify_380 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   18291            0 :                                       if (res) return res;
   18292              :                                     }
   18293              :                                   }
   18294              :                               }
   18295              :                           }
   18296              :                         break;
   18297              :                       }
   18298              :                     default:;
   18299              :                     }
   18300              :                 }
   18301       284814 :               switch (TREE_CODE (_q31))
   18302              :                 {
   18303       214276 :                 case INTEGER_CST:
   18304       214276 :                   {
   18305       214276 :                     if (integer_zerop (_q21))
   18306              :                       {
   18307       214263 :                         switch (TREE_CODE (_p1))
   18308              :                           {
   18309          139 :                           case PLUS_EXPR:
   18310          139 :                             {
   18311          139 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   18312          139 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   18313          139 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   18314              :                                 {
   18315           18 :                                   switch (TREE_CODE (_q71))
   18316              :                                     {
   18317           18 :                                     case INTEGER_CST:
   18318           18 :                                       {
   18319           18 :                                         switch (TREE_CODE (_p2))
   18320              :                                           {
   18321           18 :                                           case BIT_IOR_EXPR:
   18322           18 :                                             {
   18323           18 :                                               tree _q100 = TREE_OPERAND (_p2, 0);
   18324           18 :                                               tree _q101 = TREE_OPERAND (_p2, 1);
   18325           18 :                                               if ((_q100 == _q30 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q30, 0) && types_match (_q100, _q30)))
   18326              :                                                 {
   18327           18 :                                                   if ((_q101 == _q31 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q31, 0) && types_match (_q101, _q31)))
   18328              :                                                     {
   18329           18 :                                                       {
   18330           18 :                                                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
   18331           18 :                                                         tree res = generic_simplify_385 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   18332           18 :                                                         if (res) return res;
   18333              :                                                       }
   18334              :                                                     }
   18335              :                                                 }
   18336              :                                               break;
   18337              :                                             }
   18338              :                                           default:;
   18339              :                                           }
   18340              :                                         break;
   18341              :                                       }
   18342              :                                     default:;
   18343              :                                     }
   18344              :                                 }
   18345              :                               break;
   18346              :                             }
   18347           54 :                           case BIT_AND_EXPR:
   18348           54 :                             {
   18349           54 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   18350           54 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   18351           54 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   18352              :                                 {
   18353           18 :                                   switch (TREE_CODE (_q71))
   18354              :                                     {
   18355           18 :                                     case INTEGER_CST:
   18356           18 :                                       {
   18357           18 :                                         switch (TREE_CODE (_p2))
   18358              :                                           {
   18359           18 :                                           case BIT_IOR_EXPR:
   18360           18 :                                             {
   18361           18 :                                               tree _q100 = TREE_OPERAND (_p2, 0);
   18362           18 :                                               tree _q101 = TREE_OPERAND (_p2, 1);
   18363           18 :                                               if ((_q100 == _q30 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q30, 0) && types_match (_q100, _q30)))
   18364              :                                                 {
   18365           18 :                                                   if ((_q101 == _q31 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q31, 0) && types_match (_q101, _q31)))
   18366              :                                                     {
   18367           18 :                                                       {
   18368           18 :                                                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
   18369           18 :                                                         tree res = generic_simplify_385 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   18370           18 :                                                         if (res) return res;
   18371              :                                                       }
   18372              :                                                     }
   18373              :                                                 }
   18374              :                                               break;
   18375              :                                             }
   18376              :                                           default:;
   18377              :                                           }
   18378              :                                         break;
   18379              :                                       }
   18380              :                                     default:;
   18381              :                                     }
   18382              :                                 }
   18383              :                               break;
   18384              :                             }
   18385              :                           default:;
   18386              :                           }
   18387              :                       }
   18388              :                     break;
   18389              :                   }
   18390              :                 default:;
   18391              :                 }
   18392              :               break;
   18393              :             }
   18394      2997054 :           default:;
   18395              :           }
   18396      2997054 :         switch (TREE_CODE (_q21))
   18397              :           {
   18398            8 :           case BIT_AND_EXPR:
   18399            8 :             {
   18400            8 :               tree _q40 = TREE_OPERAND (_q21, 0);
   18401            8 :               tree _q41 = TREE_OPERAND (_q21, 1);
   18402            8 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
   18403              :                 {
   18404            0 :                   switch (TREE_CODE (_p1))
   18405              :                     {
   18406            0 :                     case BIT_IOR_EXPR:
   18407            0 :                       {
   18408            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
   18409            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
   18410            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
   18411              :                           {
   18412            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
   18413              :                               {
   18414            0 :                                 if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
   18415              :                                   {
   18416            0 :                                     {
   18417            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q20, _p1 };
   18418            0 :                                       tree res = generic_simplify_380 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   18419            0 :                                       if (res) return res;
   18420              :                                     }
   18421              :                                   }
   18422              :                               }
   18423              :                           }
   18424              :                         break;
   18425              :                       }
   18426              :                     default:;
   18427              :                     }
   18428              :                 }
   18429              :               break;
   18430              :             }
   18431      2997054 :           default:;
   18432              :           }
   18433      2997054 :         switch (TREE_CODE (_q20))
   18434              :           {
   18435       367910 :           CASE_CONVERT:
   18436       367910 :             {
   18437       367910 :               tree _q30 = TREE_OPERAND (_q20, 0);
   18438       367910 :               switch (TREE_CODE (_q21))
   18439              :                 {
   18440       319038 :                 case INTEGER_CST:
   18441       319038 :                   {
   18442       319038 :                     switch (TREE_CODE (_p1))
   18443              :                       {
   18444       103958 :                       CASE_CONVERT:
   18445       103958 :                         {
   18446       103958 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   18447       103958 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18448              :                             {
   18449           57 :                               switch (TREE_CODE (_p2))
   18450              :                                 {
   18451            9 :                                 case INTEGER_CST:
   18452            9 :                                   {
   18453            9 :                                     {
   18454            9 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   18455            9 :                                       tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   18456            9 :                                       if (res) return res;
   18457              :                                     }
   18458            9 :                                     break;
   18459              :                                   }
   18460              :                                 default:;
   18461              :                                 }
   18462              :                             }
   18463              :                           break;
   18464              :                         }
   18465       319038 :                       default:;
   18466              :                       }
   18467       319038 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   18468              :                       {
   18469           48 :                         switch (TREE_CODE (_p2))
   18470              :                           {
   18471            0 :                           case INTEGER_CST:
   18472            0 :                             {
   18473            0 :                               {
   18474            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   18475            0 :                                 tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   18476            0 :                                 if (res) return res;
   18477              :                               }
   18478            0 :                               break;
   18479              :                             }
   18480              :                           default:;
   18481              :                           }
   18482              :                       }
   18483              :                     break;
   18484              :                   }
   18485              :                 default:;
   18486              :                 }
   18487              :               break;
   18488              :             }
   18489      2997054 :           default:;
   18490              :           }
   18491      2997054 :         switch (TREE_CODE (_q21))
   18492              :           {
   18493      2303861 :           case INTEGER_CST:
   18494      2303861 :             {
   18495      2303861 :               switch (TREE_CODE (_p1))
   18496              :                 {
   18497       393260 :                 CASE_CONVERT:
   18498       393260 :                   {
   18499       393260 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   18500       393260 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18501              :                       {
   18502        77473 :                         switch (TREE_CODE (_p2))
   18503              :                           {
   18504        76222 :                           case INTEGER_CST:
   18505        76222 :                             {
   18506        76222 :                               {
   18507        76222 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   18508        76222 :                                 tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   18509        76222 :                                 if (res) return res;
   18510              :                               }
   18511        76216 :                               break;
   18512              :                             }
   18513              :                           default:;
   18514              :                           }
   18515              :                       }
   18516              :                     break;
   18517              :                   }
   18518      2303855 :                 default:;
   18519              :                 }
   18520      2303855 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   18521              :                 {
   18522        55568 :                   switch (TREE_CODE (_p2))
   18523              :                     {
   18524        52985 :                     case INTEGER_CST:
   18525        52985 :                       {
   18526        52985 :                         {
   18527        52985 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   18528        52985 :                           tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   18529        52985 :                           if (res) return res;
   18530              :                         }
   18531        52985 :                         break;
   18532              :                       }
   18533              :                     default:;
   18534              :                     }
   18535              :                 }
   18536              :               break;
   18537              :             }
   18538      2997048 :           default:;
   18539              :           }
   18540      2997048 :         switch (TREE_CODE (_p1))
   18541              :           {
   18542        12655 :           case MINUS_EXPR:
   18543        12655 :             {
   18544        12655 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18545        12655 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18546        12655 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18547              :                 {
   18548            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18549              :                     {
   18550            0 :                       if (integer_zerop (_p2))
   18551              :                         {
   18552            0 :                           {
   18553            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   18554            0 :                             tree res = generic_simplify_386 (loc, type, _p0, _p1, _p2, captures, MINUS_EXPR);
   18555            0 :                             if (res) return res;
   18556              :                           }
   18557              :                         }
   18558              :                     }
   18559              :                 }
   18560        12655 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18561              :                 {
   18562           19 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18563              :                     {
   18564           19 :                       if (integer_zerop (_p2))
   18565              :                         {
   18566            0 :                           {
   18567            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   18568            0 :                             tree res = generic_simplify_386 (loc, type, _p0, _p1, _p2, captures, MINUS_EXPR);
   18569            0 :                             if (res) return res;
   18570              :                           }
   18571              :                         }
   18572              :                     }
   18573              :                 }
   18574              :               break;
   18575              :             }
   18576           14 :           case BIT_XOR_EXPR:
   18577           14 :             {
   18578           14 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18579           14 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18580           14 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18581              :                 {
   18582            7 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18583              :                     {
   18584            7 :                       if (integer_zerop (_p2))
   18585              :                         {
   18586            0 :                           {
   18587            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   18588            0 :                             tree res = generic_simplify_386 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   18589            0 :                             if (res) return res;
   18590              :                           }
   18591              :                         }
   18592              :                     }
   18593              :                 }
   18594           14 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18595              :                 {
   18596            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18597              :                     {
   18598            0 :                       if (integer_zerop (_p2))
   18599              :                         {
   18600            0 :                           {
   18601            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   18602            0 :                             tree res = generic_simplify_386 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   18603            0 :                             if (res) return res;
   18604              :                           }
   18605              :                         }
   18606              :                     }
   18607              :                 }
   18608              :               break;
   18609              :             }
   18610          275 :           case BIT_AND_EXPR:
   18611          275 :             {
   18612          275 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18613          275 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18614          275 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18615              :                 {
   18616            2 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18617              :                     {
   18618            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   18619              :                         {
   18620            0 :                           {
   18621            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   18622            0 :                             tree res = generic_simplify_387 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   18623            0 :                             if (res) return res;
   18624              :                           }
   18625              :                         }
   18626            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   18627              :                         {
   18628            0 :                           {
   18629            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   18630            0 :                             tree res = generic_simplify_387 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   18631            0 :                             if (res) return res;
   18632              :                           }
   18633              :                         }
   18634              :                     }
   18635              :                 }
   18636          275 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18637              :                 {
   18638            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18639              :                     {
   18640            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   18641              :                         {
   18642            0 :                           {
   18643            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   18644            0 :                             tree res = generic_simplify_387 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   18645            0 :                             if (res) return res;
   18646              :                           }
   18647              :                         }
   18648            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   18649              :                         {
   18650            0 :                           {
   18651            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   18652            0 :                             tree res = generic_simplify_387 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   18653            0 :                             if (res) return res;
   18654              :                           }
   18655              :                         }
   18656              :                     }
   18657              :                 }
   18658              :               break;
   18659              :             }
   18660         9652 :           case BIT_IOR_EXPR:
   18661         9652 :             {
   18662         9652 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18663         9652 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18664         9652 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18665              :                 {
   18666            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18667              :                     {
   18668            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   18669              :                         {
   18670            0 :                           {
   18671            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   18672            0 :                             tree res = generic_simplify_387 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   18673            0 :                             if (res) return res;
   18674              :                           }
   18675              :                         }
   18676            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   18677              :                         {
   18678            0 :                           {
   18679            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   18680            0 :                             tree res = generic_simplify_387 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   18681            0 :                             if (res) return res;
   18682              :                           }
   18683              :                         }
   18684              :                     }
   18685              :                 }
   18686         9652 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18687              :                 {
   18688            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18689              :                     {
   18690            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   18691              :                         {
   18692            0 :                           {
   18693            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   18694            0 :                             tree res = generic_simplify_387 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   18695            0 :                             if (res) return res;
   18696              :                           }
   18697              :                         }
   18698            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   18699              :                         {
   18700            0 :                           {
   18701            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   18702            0 :                             tree res = generic_simplify_387 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   18703            0 :                             if (res) return res;
   18704              :                           }
   18705              :                         }
   18706              :                     }
   18707              :                 }
   18708              :               break;
   18709              :             }
   18710            0 :           case MIN_EXPR:
   18711            0 :             {
   18712            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18713            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18714            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18715              :                 {
   18716            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18717              :                     {
   18718            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   18719              :                         {
   18720            0 :                           {
   18721            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   18722            0 :                             tree res = generic_simplify_387 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   18723            0 :                             if (res) return res;
   18724              :                           }
   18725              :                         }
   18726            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   18727              :                         {
   18728            0 :                           {
   18729            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   18730            0 :                             tree res = generic_simplify_387 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   18731            0 :                             if (res) return res;
   18732              :                           }
   18733              :                         }
   18734              :                     }
   18735            0 :                   switch (TREE_CODE (_p2))
   18736              :                     {
   18737            0 :                     case MIN_EXPR:
   18738            0 :                       {
   18739            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   18740            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   18741            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   18742              :                           {
   18743            0 :                             {
   18744            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   18745            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   18746            0 :                               if (res) return res;
   18747              :                             }
   18748              :                           }
   18749            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   18750              :                           {
   18751            0 :                             {
   18752            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   18753            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   18754            0 :                               if (res) return res;
   18755              :                             }
   18756              :                           }
   18757              :                         break;
   18758              :                       }
   18759              :                     default:;
   18760              :                     }
   18761              :                 }
   18762            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18763              :                 {
   18764            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18765              :                     {
   18766            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   18767              :                         {
   18768            0 :                           {
   18769            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   18770            0 :                             tree res = generic_simplify_387 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   18771            0 :                             if (res) return res;
   18772              :                           }
   18773              :                         }
   18774            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   18775              :                         {
   18776            0 :                           {
   18777            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   18778            0 :                             tree res = generic_simplify_387 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   18779            0 :                             if (res) return res;
   18780              :                           }
   18781              :                         }
   18782              :                     }
   18783            0 :                   switch (TREE_CODE (_p2))
   18784              :                     {
   18785            0 :                     case MIN_EXPR:
   18786            0 :                       {
   18787            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   18788            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   18789            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   18790              :                           {
   18791            0 :                             {
   18792            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   18793            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   18794            0 :                               if (res) return res;
   18795              :                             }
   18796              :                           }
   18797            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   18798              :                           {
   18799            0 :                             {
   18800            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   18801            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   18802            0 :                               if (res) return res;
   18803              :                             }
   18804              :                           }
   18805              :                         break;
   18806              :                       }
   18807              :                     default:;
   18808              :                     }
   18809              :                 }
   18810            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18811              :                 {
   18812            0 :                   switch (TREE_CODE (_p2))
   18813              :                     {
   18814            0 :                     case MIN_EXPR:
   18815            0 :                       {
   18816            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   18817            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   18818            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   18819              :                           {
   18820            0 :                             {
   18821            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   18822            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   18823            0 :                               if (res) return res;
   18824              :                             }
   18825              :                           }
   18826            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   18827              :                           {
   18828            0 :                             {
   18829            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   18830            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   18831            0 :                               if (res) return res;
   18832              :                             }
   18833              :                           }
   18834              :                         break;
   18835              :                       }
   18836              :                     default:;
   18837              :                     }
   18838              :                 }
   18839            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18840              :                 {
   18841            0 :                   switch (TREE_CODE (_p2))
   18842              :                     {
   18843            0 :                     case MIN_EXPR:
   18844            0 :                       {
   18845            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   18846            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   18847            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   18848              :                           {
   18849            0 :                             {
   18850            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   18851            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   18852            0 :                               if (res) return res;
   18853              :                             }
   18854              :                           }
   18855            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   18856              :                           {
   18857            0 :                             {
   18858            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   18859            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   18860            0 :                               if (res) return res;
   18861              :                             }
   18862              :                           }
   18863              :                         break;
   18864              :                       }
   18865              :                     default:;
   18866              :                     }
   18867              :                 }
   18868              :               break;
   18869              :             }
   18870            0 :           case MAX_EXPR:
   18871            0 :             {
   18872            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18873            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18874            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18875              :                 {
   18876            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18877              :                     {
   18878            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   18879              :                         {
   18880            0 :                           {
   18881            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   18882            0 :                             tree res = generic_simplify_387 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   18883            0 :                             if (res) return res;
   18884              :                           }
   18885              :                         }
   18886            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   18887              :                         {
   18888            0 :                           {
   18889            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   18890            0 :                             tree res = generic_simplify_387 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   18891            0 :                             if (res) return res;
   18892              :                           }
   18893              :                         }
   18894              :                     }
   18895            0 :                   switch (TREE_CODE (_p2))
   18896              :                     {
   18897            0 :                     case MAX_EXPR:
   18898            0 :                       {
   18899            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   18900            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   18901            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   18902              :                           {
   18903            0 :                             {
   18904            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   18905            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   18906            0 :                               if (res) return res;
   18907              :                             }
   18908              :                           }
   18909            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   18910              :                           {
   18911            0 :                             {
   18912            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   18913            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   18914            0 :                               if (res) return res;
   18915              :                             }
   18916              :                           }
   18917              :                         break;
   18918              :                       }
   18919              :                     default:;
   18920              :                     }
   18921              :                 }
   18922            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18923              :                 {
   18924            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18925              :                     {
   18926            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   18927              :                         {
   18928            0 :                           {
   18929            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   18930            0 :                             tree res = generic_simplify_387 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   18931            0 :                             if (res) return res;
   18932              :                           }
   18933              :                         }
   18934            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   18935              :                         {
   18936            0 :                           {
   18937            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   18938            0 :                             tree res = generic_simplify_387 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   18939            0 :                             if (res) return res;
   18940              :                           }
   18941              :                         }
   18942              :                     }
   18943            0 :                   switch (TREE_CODE (_p2))
   18944              :                     {
   18945            0 :                     case MAX_EXPR:
   18946            0 :                       {
   18947            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   18948            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   18949            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   18950              :                           {
   18951            0 :                             {
   18952            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   18953            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   18954            0 :                               if (res) return res;
   18955              :                             }
   18956              :                           }
   18957            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   18958              :                           {
   18959            0 :                             {
   18960            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   18961            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   18962            0 :                               if (res) return res;
   18963              :                             }
   18964              :                           }
   18965              :                         break;
   18966              :                       }
   18967              :                     default:;
   18968              :                     }
   18969              :                 }
   18970            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18971              :                 {
   18972            0 :                   switch (TREE_CODE (_p2))
   18973              :                     {
   18974            0 :                     case MAX_EXPR:
   18975            0 :                       {
   18976            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   18977            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   18978            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   18979              :                           {
   18980            0 :                             {
   18981            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   18982            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   18983            0 :                               if (res) return res;
   18984              :                             }
   18985              :                           }
   18986            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   18987              :                           {
   18988            0 :                             {
   18989            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   18990            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   18991            0 :                               if (res) return res;
   18992              :                             }
   18993              :                           }
   18994              :                         break;
   18995              :                       }
   18996              :                     default:;
   18997              :                     }
   18998              :                 }
   18999            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   19000              :                 {
   19001            0 :                   switch (TREE_CODE (_p2))
   19002              :                     {
   19003            0 :                     case MAX_EXPR:
   19004            0 :                       {
   19005            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   19006            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   19007            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   19008              :                           {
   19009            0 :                             {
   19010            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   19011            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   19012            0 :                               if (res) return res;
   19013              :                             }
   19014              :                           }
   19015            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   19016              :                           {
   19017            0 :                             {
   19018            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   19019            0 :                               tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   19020            0 :                               if (res) return res;
   19021              :                             }
   19022              :                           }
   19023              :                         break;
   19024              :                       }
   19025              :                     default:;
   19026              :                     }
   19027              :                 }
   19028              :               break;
   19029              :             }
   19030        25752 :           case MULT_EXPR:
   19031        25752 :             {
   19032        25752 :               tree _q50 = TREE_OPERAND (_p1, 0);
   19033        25752 :               tree _q51 = TREE_OPERAND (_p1, 1);
   19034        25752 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19035              :                 {
   19036        21043 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   19037              :                     {
   19038            0 :                       switch (TREE_CODE (_p2))
   19039              :                         {
   19040            0 :                         case MULT_EXPR:
   19041            0 :                           {
   19042            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   19043            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   19044            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   19045              :                               {
   19046            0 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   19047              :                                   {
   19048            0 :                                     {
   19049            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   19050            0 :                                       const enum tree_code op = MULT_EXPR;
   19051            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   19052              : )
   19053              :                                         {
   19054            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1916;
   19055            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1916;
   19056            0 :                                           {
   19057            0 :                                             tree _r;
   19058            0 :                                             _r = captures[2];
   19059            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1087, __FILE__, __LINE__, true);
   19060              :                                             return _r;
   19061              :                                           }
   19062        25752 : next_after_fail1916:;
   19063              :                                         }
   19064              :                                     }
   19065              :                                   }
   19066              :                               }
   19067              :                             break;
   19068              :                           }
   19069              :                         default:;
   19070              :                         }
   19071              :                     }
   19072              :                 }
   19073        25752 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   19074              :                 {
   19075            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   19076              :                     {
   19077            0 :                       switch (TREE_CODE (_p2))
   19078              :                         {
   19079            0 :                         case MULT_EXPR:
   19080            0 :                           {
   19081            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   19082            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   19083            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   19084              :                               {
   19085            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   19086              :                                   {
   19087            0 :                                     {
   19088            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   19089            0 :                                       const enum tree_code op = MULT_EXPR;
   19090            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   19091              : )
   19092              :                                         {
   19093            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1917;
   19094            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1917;
   19095            0 :                                           {
   19096            0 :                                             tree _r;
   19097            0 :                                             _r = captures[2];
   19098            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1087, __FILE__, __LINE__, true);
   19099              :                                             return _r;
   19100              :                                           }
   19101      2997048 : next_after_fail1917:;
   19102              :                                         }
   19103              :                                     }
   19104              :                                   }
   19105              :                               }
   19106              :                             break;
   19107              :                           }
   19108              :                         default:;
   19109              :                         }
   19110              :                     }
   19111              :                 }
   19112              :               break;
   19113              :             }
   19114       132978 :           case PLUS_EXPR:
   19115       132978 :             {
   19116       132978 :               tree _q50 = TREE_OPERAND (_p1, 0);
   19117       132978 :               tree _q51 = TREE_OPERAND (_p1, 1);
   19118       132978 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19119              :                 {
   19120         2626 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   19121              :                     {
   19122            0 :                       switch (TREE_CODE (_p2))
   19123              :                         {
   19124            0 :                         case PLUS_EXPR:
   19125            0 :                           {
   19126            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   19127            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   19128            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   19129              :                               {
   19130            0 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   19131              :                                   {
   19132            0 :                                     {
   19133            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   19134            0 :                                       const enum tree_code op = PLUS_EXPR;
   19135            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   19136              : )
   19137              :                                         {
   19138            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1918;
   19139            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1918;
   19140            0 :                                           {
   19141            0 :                                             tree _r;
   19142            0 :                                             _r = captures[2];
   19143            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1087, __FILE__, __LINE__, true);
   19144              :                                             return _r;
   19145              :                                           }
   19146       132978 : next_after_fail1918:;
   19147              :                                         }
   19148              :                                     }
   19149              :                                   }
   19150              :                               }
   19151              :                             break;
   19152              :                           }
   19153            0 :                         case MULT_EXPR:
   19154            0 :                           {
   19155            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   19156            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   19157            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   19158              :                               {
   19159            0 :                                 if (uniform_integer_cst_p (_q81))
   19160              :                                   {
   19161            0 :                                     {
   19162            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   19163            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   19164              : )
   19165              :                                         {
   19166            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1919;
   19167            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1919;
   19168            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1919;
   19169            0 :                                           {
   19170            0 :                                             tree _r;
   19171            0 :                                             _r = captures[2];
   19172            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1088, __FILE__, __LINE__, true);
   19173              :                                             return _r;
   19174              :                                           }
   19175            0 : next_after_fail1919:;
   19176              :                                         }
   19177              :                                     }
   19178              :                                   }
   19179              :                               }
   19180            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   19181              :                               {
   19182            0 :                                 if (uniform_integer_cst_p (_q81))
   19183              :                                   {
   19184            0 :                                     {
   19185            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   19186            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   19187              : )
   19188              :                                         {
   19189            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1920;
   19190            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1920;
   19191            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1920;
   19192            0 :                                           {
   19193            0 :                                             tree _r;
   19194            0 :                                             _r = captures[2];
   19195            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1088, __FILE__, __LINE__, true);
   19196              :                                             return _r;
   19197              :                                           }
   19198       132978 : next_after_fail1920:;
   19199              :                                         }
   19200              :                                     }
   19201              :                                   }
   19202              :                               }
   19203              :                             break;
   19204              :                           }
   19205              :                         default:;
   19206              :                         }
   19207              :                     }
   19208              :                 }
   19209       132978 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   19210              :                 {
   19211            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   19212              :                     {
   19213            0 :                       switch (TREE_CODE (_p2))
   19214              :                         {
   19215            0 :                         case PLUS_EXPR:
   19216            0 :                           {
   19217            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   19218            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   19219            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   19220              :                               {
   19221            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   19222              :                                   {
   19223            0 :                                     {
   19224            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   19225            0 :                                       const enum tree_code op = PLUS_EXPR;
   19226            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   19227              : )
   19228              :                                         {
   19229            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1921;
   19230            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1921;
   19231            0 :                                           {
   19232            0 :                                             tree _r;
   19233            0 :                                             _r = captures[2];
   19234            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1087, __FILE__, __LINE__, true);
   19235              :                                             return _r;
   19236              :                                           }
   19237      2997048 : next_after_fail1921:;
   19238              :                                         }
   19239              :                                     }
   19240              :                                   }
   19241              :                               }
   19242              :                             break;
   19243              :                           }
   19244            0 :                         case MULT_EXPR:
   19245            0 :                           {
   19246            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   19247            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   19248            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   19249              :                               {
   19250            0 :                                 if (uniform_integer_cst_p (_q81))
   19251              :                                   {
   19252            0 :                                     {
   19253            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   19254            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   19255              : )
   19256              :                                         {
   19257            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1922;
   19258            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1922;
   19259            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1922;
   19260            0 :                                           {
   19261            0 :                                             tree _r;
   19262            0 :                                             _r = captures[2];
   19263            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1088, __FILE__, __LINE__, true);
   19264              :                                             return _r;
   19265              :                                           }
   19266            0 : next_after_fail1922:;
   19267              :                                         }
   19268              :                                     }
   19269              :                                   }
   19270              :                               }
   19271            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   19272              :                               {
   19273            0 :                                 if (uniform_integer_cst_p (_q81))
   19274              :                                   {
   19275            0 :                                     {
   19276            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   19277            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   19278              : )
   19279              :                                         {
   19280            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1923;
   19281            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1923;
   19282            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1923;
   19283            0 :                                           {
   19284            0 :                                             tree _r;
   19285            0 :                                             _r = captures[2];
   19286            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1088, __FILE__, __LINE__, true);
   19287              :                                             return _r;
   19288              :                                           }
   19289      2997048 : next_after_fail1923:;
   19290              :                                         }
   19291              :                                     }
   19292              :                                   }
   19293              :                               }
   19294              :                             break;
   19295              :                           }
   19296              :                         default:;
   19297              :                         }
   19298              :                     }
   19299              :                 }
   19300              :               break;
   19301              :             }
   19302      2997048 :           default:;
   19303              :           }
   19304      2997048 :         switch (TREE_CODE (_q21))
   19305              :           {
   19306      2303855 :           case INTEGER_CST:
   19307      2303855 :             {
   19308      2303855 :               switch (TREE_CODE (_p1))
   19309              :                 {
   19310          230 :                 case NEGATE_EXPR:
   19311          230 :                   {
   19312          230 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   19313          230 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19314              :                       {
   19315           44 :                         switch (TREE_CODE (_p2))
   19316              :                           {
   19317           16 :                           case INTEGER_CST:
   19318           16 :                             {
   19319           16 :                               {
   19320           16 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19321           16 :                                 if (!TYPE_SATURATING (type)
   19322           32 :  && wi::eq_p (wi::neg (wi::to_wide (captures[1])), wi::to_wide (captures[3]))
   19323              : )
   19324              :                                   {
   19325           12 :                                     if (TYPE_OVERFLOW_WRAPS (type)
   19326           12 :  || !wi::only_sign_bit_p (wi::to_wide (captures[1]))
   19327              : )
   19328              :                                       {
   19329           11 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1924;
   19330           11 :                                         if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1924;
   19331           11 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1924;
   19332           11 :                                         {
   19333           11 :                                           tree _r;
   19334           11 :                                           _r = captures[2];
   19335           11 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   19336            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   19337           11 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1089, __FILE__, __LINE__, true);
   19338              :                                           return _r;
   19339              :                                         }
   19340     12266433 : next_after_fail1924:;
   19341              :                                       }
   19342              :                                     else
   19343              :                                       {
   19344            1 :                                         {
   19345            1 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
   19346            1 :                                             if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1925;
   19347            1 :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1925;
   19348            1 :                                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1925;
   19349            1 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1925;
   19350            1 :                                             {
   19351            1 :                                               tree res_op0;
   19352            1 :                                               {
   19353            1 :                                                 tree _o1[1], _r1;
   19354            1 :                                                 {
   19355            1 :                                                   tree _o2[1], _r2;
   19356            1 :                                                   _o2[0] = captures[0];
   19357            1 :                                                   if (TREE_TYPE (_o2[0]) != utype)
   19358              :                                                     {
   19359            1 :                                                       _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
   19360              :                                                     }
   19361              :                                                   else
   19362              :                                                     _r2 = _o2[0];
   19363            1 :                                                   _o1[0] = _r2;
   19364              :                                                 }
   19365            1 :                                                 _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   19366            1 :                                                 res_op0 = _r1;
   19367              :                                               }
   19368            1 :                                               tree _r;
   19369            1 :                                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   19370            1 :                                               if (TREE_SIDE_EFFECTS (captures[1]))
   19371            0 :                                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   19372            1 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1090, __FILE__, __LINE__, true);
   19373              :                                               return _r;
   19374              :                                             }
   19375     12266433 : next_after_fail1925:;
   19376              :                                         }
   19377              :                                       }
   19378              :                                   }
   19379              :                               }
   19380              :                               break;
   19381              :                             }
   19382              :                           default:;
   19383              :                           }
   19384              :                       }
   19385              :                     break;
   19386              :                   }
   19387           99 :                 case BIT_NOT_EXPR:
   19388           99 :                   {
   19389           99 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   19390           99 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19391              :                       {
   19392           22 :                         switch (TREE_CODE (_p2))
   19393              :                           {
   19394           22 :                           case INTEGER_CST:
   19395           22 :                             {
   19396           22 :                               {
   19397           22 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19398           22 :                                 if (wi::eq_p (wi::bit_not (wi::to_wide (captures[1])), wi::to_wide (captures[3]))
   19399              : )
   19400              :                                   {
   19401           22 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1926;
   19402           22 :                                     if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1926;
   19403           22 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1926;
   19404           22 :                                     {
   19405           22 :                                       tree _r;
   19406           22 :                                       _r = captures[2];
   19407           22 :                                       if (TREE_SIDE_EFFECTS (captures[1]))
   19408            0 :                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   19409           22 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1091, __FILE__, __LINE__, true);
   19410              :                                       return _r;
   19411              :                                     }
   19412     12266433 : next_after_fail1926:;
   19413              :                                   }
   19414              :                               }
   19415              :                               break;
   19416              :                             }
   19417              :                           default:;
   19418              :                           }
   19419              :                       }
   19420              :                     break;
   19421              :                   }
   19422            5 :                 case ABS_EXPR:
   19423            5 :                   {
   19424            5 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   19425            5 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19426              :                       {
   19427            1 :                         switch (TREE_CODE (_p2))
   19428              :                           {
   19429            1 :                           case INTEGER_CST:
   19430            1 :                             {
   19431            1 :                               {
   19432            1 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19433            1 :                                 if (wi::abs (wi::to_wide (captures[1])) == wi::to_wide (captures[3])
   19434              : )
   19435              :                                   {
   19436            0 :                                     if (ABS_EXPR != ABSU_EXPR && wi::only_sign_bit_p (wi::to_wide (captures[1]))
   19437              : )
   19438              :                                       {
   19439            0 :                                         {
   19440            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
   19441            0 :                                             if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1927;
   19442            0 :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1927;
   19443            0 :                                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1927;
   19444            0 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1927;
   19445            0 :                                             {
   19446            0 :                                               tree res_op0;
   19447            0 :                                               {
   19448            0 :                                                 tree _o1[1], _r1;
   19449            0 :                                                 _o1[0] = captures[0];
   19450            0 :                                                 _r1 = fold_build1_loc (loc, ABSU_EXPR, utype, _o1[0]);
   19451            0 :                                                 res_op0 = _r1;
   19452              :                                               }
   19453            0 :                                               tree _r;
   19454            0 :                                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   19455            0 :                                               if (TREE_SIDE_EFFECTS (captures[1]))
   19456            0 :                                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   19457            0 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1092, __FILE__, __LINE__, true);
   19458              :                                               return _r;
   19459              :                                             }
   19460     12266433 : next_after_fail1927:;
   19461              :                                         }
   19462              :                                       }
   19463              :                                     else
   19464              :                                       {
   19465            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1928;
   19466            0 :                                         if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1928;
   19467            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1928;
   19468            0 :                                         {
   19469            0 :                                           tree _r;
   19470            0 :                                           _r = captures[2];
   19471            0 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   19472            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   19473            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1093, __FILE__, __LINE__, true);
   19474              :                                           return _r;
   19475              :                                         }
   19476     12266433 : next_after_fail1928:;
   19477              :                                       }
   19478              :                                   }
   19479              :                               }
   19480              :                               break;
   19481              :                             }
   19482              :                           default:;
   19483              :                           }
   19484              :                       }
   19485              :                     break;
   19486              :                   }
   19487            0 :                 case ABSU_EXPR:
   19488            0 :                   {
   19489            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   19490            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19491              :                       {
   19492            0 :                         switch (TREE_CODE (_p2))
   19493              :                           {
   19494            0 :                           case INTEGER_CST:
   19495            0 :                             {
   19496            0 :                               {
   19497            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19498            0 :                                 if (wi::abs (wi::to_wide (captures[1])) == wi::to_wide (captures[3])
   19499              : )
   19500              :                                   {
   19501            0 :                                     if (ABSU_EXPR != ABSU_EXPR && wi::only_sign_bit_p (wi::to_wide (captures[1]))
   19502              : )
   19503              :                                       {
   19504              :                                         {
   19505              :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
   19506              :                                             if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1929;
   19507              :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1929;
   19508              :                                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1929;
   19509              :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1929;
   19510              :                                             {
   19511              :                                               tree res_op0;
   19512              :                                               {
   19513              :                                                 tree _o1[1], _r1;
   19514              :                                                 _o1[0] = captures[0];
   19515              :                                                 _r1 = fold_build1_loc (loc, ABSU_EXPR, utype, _o1[0]);
   19516              :                                                 res_op0 = _r1;
   19517              :                                               }
   19518              :                                               tree _r;
   19519              :                                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   19520              :                                               if (TREE_SIDE_EFFECTS (captures[1]))
   19521              :                                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   19522              :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1092, __FILE__, __LINE__, true);
   19523              :                                               return _r;
   19524              :                                             }
   19525              : next_after_fail1929:;
   19526              :                                         }
   19527              :                                       }
   19528              :                                     else
   19529              :                                       {
   19530            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1930;
   19531            0 :                                         if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1930;
   19532            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1930;
   19533            0 :                                         {
   19534            0 :                                           tree _r;
   19535            0 :                                           _r = captures[2];
   19536            0 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   19537            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   19538            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1093, __FILE__, __LINE__, true);
   19539              :                                           return _r;
   19540              :                                         }
   19541     12266433 : next_after_fail1930:;
   19542              :                                       }
   19543              :                                   }
   19544              :                               }
   19545              :                               break;
   19546              :                             }
   19547              :                           default:;
   19548              :                           }
   19549              :                       }
   19550              :                     break;
   19551              :                   }
   19552              :                 default:;
   19553              :                 }
   19554              :               break;
   19555              :             }
   19556              :           default:;
   19557              :           }
   19558              :         break;
   19559              :       }
   19560      1299134 :     case INTEGER_CST:
   19561      1299134 :       {
   19562      1299134 :         {
   19563      1299134 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   19564      1299134 :           if (integer_zerop (captures[0])
   19565              : )
   19566              :             {
   19567       678509 :               if (!VOID_TYPE_P (TREE_TYPE (captures[2])) || VOID_TYPE_P (type)
   19568              : )
   19569              :                 {
   19570       670295 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1931;
   19571       490461 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1931;
   19572       473815 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1931;
   19573       473815 :                   {
   19574       473815 :                     tree _r;
   19575       473815 :                     _r = captures[2];
   19576       473815 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   19577            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   19578       473815 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1094, __FILE__, __LINE__, true);
   19579              :                     return _r;
   19580              :                   }
   19581     12266433 : next_after_fail1931:;
   19582              :                 }
   19583              :             }
   19584              :           else
   19585              :             {
   19586       620625 :               if (!VOID_TYPE_P (TREE_TYPE (captures[1])) || VOID_TYPE_P (type)
   19587              : )
   19588              :                 {
   19589       619633 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1932;
   19590       491322 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1932;
   19591       388790 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1932;
   19592       388790 :                   {
   19593       388790 :                     tree _r;
   19594       388790 :                     _r = captures[1];
   19595       388790 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   19596            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   19597       388790 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1095, __FILE__, __LINE__, true);
   19598              :                     return _r;
   19599              :                   }
   19600     12266433 : next_after_fail1932:;
   19601              :                 }
   19602              :             }
   19603              :         }
   19604              :         break;
   19605              :       }
   19606     12266433 :     default:;
   19607              :     }
   19608     12266433 :   switch (TREE_CODE (_p1))
   19609              :     {
   19610       855331 :     case COND_EXPR:
   19611       855331 :       {
   19612       855331 :         tree _q30 = TREE_OPERAND (_p1, 0);
   19613       855331 :         tree _q31 = TREE_OPERAND (_p1, 1);
   19614       855331 :         tree _q32 = TREE_OPERAND (_p1, 2);
   19615       855331 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   19616              :           {
   19617          609 :             {
   19618          609 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
   19619          609 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1933;
   19620          609 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1933;
   19621           55 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1933;
   19622           54 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1933;
   19623           10 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1933;
   19624           10 :               {
   19625           10 :                 tree res_op0;
   19626           10 :                 res_op0 = captures[0];
   19627           10 :                 tree res_op1;
   19628           10 :                 res_op1 = captures[1];
   19629           10 :                 tree res_op2;
   19630           10 :                 res_op2 = captures[3];
   19631           10 :                 tree _r;
   19632           10 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   19633           10 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1096, __FILE__, __LINE__, true);
   19634              :                 return _r;
   19635              :               }
   19636     12266423 : next_after_fail1933:;
   19637              :             }
   19638              :           }
   19639              :         break;
   19640              :       }
   19641     12266423 :     default:;
   19642              :     }
   19643     12266423 :   switch (TREE_CODE (_p2))
   19644              :     {
   19645       902940 :     case COND_EXPR:
   19646       902940 :       {
   19647       902940 :         tree _q40 = TREE_OPERAND (_p2, 0);
   19648       902940 :         tree _q41 = TREE_OPERAND (_p2, 1);
   19649       902940 :         tree _q42 = TREE_OPERAND (_p2, 2);
   19650       902940 :         if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   19651              :           {
   19652         3762 :             {
   19653         3762 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
   19654         3762 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1934;
   19655         3762 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1934;
   19656         3762 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1934;
   19657          184 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1934;
   19658          184 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1934;
   19659          184 :               {
   19660          184 :                 tree res_op0;
   19661          184 :                 res_op0 = captures[0];
   19662          184 :                 tree res_op1;
   19663          184 :                 res_op1 = captures[1];
   19664          184 :                 tree res_op2;
   19665          184 :                 res_op2 = captures[3];
   19666          184 :                 tree _r;
   19667          184 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   19668          184 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1097, __FILE__, __LINE__, true);
   19669              :                 return _r;
   19670              :               }
   19671       902756 : next_after_fail1934:;
   19672              :             }
   19673              :           }
   19674       902756 :         {
   19675       902756 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
   19676       902756 :           if (inverse_conditions_p (captures[0], captures[2])
   19677              : )
   19678              :             {
   19679         1162 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1935;
   19680         1162 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1935;
   19681         1162 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1935;
   19682         1162 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1935;
   19683         1162 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1935;
   19684         1162 :               {
   19685         1162 :                 tree res_op0;
   19686         1162 :                 res_op0 = captures[0];
   19687         1162 :                 tree res_op1;
   19688         1162 :                 res_op1 = captures[1];
   19689         1162 :                 tree res_op2;
   19690         1162 :                 res_op2 = captures[3];
   19691         1162 :                 tree _r;
   19692         1162 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   19693         1162 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1098, __FILE__, __LINE__, true);
   19694              :                 return _r;
   19695              :               }
   19696     12265077 : next_after_fail1935:;
   19697              :             }
   19698              :         }
   19699              :         break;
   19700              :       }
   19701     12265077 :     default:;
   19702              :     }
   19703     12265077 :   switch (TREE_CODE (_p1))
   19704              :     {
   19705       855321 :     case COND_EXPR:
   19706       855321 :       {
   19707       855321 :         tree _q30 = TREE_OPERAND (_p1, 0);
   19708       855321 :         tree _q31 = TREE_OPERAND (_p1, 1);
   19709       855321 :         tree _q32 = TREE_OPERAND (_p1, 2);
   19710       855321 :         {
   19711       855321 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
   19712       855321 :           if (inverse_conditions_p (captures[0], captures[1])
   19713              : )
   19714              :             {
   19715          157 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1936;
   19716          157 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1936;
   19717            2 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1936;
   19718            2 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1936;
   19719            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1936;
   19720            2 :               {
   19721            2 :                 tree res_op0;
   19722            2 :                 res_op0 = captures[0];
   19723            2 :                 tree res_op1;
   19724            2 :                 res_op1 = captures[3];
   19725            2 :                 tree res_op2;
   19726            2 :                 res_op2 = captures[4];
   19727            2 :                 tree _r;
   19728            2 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   19729            2 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1099, __FILE__, __LINE__, true);
   19730              :                 return _r;
   19731              :               }
   19732     12265075 : next_after_fail1936:;
   19733              :             }
   19734              :         }
   19735              :         break;
   19736              :       }
   19737     12265075 :     default:;
   19738              :     }
   19739     12265075 :   if ((_p2 == _p1 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _p1, 0) && types_match (_p2, _p1)))
   19740              :     {
   19741        51057 :       {
   19742        51057 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   19743        51057 :         if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1937;
   19744        51057 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1937;
   19745        51057 :         {
   19746        51057 :           tree _r;
   19747        51057 :           _r = captures[1];
   19748        51057 :           if (TREE_SIDE_EFFECTS (captures[0]))
   19749          358 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   19750        51057 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1100, __FILE__, __LINE__, true);
   19751              :           return _r;
   19752              :         }
   19753     12214018 : next_after_fail1937:;
   19754              :       }
   19755              :     }
   19756     12214018 :   switch (TREE_CODE (_p0))
   19757              :     {
   19758      1768424 :     case EQ_EXPR:
   19759      1768424 :       {
   19760      1768424 :         tree _q20 = TREE_OPERAND (_p0, 0);
   19761      1768424 :         tree _q21 = TREE_OPERAND (_p0, 1);
   19762      1768424 :         if (CONSTANT_CLASS_P (_q21))
   19763              :           {
   19764      1254543 :             {
   19765      1254543 :               tree _p1_pops[1];
   19766      1254543 :               if (tree_nop_convert (_p1, _p1_pops))
   19767              :                 {
   19768       194508 :                   tree _q50 = _p1_pops[0];
   19769       194508 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19770              :                     {
   19771          282 :                       if (CONSTANT_CLASS_P (_p2))
   19772              :                         {
   19773            0 :                           {
   19774            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   19775            0 :                             if (ANY_INTEGRAL_TYPE_P (type)
   19776            0 :  && operand_equal_p (captures[1], captures[2])
   19777              : )
   19778              :                               {
   19779            0 :                                 if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1938;
   19780            0 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1938;
   19781            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1938;
   19782            0 :                                 {
   19783            0 :                                   tree res_op0;
   19784            0 :                                   res_op0 = captures[1];
   19785            0 :                                   tree _r;
   19786            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   19787            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1101, __FILE__, __LINE__, true);
   19788            0 :                                   return _r;
   19789              :                                 }
   19790      1254543 : next_after_fail1938:;
   19791              :                               }
   19792              :                           }
   19793              :                         }
   19794              :                     }
   19795              :                 }
   19796              :             }
   19797      1254543 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   19798              :               {
   19799           93 :                 if (CONSTANT_CLASS_P (_p2))
   19800              :                   {
   19801            7 :                     {
   19802            7 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   19803            7 :                       if (ANY_INTEGRAL_TYPE_P (type)
   19804            7 :  && operand_equal_p (captures[1], captures[2])
   19805              : )
   19806              :                         {
   19807            0 :                           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1939;
   19808            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1939;
   19809            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1939;
   19810            0 :                           {
   19811            0 :                             tree res_op0;
   19812            0 :                             res_op0 = captures[1];
   19813            0 :                             tree _r;
   19814            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   19815            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1101, __FILE__, __LINE__, true);
   19816              :                             return _r;
   19817              :                           }
   19818      1768424 : next_after_fail1939:;
   19819              :                         }
   19820              :                     }
   19821              :                   }
   19822              :               }
   19823              :           }
   19824      1768424 :         if (zerop (_q21))
   19825              :           {
   19826       793555 :             switch (TREE_CODE (_p2))
   19827              :               {
   19828           36 :               case NEGATE_EXPR:
   19829           36 :                 {
   19830           36 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   19831           36 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   19832              :                     {
   19833           16 :                       {
   19834           16 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   19835           16 :                         const enum tree_code cmp = EQ_EXPR;
   19836           16 :                         if (!HONOR_SIGNED_ZEROS (type)
   19837           16 :  && bitwise_equal_p (captures[0], captures[1])
   19838              : )
   19839              :                           {
   19840            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1940;
   19841            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1940;
   19842            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1940;
   19843            0 :                             {
   19844            0 :                               tree _r;
   19845            0 :                               _r = captures[2];
   19846            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1102, __FILE__, __LINE__, true);
   19847              :                               return _r;
   19848              :                             }
   19849       793555 : next_after_fail1940:;
   19850              :                           }
   19851              :                       }
   19852              :                     }
   19853              :                   break;
   19854              :                 }
   19855       793555 :               default:;
   19856              :               }
   19857       793555 :             if (zerop (_p1))
   19858              :               {
   19859        61619 :                 switch (TREE_CODE (_p2))
   19860              :                   {
   19861           14 :                   case NEGATE_EXPR:
   19862           14 :                     {
   19863           14 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   19864           14 :                       {
   19865           14 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   19866           14 :                         const enum tree_code cmp = EQ_EXPR;
   19867           14 :                         if (!HONOR_SIGNED_ZEROS (type)
   19868           14 :  && bitwise_equal_p (captures[0], captures[2])
   19869              : )
   19870              :                           {
   19871            7 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1941;
   19872            7 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1941;
   19873            7 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1941;
   19874            7 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1941;
   19875            7 :                             {
   19876            7 :                               tree _r;
   19877            7 :                               _r = captures[1];
   19878            7 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1103, __FILE__, __LINE__, true);
   19879              :                               return _r;
   19880              :                             }
   19881      1768417 : next_after_fail1941:;
   19882              :                           }
   19883              :                       }
   19884              :                       break;
   19885              :                     }
   19886              :                   default:;
   19887              :                   }
   19888              :               }
   19889              :           }
   19890      1768417 :         switch (TREE_CODE (_q20))
   19891              :           {
   19892            0 :           case MINUS_EXPR:
   19893            0 :             {
   19894            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   19895            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   19896            0 :               if (zerop (_q21))
   19897              :                 {
   19898            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   19899              :                     {
   19900            0 :                       switch (TREE_CODE (_p2))
   19901              :                         {
   19902            0 :                         case MINUS_EXPR:
   19903            0 :                           {
   19904            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   19905            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   19906            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   19907              :                               {
   19908            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   19909              :                                   {
   19910            0 :                                     {
   19911            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   19912            0 :                                       const enum tree_code cmp = EQ_EXPR;
   19913            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   19914              : )
   19915              :                                         {
   19916            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1942;
   19917            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1942;
   19918            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1942;
   19919            0 :                                           {
   19920            0 :                                             tree _r;
   19921            0 :                                             _r = captures[3];
   19922            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1104, __FILE__, __LINE__, true);
   19923              :                                             return _r;
   19924              :                                           }
   19925            0 : next_after_fail1942:;
   19926              :                                         }
   19927              :                                     }
   19928              :                                   }
   19929              :                               }
   19930              :                             break;
   19931              :                           }
   19932              :                         default:;
   19933              :                         }
   19934              :                     }
   19935              :                 }
   19936            0 :               if (integer_zerop (_q21))
   19937              :                 {
   19938            0 :                   if (integer_zerop (_p1))
   19939              :                     {
   19940            0 :                       switch (TREE_CODE (_p2))
   19941              :                         {
   19942            0 :                         case MINUS_EXPR:
   19943            0 :                           {
   19944            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   19945            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   19946            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   19947              :                               {
   19948            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   19949              :                                   {
   19950            0 :                                     {
   19951            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   19952            0 :                                       tree res = generic_simplify_388 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   19953            0 :                                       if (res) return res;
   19954              :                                     }
   19955              :                                   }
   19956              :                               }
   19957              :                             break;
   19958              :                           }
   19959              :                         default:;
   19960              :                         }
   19961              :                     }
   19962              :                 }
   19963              :               break;
   19964              :             }
   19965        61484 :           case CALL_EXPR:
   19966        61484 :             switch (get_call_combined_fn (_q20))
   19967              :               {
   19968            0 :               case CFN_BUILT_IN_SIGNBITF:
   19969            0 :                 if (call_expr_nargs (_q20) == 1)
   19970              :     {
   19971            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   19972            0 :                     if (integer_zerop (_q21))
   19973              :                       {
   19974            0 :                         switch (TREE_CODE (_p1))
   19975              :                           {
   19976            0 :                           case NEGATE_EXPR:
   19977            0 :                             {
   19978            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   19979            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   19980              :                                 {
   19981            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   19982              :                                     {
   19983            0 :                                       {
   19984            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   19985            0 :                                         tree res = generic_simplify_389 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBITF);
   19986            0 :                                         if (res) return res;
   19987              :                                       }
   19988              :                                     }
   19989              :                                 }
   19990              :                               break;
   19991              :                             }
   19992              :                           default:;
   19993              :                           }
   19994              :                       }
   19995              :                   }
   19996              :                 break;
   19997            0 :               case CFN_BUILT_IN_SIGNBITL:
   19998            0 :                 if (call_expr_nargs (_q20) == 1)
   19999              :     {
   20000            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   20001            0 :                     if (integer_zerop (_q21))
   20002              :                       {
   20003            0 :                         switch (TREE_CODE (_p1))
   20004              :                           {
   20005            0 :                           case NEGATE_EXPR:
   20006            0 :                             {
   20007            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   20008            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   20009              :                                 {
   20010            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   20011              :                                     {
   20012            0 :                                       {
   20013            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   20014            0 :                                         tree res = generic_simplify_389 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBITL);
   20015            0 :                                         if (res) return res;
   20016              :                                       }
   20017              :                                     }
   20018              :                                 }
   20019              :                               break;
   20020              :                             }
   20021              :                           default:;
   20022              :                           }
   20023              :                       }
   20024              :                   }
   20025              :                 break;
   20026            0 :               case CFN_SIGNBIT:
   20027            0 :                 if (call_expr_nargs (_q20) == 1)
   20028              :     {
   20029            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   20030            0 :                     if (integer_zerop (_q21))
   20031              :                       {
   20032            0 :                         switch (TREE_CODE (_p1))
   20033              :                           {
   20034            0 :                           case NEGATE_EXPR:
   20035            0 :                             {
   20036            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   20037            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   20038              :                                 {
   20039            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   20040              :                                     {
   20041            0 :                                       {
   20042            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   20043            0 :                                         tree res = generic_simplify_389 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_SIGNBIT);
   20044            0 :                                         if (res) return res;
   20045              :                                       }
   20046              :                                     }
   20047              :                                 }
   20048              :                               break;
   20049              :                             }
   20050              :                           default:;
   20051              :                           }
   20052              :                       }
   20053              :                   }
   20054              :                 break;
   20055          411 :               case CFN_BUILT_IN_SIGNBIT:
   20056          411 :                 if (call_expr_nargs (_q20) == 1)
   20057              :     {
   20058          411 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   20059          411 :                     if (integer_zerop (_q21))
   20060              :                       {
   20061          411 :                         switch (TREE_CODE (_p1))
   20062              :                           {
   20063            3 :                           case NEGATE_EXPR:
   20064            3 :                             {
   20065            3 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   20066            3 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   20067              :                                 {
   20068            3 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   20069              :                                     {
   20070            3 :                                       {
   20071            3 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   20072            3 :                                         tree res = generic_simplify_389 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBIT);
   20073            3 :                                         if (res) return res;
   20074              :                                       }
   20075              :                                     }
   20076              :                                 }
   20077              :                               break;
   20078              :                             }
   20079              :                           default:;
   20080              :                           }
   20081              :                       }
   20082              :                   }
   20083              :                 break;
   20084              :               default:;
   20085              :               }
   20086              :             break;
   20087              :           default:;
   20088              :           }
   20089              :         break;
   20090              :       }
   20091      2994907 :     case NE_EXPR:
   20092      2994907 :       {
   20093      2994907 :         tree _q20 = TREE_OPERAND (_p0, 0);
   20094      2994907 :         tree _q21 = TREE_OPERAND (_p0, 1);
   20095      2994907 :         if (CONSTANT_CLASS_P (_q21))
   20096              :           {
   20097      2487033 :             if (CONSTANT_CLASS_P (_p1))
   20098              :               {
   20099       260781 :                 {
   20100       260781 :                   tree _p2_pops[1];
   20101       260781 :                   if (tree_nop_convert (_p2, _p2_pops))
   20102              :                     {
   20103        47003 :                       tree _q60 = _p2_pops[0];
   20104        47003 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20105              :                         {
   20106            0 :                           {
   20107            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   20108            0 :                             if (ANY_INTEGRAL_TYPE_P (type)
   20109            0 :  && operand_equal_p (captures[1], captures[2])
   20110              : )
   20111              :                               {
   20112            0 :                                 if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1943;
   20113            0 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1943;
   20114            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1943;
   20115            0 :                                 {
   20116            0 :                                   tree res_op0;
   20117            0 :                                   res_op0 = captures[1];
   20118            0 :                                   tree _r;
   20119            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   20120            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1105, __FILE__, __LINE__, true);
   20121            0 :                                   return _r;
   20122              :                                 }
   20123       260781 : next_after_fail1943:;
   20124              :                               }
   20125              :                           }
   20126              :                         }
   20127              :                     }
   20128              :                 }
   20129       260781 :                 if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   20130              :                   {
   20131            2 :                     {
   20132            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   20133            0 :                       if (ANY_INTEGRAL_TYPE_P (type)
   20134            2 :  && operand_equal_p (captures[1], captures[2])
   20135              : )
   20136              :                         {
   20137            0 :                           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1944;
   20138            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1944;
   20139            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1944;
   20140            0 :                           {
   20141            0 :                             tree res_op0;
   20142            0 :                             res_op0 = captures[1];
   20143            0 :                             tree _r;
   20144            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   20145            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1105, __FILE__, __LINE__, true);
   20146              :                             return _r;
   20147              :                           }
   20148      2994907 : next_after_fail1944:;
   20149              :                         }
   20150              :                     }
   20151              :                   }
   20152              :               }
   20153              :           }
   20154      2994907 :         if (zerop (_q21))
   20155              :           {
   20156      2058432 :             switch (TREE_CODE (_p2))
   20157              :               {
   20158           50 :               case NEGATE_EXPR:
   20159           50 :                 {
   20160           50 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20161           50 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20162              :                     {
   20163           10 :                       {
   20164           10 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   20165           10 :                         const enum tree_code cmp = NE_EXPR;
   20166           10 :                         if (!HONOR_SIGNED_ZEROS (type)
   20167           10 :  && bitwise_equal_p (captures[0], captures[1])
   20168              : )
   20169              :                           {
   20170            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1945;
   20171            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1945;
   20172            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1945;
   20173            0 :                             {
   20174            0 :                               tree _r;
   20175            0 :                               _r = captures[1];
   20176            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1106, __FILE__, __LINE__, true);
   20177              :                               return _r;
   20178              :                             }
   20179      2058432 : next_after_fail1945:;
   20180              :                           }
   20181              :                       }
   20182              :                     }
   20183              :                   break;
   20184              :                 }
   20185      2058432 :               default:;
   20186              :               }
   20187      2058432 :           if (integer_zerop (_p2))
   20188              :             {
   20189       358907 :               {
   20190       358907 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   20191       358907 :                 const enum tree_code cmp = NE_EXPR;
   20192       358907 :                 if (!HONOR_SIGNED_ZEROS (type)
   20193       358907 :  && bitwise_equal_p (captures[0], captures[1])
   20194              : )
   20195              :                   {
   20196         2699 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1946;
   20197         2665 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1946;
   20198         2665 :                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1946;
   20199         2665 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1946;
   20200         2665 :                     {
   20201         2665 :                       tree _r;
   20202         2665 :                       _r = captures[1];
   20203         2665 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1107, __FILE__, __LINE__, true);
   20204              :                       return _r;
   20205              :                     }
   20206      2992242 : next_after_fail1946:;
   20207              :                   }
   20208              :               }
   20209              :             }
   20210              :           }
   20211      2992242 :         switch (TREE_CODE (_q20))
   20212              :           {
   20213          579 :           case MINUS_EXPR:
   20214          579 :             {
   20215          579 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20216          579 :               tree _q31 = TREE_OPERAND (_q20, 1);
   20217          579 :               if (zerop (_q21))
   20218              :                 {
   20219           80 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20220              :                     {
   20221            0 :                       switch (TREE_CODE (_p2))
   20222              :                         {
   20223            0 :                         case MINUS_EXPR:
   20224            0 :                           {
   20225            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   20226            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   20227            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   20228              :                               {
   20229            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   20230              :                                   {
   20231            0 :                                     {
   20232            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20233            0 :                                       const enum tree_code cmp = NE_EXPR;
   20234            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   20235              : )
   20236              :                                         {
   20237            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1947;
   20238            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1947;
   20239            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1947;
   20240            0 :                                           {
   20241            0 :                                             tree _r;
   20242            0 :                                             _r = captures[0];
   20243            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1108, __FILE__, __LINE__, true);
   20244              :                                             return _r;
   20245              :                                           }
   20246          579 : next_after_fail1947:;
   20247              :                                         }
   20248              :                                     }
   20249              :                                   }
   20250              :                               }
   20251              :                             break;
   20252              :                           }
   20253              :                         default:;
   20254              :                         }
   20255              :                     }
   20256              :                 }
   20257          579 :               if (integer_zerop (_q21))
   20258              :                 {
   20259           29 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20260              :                     {
   20261            0 :                       if (integer_zerop (_p2))
   20262              :                         {
   20263            0 :                           {
   20264            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20265            0 :                             tree res = generic_simplify_390 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   20266            0 :                             if (res) return res;
   20267              :                           }
   20268              :                         }
   20269              :                     }
   20270              :                 }
   20271              :               break;
   20272              :             }
   20273       284790 :           case BIT_AND_EXPR:
   20274       284790 :             {
   20275       284790 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20276       284790 :               tree _q31 = TREE_OPERAND (_q20, 1);
   20277       284790 :               if (integer_pow2p (_q31))
   20278              :                 {
   20279       212462 :                   if (integer_zerop (_q21))
   20280              :                     {
   20281       212462 :                       switch (TREE_CODE (_p1))
   20282              :                         {
   20283         2355 :                         case INTEGER_CST:
   20284         2355 :                           {
   20285         2355 :                             if (integer_zerop (_p2))
   20286              :                               {
   20287         1439 :                                 {
   20288         1439 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
   20289         1439 :                                   if (!POINTER_TYPE_P (type) && integer_pow2p (captures[2])
   20290              : )
   20291              :                                     {
   20292          662 :                                       {
   20293          662 :  int shift = (wi::exact_log2 (wi::to_wide (captures[2]))
   20294          662 :  - wi::exact_log2 (wi::to_wide (captures[1])));
   20295          662 :                                           if (shift > 0
   20296              : )
   20297              :                                             {
   20298          387 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1948;
   20299          387 :                                               if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1948;
   20300          387 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1948;
   20301          387 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1948;
   20302          387 :                                               {
   20303          387 :                                                 tree res_op0;
   20304          387 :                                                 {
   20305          387 :                                                   tree _o1[2], _r1;
   20306          387 :                                                   {
   20307          387 :                                                     tree _o2[1], _r2;
   20308          387 :                                                     _o2[0] = captures[0];
   20309          387 :                                                     if (TREE_TYPE (_o2[0]) != type)
   20310              :                                                       {
   20311          384 :                                                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
   20312              :                                                       }
   20313              :                                                     else
   20314              :                                                       _r2 = _o2[0];
   20315          387 :                                                     _o1[0] = _r2;
   20316              :                                                   }
   20317          387 :                                                   _o1[1] =  build_int_cst (integer_type_node, shift);
   20318          387 :                                                   _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   20319          387 :                                                   res_op0 = _r1;
   20320              :                                                 }
   20321          387 :                                                 tree res_op1;
   20322          387 :                                                 res_op1 = captures[2];
   20323          387 :                                                 tree _r;
   20324          387 :                                                 _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   20325          387 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1109, __FILE__, __LINE__, true);
   20326     13157089 :                                                 return _r;
   20327              :                                               }
   20328      2991577 : next_after_fail1948:;
   20329              :                                             }
   20330              :                                           else
   20331              :                                             {
   20332          275 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1949;
   20333          275 :                                               if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1949;
   20334          275 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1949;
   20335          275 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1949;
   20336          275 :                                               {
   20337          275 :                                                 tree res_op0;
   20338          275 :                                                 {
   20339          275 :                                                   tree _o1[1], _r1;
   20340          275 :                                                   {
   20341          275 :                                                     tree _o2[2], _r2;
   20342          275 :                                                     _o2[0] = captures[0];
   20343          275 :                                                     _o2[1] =  build_int_cst (integer_type_node, -shift);
   20344          275 :                                                     _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   20345          275 :                                                     _o1[0] = _r2;
   20346              :                                                   }
   20347          275 :                                                   if (TREE_TYPE (_o1[0]) != type)
   20348              :                                                     {
   20349          139 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   20350              :                                                     }
   20351              :                                                   else
   20352              :                                                     _r1 = _o1[0];
   20353          275 :                                                   res_op0 = _r1;
   20354              :                                                 }
   20355          275 :                                                 tree res_op1;
   20356          275 :                                                 res_op1 = captures[2];
   20357          275 :                                                 tree _r;
   20358          275 :                                                 _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   20359          275 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1110, __FILE__, __LINE__, true);
   20360              :                                                 return _r;
   20361              :                                               }
   20362      2991577 : next_after_fail1949:;
   20363              :                                             }
   20364              :                                       }
   20365              :                                     }
   20366              :                                 }
   20367              :                               }
   20368              :                             break;
   20369              :                           }
   20370              :                         default:;
   20371              :                         }
   20372              :                     }
   20373              :                 }
   20374              :               break;
   20375              :             }
   20376       335633 :           case CALL_EXPR:
   20377       335633 :             switch (get_call_combined_fn (_q20))
   20378              :               {
   20379           30 :               case CFN_BUILT_IN_SIGNBITF:
   20380           30 :                 if (call_expr_nargs (_q20) == 1)
   20381              :     {
   20382           30 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   20383           30 :                     if (integer_zerop (_q21))
   20384              :                       {
   20385           30 :                         switch (TREE_CODE (_p1))
   20386              :                           {
   20387            0 :                           case NEGATE_EXPR:
   20388            0 :                             {
   20389            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   20390            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   20391              :                                 {
   20392            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   20393              :                                     {
   20394            0 :                                       {
   20395            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   20396            0 :                                         tree res = generic_simplify_389 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBITF);
   20397            0 :                                         if (res) return res;
   20398              :                                       }
   20399              :                                     }
   20400              :                                 }
   20401              :                               break;
   20402              :                             }
   20403              :                           default:;
   20404              :                           }
   20405              :                       }
   20406              :                   }
   20407              :                 break;
   20408           30 :               case CFN_BUILT_IN_SIGNBITL:
   20409           30 :                 if (call_expr_nargs (_q20) == 1)
   20410              :     {
   20411           30 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   20412           30 :                     if (integer_zerop (_q21))
   20413              :                       {
   20414           30 :                         switch (TREE_CODE (_p1))
   20415              :                           {
   20416            0 :                           case NEGATE_EXPR:
   20417            0 :                             {
   20418            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   20419            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   20420              :                                 {
   20421            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   20422              :                                     {
   20423            0 :                                       {
   20424            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   20425            0 :                                         tree res = generic_simplify_389 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBITL);
   20426            0 :                                         if (res) return res;
   20427              :                                       }
   20428              :                                     }
   20429              :                                 }
   20430              :                               break;
   20431              :                             }
   20432              :                           default:;
   20433              :                           }
   20434              :                       }
   20435              :                   }
   20436              :                 break;
   20437            0 :               case CFN_SIGNBIT:
   20438            0 :                 if (call_expr_nargs (_q20) == 1)
   20439              :     {
   20440            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   20441            0 :                     if (integer_zerop (_q21))
   20442              :                       {
   20443            0 :                         switch (TREE_CODE (_p1))
   20444              :                           {
   20445            0 :                           case NEGATE_EXPR:
   20446            0 :                             {
   20447            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   20448            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   20449              :                                 {
   20450            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   20451              :                                     {
   20452            0 :                                       {
   20453            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   20454            0 :                                         tree res = generic_simplify_389 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_SIGNBIT);
   20455            0 :                                         if (res) return res;
   20456              :                                       }
   20457              :                                     }
   20458              :                                 }
   20459              :                               break;
   20460              :                             }
   20461              :                           default:;
   20462              :                           }
   20463              :                       }
   20464              :                   }
   20465              :                 break;
   20466         2896 :               case CFN_BUILT_IN_SIGNBIT:
   20467         2896 :                 if (call_expr_nargs (_q20) == 1)
   20468              :     {
   20469         2896 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   20470         2896 :                     if (integer_zerop (_q21))
   20471              :                       {
   20472         2896 :                         switch (TREE_CODE (_p1))
   20473              :                           {
   20474            4 :                           case NEGATE_EXPR:
   20475            4 :                             {
   20476            4 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   20477            4 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   20478              :                                 {
   20479            3 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   20480              :                                     {
   20481            3 :                                       {
   20482            3 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   20483            3 :                                         tree res = generic_simplify_389 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBIT);
   20484            3 :                                         if (res) return res;
   20485              :                                       }
   20486              :                                     }
   20487              :                                 }
   20488              :                               break;
   20489              :                             }
   20490              :                           default:;
   20491              :                           }
   20492              :                       }
   20493              :                   }
   20494              :                 break;
   20495              :               default:;
   20496              :               }
   20497              :             break;
   20498      2991577 :           default:;
   20499              :           }
   20500      2991577 :         if (integer_zerop (_q21))
   20501              :           {
   20502      1980336 :             switch (TREE_CODE (_p1))
   20503              :               {
   20504       111466 :               case PLUS_EXPR:
   20505       111466 :                 {
   20506       111466 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   20507       111466 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   20508       111466 :                   {
   20509       111466 :                     tree _q50_pops[1];
   20510       111466 :                     if (tree_nop_convert (_q50, _q50_pops))
   20511              :                       {
   20512        11942 :                         tree _q60 = _q50_pops[0];
   20513        11942 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20514              :                           {
   20515         1670 :                             if (integer_all_onesp (_q51))
   20516              :                               {
   20517         1670 :                                 if (integer_zerop (_p2))
   20518              :                                   {
   20519         1662 :                                     {
   20520         1662 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q50 };
   20521         1662 :                                       tree res = generic_simplify_394 (loc, type, _p0, _p1, _p2, captures);
   20522         1662 :                                       if (res) return res;
   20523              :                                     }
   20524              :                                   }
   20525              :                               }
   20526              :                           }
   20527              :                       }
   20528              :                   }
   20529       109804 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20530              :                     {
   20531         2072 :                       if (integer_all_onesp (_q51))
   20532              :                         {
   20533         2037 :                           if (integer_zerop (_p2))
   20534              :                             {
   20535         2027 :                               {
   20536         2027 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q50 };
   20537         2027 :                                 tree res = generic_simplify_395 (loc, type, _p0, _p1, _p2, captures);
   20538         2027 :                                 if (res) return res;
   20539              :                               }
   20540              :                             }
   20541              :                         }
   20542              :                     }
   20543              :                   break;
   20544              :                 }
   20545       599210 :               case CALL_EXPR:
   20546       599210 :                 switch (get_call_combined_fn (_p1))
   20547              :                   {
   20548            0 :                   case CFN_PARITY:
   20549            0 :                     if (call_expr_nargs (_p1) == 1)
   20550              :     {
   20551            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20552            0 :                         switch (TREE_CODE (_q50))
   20553              :                           {
   20554            0 :                           CASE_CONVERT:
   20555            0 :                             {
   20556            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20557            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20558              :                                 {
   20559            0 :                                   if (integer_zerop (_p2))
   20560              :                                     {
   20561            0 :                                       {
   20562            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20563            0 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_PARITY);
   20564            0 :                                         if (res) return res;
   20565              :                                       }
   20566              :                                     }
   20567              :                                 }
   20568              :                               break;
   20569              :                             }
   20570            0 :                           default:;
   20571              :                           }
   20572            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20573              :                           {
   20574            0 :                             if (integer_zerop (_p2))
   20575              :                               {
   20576            0 :                                 {
   20577            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20578            0 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_PARITY);
   20579            0 :                                   if (res) return res;
   20580              :                                 }
   20581              :                               }
   20582              :                           }
   20583              :                       }
   20584              :                     break;
   20585            7 :                   case CFN_BUILT_IN_FFS:
   20586            7 :                     if (call_expr_nargs (_p1) == 1)
   20587              :     {
   20588            7 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20589            7 :                         switch (TREE_CODE (_q50))
   20590              :                           {
   20591            0 :                           CASE_CONVERT:
   20592            0 :                             {
   20593            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20594            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20595              :                                 {
   20596            0 :                                   if (integer_zerop (_p2))
   20597              :                                     {
   20598            0 :                                       {
   20599            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20600            0 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFS);
   20601            0 :                                         if (res) return res;
   20602              :                                       }
   20603              :                                     }
   20604              :                                 }
   20605              :                               break;
   20606              :                             }
   20607            7 :                           default:;
   20608              :                           }
   20609            7 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20610              :                           {
   20611            0 :                             if (integer_zerop (_p2))
   20612              :                               {
   20613            0 :                                 {
   20614            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20615            0 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFS);
   20616            0 :                                   if (res) return res;
   20617              :                                 }
   20618              :                               }
   20619              :                           }
   20620              :                       }
   20621              :                     break;
   20622            0 :                   case CFN_BUILT_IN_FFSIMAX:
   20623            0 :                     if (call_expr_nargs (_p1) == 1)
   20624              :     {
   20625            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20626            0 :                         switch (TREE_CODE (_q50))
   20627              :                           {
   20628            0 :                           CASE_CONVERT:
   20629            0 :                             {
   20630            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20631            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20632              :                                 {
   20633            0 :                                   if (integer_zerop (_p2))
   20634              :                                     {
   20635            0 :                                       {
   20636            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20637            0 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSIMAX);
   20638            0 :                                         if (res) return res;
   20639              :                                       }
   20640              :                                     }
   20641              :                                 }
   20642              :                               break;
   20643              :                             }
   20644            0 :                           default:;
   20645              :                           }
   20646            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20647              :                           {
   20648            0 :                             if (integer_zerop (_p2))
   20649              :                               {
   20650            0 :                                 {
   20651            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20652            0 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSIMAX);
   20653            0 :                                   if (res) return res;
   20654              :                                 }
   20655              :                               }
   20656              :                           }
   20657              :                       }
   20658              :                     break;
   20659            2 :                   case CFN_BUILT_IN_POPCOUNT:
   20660            2 :                     if (call_expr_nargs (_p1) == 1)
   20661              :     {
   20662            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20663            2 :                         switch (TREE_CODE (_q50))
   20664              :                           {
   20665            1 :                           CASE_CONVERT:
   20666            1 :                             {
   20667            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20668            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20669              :                                 {
   20670            1 :                                   if (integer_zerop (_p2))
   20671              :                                     {
   20672            1 :                                       {
   20673            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20674            1 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNT);
   20675            1 :                                         if (res) return res;
   20676              :                                       }
   20677              :                                     }
   20678              :                                 }
   20679              :                               break;
   20680              :                             }
   20681            1 :                           default:;
   20682              :                           }
   20683            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20684              :                           {
   20685            0 :                             if (integer_zerop (_p2))
   20686              :                               {
   20687            0 :                                 {
   20688            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20689            0 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNT);
   20690            0 :                                   if (res) return res;
   20691              :                                 }
   20692              :                               }
   20693              :                           }
   20694              :                       }
   20695              :                     break;
   20696            2 :                   case CFN_BUILT_IN_PARITYL:
   20697            2 :                     if (call_expr_nargs (_p1) == 1)
   20698              :     {
   20699            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20700            2 :                         switch (TREE_CODE (_q50))
   20701              :                           {
   20702            1 :                           CASE_CONVERT:
   20703            1 :                             {
   20704            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20705            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20706              :                                 {
   20707            1 :                                   if (integer_zerop (_p2))
   20708              :                                     {
   20709            1 :                                       {
   20710            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20711            1 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYL);
   20712            1 :                                         if (res) return res;
   20713              :                                       }
   20714              :                                     }
   20715              :                                 }
   20716              :                               break;
   20717              :                             }
   20718            1 :                           default:;
   20719              :                           }
   20720            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20721              :                           {
   20722            0 :                             if (integer_zerop (_p2))
   20723              :                               {
   20724            0 :                                 {
   20725            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20726            0 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYL);
   20727            0 :                                   if (res) return res;
   20728              :                                 }
   20729              :                               }
   20730              :                           }
   20731              :                       }
   20732              :                     break;
   20733           16 :                   case CFN_BUILT_IN_FFSL:
   20734           16 :                     if (call_expr_nargs (_p1) == 1)
   20735              :     {
   20736           16 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20737           16 :                         switch (TREE_CODE (_q50))
   20738              :                           {
   20739           16 :                           CASE_CONVERT:
   20740           16 :                             {
   20741           16 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20742           16 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20743              :                                 {
   20744            0 :                                   if (integer_zerop (_p2))
   20745              :                                     {
   20746            0 :                                       {
   20747            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20748            0 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSL);
   20749            0 :                                         if (res) return res;
   20750              :                                       }
   20751              :                                     }
   20752              :                                 }
   20753              :                               break;
   20754              :                             }
   20755           16 :                           default:;
   20756              :                           }
   20757           16 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20758              :                           {
   20759            0 :                             if (integer_zerop (_p2))
   20760              :                               {
   20761            0 :                                 {
   20762            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20763            0 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSL);
   20764            0 :                                   if (res) return res;
   20765              :                                 }
   20766              :                               }
   20767              :                           }
   20768              :                       }
   20769              :                     break;
   20770            2 :                   case CFN_BUILT_IN_POPCOUNTLL:
   20771            2 :                     if (call_expr_nargs (_p1) == 1)
   20772              :     {
   20773            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20774            2 :                         switch (TREE_CODE (_q50))
   20775              :                           {
   20776            1 :                           CASE_CONVERT:
   20777            1 :                             {
   20778            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20779            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20780              :                                 {
   20781            1 :                                   if (integer_zerop (_p2))
   20782              :                                     {
   20783            1 :                                       {
   20784            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20785            1 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTLL);
   20786            1 :                                         if (res) return res;
   20787              :                                       }
   20788              :                                     }
   20789              :                                 }
   20790              :                               break;
   20791              :                             }
   20792            1 :                           default:;
   20793              :                           }
   20794            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20795              :                           {
   20796            0 :                             if (integer_zerop (_p2))
   20797              :                               {
   20798            0 :                                 {
   20799            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20800            0 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTLL);
   20801            0 :                                   if (res) return res;
   20802              :                                 }
   20803              :                               }
   20804              :                           }
   20805              :                       }
   20806              :                     break;
   20807            0 :                   case CFN_POPCOUNT:
   20808            0 :                     if (call_expr_nargs (_p1) == 1)
   20809              :     {
   20810            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20811            0 :                         switch (TREE_CODE (_q50))
   20812              :                           {
   20813            0 :                           CASE_CONVERT:
   20814            0 :                             {
   20815            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20816            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20817              :                                 {
   20818            0 :                                   if (integer_zerop (_p2))
   20819              :                                     {
   20820            0 :                                       {
   20821            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20822            0 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_POPCOUNT);
   20823            0 :                                         if (res) return res;
   20824              :                                       }
   20825              :                                     }
   20826              :                                 }
   20827              :                               break;
   20828              :                             }
   20829            0 :                           default:;
   20830              :                           }
   20831            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20832              :                           {
   20833            0 :                             if (integer_zerop (_p2))
   20834              :                               {
   20835            0 :                                 {
   20836            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20837            0 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_POPCOUNT);
   20838            0 :                                   if (res) return res;
   20839              :                                 }
   20840              :                               }
   20841              :                           }
   20842              :                       }
   20843              :                     break;
   20844            0 :                   case CFN_BUILT_IN_PARITYIMAX:
   20845            0 :                     if (call_expr_nargs (_p1) == 1)
   20846              :     {
   20847            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20848            0 :                         switch (TREE_CODE (_q50))
   20849              :                           {
   20850            0 :                           CASE_CONVERT:
   20851            0 :                             {
   20852            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20853            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20854              :                                 {
   20855            0 :                                   if (integer_zerop (_p2))
   20856              :                                     {
   20857            0 :                                       {
   20858            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20859            0 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYIMAX);
   20860            0 :                                         if (res) return res;
   20861              :                                       }
   20862              :                                     }
   20863              :                                 }
   20864              :                               break;
   20865              :                             }
   20866            0 :                           default:;
   20867              :                           }
   20868            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20869              :                           {
   20870            0 :                             if (integer_zerop (_p2))
   20871              :                               {
   20872            0 :                                 {
   20873            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20874            0 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYIMAX);
   20875            0 :                                   if (res) return res;
   20876              :                                 }
   20877              :                               }
   20878              :                           }
   20879              :                       }
   20880              :                     break;
   20881            2 :                   case CFN_BUILT_IN_CLRSBL:
   20882            2 :                     if (call_expr_nargs (_p1) == 1)
   20883              :     {
   20884            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20885            2 :                         switch (TREE_CODE (_q50))
   20886              :                           {
   20887            0 :                           CASE_CONVERT:
   20888            0 :                             {
   20889            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20890            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20891              :                                 {
   20892            0 :                                   switch (TREE_CODE (_p2))
   20893              :                                     {
   20894            0 :                                     case INTEGER_CST:
   20895            0 :                                       {
   20896            0 :                                         {
   20897            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20898            0 :                                           tree res = generic_simplify_392 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBL);
   20899            0 :                                           if (res) return res;
   20900              :                                         }
   20901            0 :                                         break;
   20902              :                                       }
   20903              :                                     default:;
   20904              :                                     }
   20905              :                                 }
   20906              :                               break;
   20907              :                             }
   20908            2 :                           default:;
   20909              :                           }
   20910            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20911              :                           {
   20912            1 :                             switch (TREE_CODE (_p2))
   20913              :                               {
   20914            1 :                               case INTEGER_CST:
   20915            1 :                                 {
   20916            1 :                                   {
   20917            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20918            1 :                                     tree res = generic_simplify_393 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBL);
   20919            1 :                                     if (res) return res;
   20920              :                                   }
   20921            0 :                                   break;
   20922              :                                 }
   20923              :                               default:;
   20924              :                               }
   20925              :                           }
   20926              :                       }
   20927              :                     break;
   20928            0 :                   case CFN_FFS:
   20929            0 :                     if (call_expr_nargs (_p1) == 1)
   20930              :     {
   20931            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20932            0 :                         switch (TREE_CODE (_q50))
   20933              :                           {
   20934            0 :                           CASE_CONVERT:
   20935            0 :                             {
   20936            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20937            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20938              :                                 {
   20939            0 :                                   if (integer_zerop (_p2))
   20940              :                                     {
   20941            0 :                                       {
   20942            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20943            0 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_FFS);
   20944            0 :                                         if (res) return res;
   20945              :                                       }
   20946              :                                     }
   20947              :                                 }
   20948              :                               break;
   20949              :                             }
   20950            0 :                           default:;
   20951              :                           }
   20952            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20953              :                           {
   20954            0 :                             if (integer_zerop (_p2))
   20955              :                               {
   20956            0 :                                 {
   20957            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20958            0 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_FFS);
   20959            0 :                                   if (res) return res;
   20960              :                                 }
   20961              :                               }
   20962              :                           }
   20963              :                       }
   20964              :                     break;
   20965            2 :                   case CFN_BUILT_IN_PARITY:
   20966            2 :                     if (call_expr_nargs (_p1) == 1)
   20967              :     {
   20968            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20969            2 :                         switch (TREE_CODE (_q50))
   20970              :                           {
   20971            1 :                           CASE_CONVERT:
   20972            1 :                             {
   20973            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20974            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20975              :                                 {
   20976            1 :                                   if (integer_zerop (_p2))
   20977              :                                     {
   20978            1 :                                       {
   20979            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20980            1 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITY);
   20981            1 :                                         if (res) return res;
   20982              :                                       }
   20983              :                                     }
   20984              :                                 }
   20985              :                               break;
   20986              :                             }
   20987            1 :                           default:;
   20988              :                           }
   20989            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20990              :                           {
   20991            0 :                             if (integer_zerop (_p2))
   20992              :                               {
   20993            0 :                                 {
   20994            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20995            0 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITY);
   20996            0 :                                   if (res) return res;
   20997              :                                 }
   20998              :                               }
   20999              :                           }
   21000              :                       }
   21001              :                     break;
   21002            0 :                   case CFN_BUILT_IN_POPCOUNTIMAX:
   21003            0 :                     if (call_expr_nargs (_p1) == 1)
   21004              :     {
   21005            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   21006            0 :                         switch (TREE_CODE (_q50))
   21007              :                           {
   21008            0 :                           CASE_CONVERT:
   21009            0 :                             {
   21010            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   21011            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   21012              :                                 {
   21013            0 :                                   if (integer_zerop (_p2))
   21014              :                                     {
   21015            0 :                                       {
   21016            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   21017            0 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTIMAX);
   21018            0 :                                         if (res) return res;
   21019              :                                       }
   21020              :                                     }
   21021              :                                 }
   21022              :                               break;
   21023              :                             }
   21024            0 :                           default:;
   21025              :                           }
   21026            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   21027              :                           {
   21028            0 :                             if (integer_zerop (_p2))
   21029              :                               {
   21030            0 :                                 {
   21031            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   21032            0 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTIMAX);
   21033            0 :                                   if (res) return res;
   21034              :                                 }
   21035              :                               }
   21036              :                           }
   21037              :                       }
   21038              :                     break;
   21039            0 :                   case CFN_BUILT_IN_CLRSBIMAX:
   21040            0 :                     if (call_expr_nargs (_p1) == 1)
   21041              :     {
   21042            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   21043            0 :                         switch (TREE_CODE (_q50))
   21044              :                           {
   21045            0 :                           CASE_CONVERT:
   21046            0 :                             {
   21047            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   21048            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   21049              :                                 {
   21050            0 :                                   switch (TREE_CODE (_p2))
   21051              :                                     {
   21052            0 :                                     case INTEGER_CST:
   21053            0 :                                       {
   21054            0 :                                         {
   21055            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   21056            0 :                                           tree res = generic_simplify_392 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBIMAX);
   21057            0 :                                           if (res) return res;
   21058              :                                         }
   21059            0 :                                         break;
   21060              :                                       }
   21061              :                                     default:;
   21062              :                                     }
   21063              :                                 }
   21064              :                               break;
   21065              :                             }
   21066            0 :                           default:;
   21067              :                           }
   21068            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   21069              :                           {
   21070            0 :                             switch (TREE_CODE (_p2))
   21071              :                               {
   21072            0 :                               case INTEGER_CST:
   21073            0 :                                 {
   21074            0 :                                   {
   21075            0 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   21076            0 :                                     tree res = generic_simplify_393 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBIMAX);
   21077            0 :                                     if (res) return res;
   21078              :                                   }
   21079            0 :                                   break;
   21080              :                                 }
   21081              :                               default:;
   21082              :                               }
   21083              :                           }
   21084              :                       }
   21085              :                     break;
   21086            2 :                   case CFN_BUILT_IN_CLRSBLL:
   21087            2 :                     if (call_expr_nargs (_p1) == 1)
   21088              :     {
   21089            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   21090            2 :                         switch (TREE_CODE (_q50))
   21091              :                           {
   21092            0 :                           CASE_CONVERT:
   21093            0 :                             {
   21094            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   21095            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   21096              :                                 {
   21097            0 :                                   switch (TREE_CODE (_p2))
   21098              :                                     {
   21099            0 :                                     case INTEGER_CST:
   21100            0 :                                       {
   21101            0 :                                         {
   21102            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   21103            0 :                                           tree res = generic_simplify_392 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBLL);
   21104            0 :                                           if (res) return res;
   21105              :                                         }
   21106            0 :                                         break;
   21107              :                                       }
   21108              :                                     default:;
   21109              :                                     }
   21110              :                                 }
   21111              :                               break;
   21112              :                             }
   21113            2 :                           default:;
   21114              :                           }
   21115            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   21116              :                           {
   21117            1 :                             switch (TREE_CODE (_p2))
   21118              :                               {
   21119            1 :                               case INTEGER_CST:
   21120            1 :                                 {
   21121            1 :                                   {
   21122            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   21123            1 :                                     tree res = generic_simplify_393 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBLL);
   21124            1 :                                     if (res) return res;
   21125              :                                   }
   21126            0 :                                   break;
   21127              :                                 }
   21128              :                               default:;
   21129              :                               }
   21130              :                           }
   21131              :                       }
   21132              :                     break;
   21133            0 :                   case CFN_BSWAP:
   21134            0 :                     if (call_expr_nargs (_p1) == 1)
   21135              :     {
   21136            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   21137            0 :                         switch (TREE_CODE (_q50))
   21138              :                           {
   21139            0 :                           CASE_CONVERT:
   21140            0 :                             {
   21141            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   21142            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   21143              :                                 {
   21144            0 :                                   if (integer_zerop (_p2))
   21145              :                                     {
   21146            0 :                                       {
   21147            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   21148            0 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BSWAP);
   21149            0 :                                         if (res) return res;
   21150              :                                       }
   21151              :                                     }
   21152              :                                 }
   21153              :                               break;
   21154              :                             }
   21155            0 :                           default:;
   21156              :                           }
   21157            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   21158              :                           {
   21159            0 :                             if (integer_zerop (_p2))
   21160              :                               {
   21161            0 :                                 {
   21162            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   21163            0 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BSWAP);
   21164            0 :                                   if (res) return res;
   21165              :                                 }
   21166              :                               }
   21167              :                           }
   21168              :                       }
   21169              :                     break;
   21170            0 :                   case CFN_CLRSB:
   21171            0 :                     if (call_expr_nargs (_p1) == 1)
   21172              :     {
   21173            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   21174            0 :                         switch (TREE_CODE (_q50))
   21175              :                           {
   21176            0 :                           CASE_CONVERT:
   21177            0 :                             {
   21178            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   21179            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   21180              :                                 {
   21181            0 :                                   switch (TREE_CODE (_p2))
   21182              :                                     {
   21183            0 :                                     case INTEGER_CST:
   21184            0 :                                       {
   21185            0 :                                         {
   21186            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   21187            0 :                                           tree res = generic_simplify_392 (loc, type, _p0, _p1, _p2, captures, CFN_CLRSB);
   21188            0 :                                           if (res) return res;
   21189              :                                         }
   21190            0 :                                         break;
   21191              :                                       }
   21192              :                                     default:;
   21193              :                                     }
   21194              :                                 }
   21195              :                               break;
   21196              :                             }
   21197            0 :                           default:;
   21198              :                           }
   21199            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   21200              :                           {
   21201            0 :                             switch (TREE_CODE (_p2))
   21202              :                               {
   21203            0 :                               case INTEGER_CST:
   21204            0 :                                 {
   21205            0 :                                   {
   21206            0 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   21207            0 :                                     tree res = generic_simplify_393 (loc, type, _p0, _p1, _p2, captures, CFN_CLRSB);
   21208            0 :                                     if (res) return res;
   21209              :                                   }
   21210            0 :                                   break;
   21211              :                                 }
   21212              :                               default:;
   21213              :                               }
   21214              :                           }
   21215              :                       }
   21216              :                     break;
   21217            0 :                   case CFN_BUILT_IN_BSWAP128:
   21218            0 :                     if (call_expr_nargs (_p1) == 1)
   21219              :     {
   21220            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   21221            0 :                         switch (TREE_CODE (_q50))
   21222              :                           {
   21223            0 :                           CASE_CONVERT:
   21224            0 :                             {
   21225            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   21226            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   21227              :                                 {
   21228            0 :                                   if (integer_zerop (_p2))
   21229              :                                     {
   21230            0 :                                       {
   21231            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   21232            0 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP128);
   21233            0 :                                         if (res) return res;
   21234              :                                       }
   21235              :                                     }
   21236              :                                 }
   21237              :                               break;
   21238              :                             }
   21239            0 :                           default:;
   21240              :                           }
   21241            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   21242              :                           {
   21243            0 :                             if (integer_zerop (_p2))
   21244              :                               {
   21245            0 :                                 {
   21246            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   21247            0 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP128);
   21248            0 :                                   if (res) return res;
   21249              :                                 }
   21250              :                               }
   21251              :                           }
   21252              :                       }
   21253              :                     break;
   21254            2 :                   case CFN_BUILT_IN_POPCOUNTL:
   21255            2 :                     if (call_expr_nargs (_p1) == 1)
   21256              :     {
   21257            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   21258            2 :                         switch (TREE_CODE (_q50))
   21259              :                           {
   21260            1 :                           CASE_CONVERT:
   21261            1 :                             {
   21262            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   21263            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   21264              :                                 {
   21265            1 :                                   if (integer_zerop (_p2))
   21266              :                                     {
   21267            1 :                                       {
   21268            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   21269            1 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTL);
   21270            1 :                                         if (res) return res;
   21271              :                                       }
   21272              :                                     }
   21273              :                                 }
   21274              :                               break;
   21275              :                             }
   21276            1 :                           default:;
   21277              :                           }
   21278            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   21279              :                           {
   21280            0 :                             if (integer_zerop (_p2))
   21281              :                               {
   21282            0 :                                 {
   21283            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   21284            0 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTL);
   21285            0 :                                   if (res) return res;
   21286              :                                 }
   21287              :                               }
   21288              :                           }
   21289              :                       }
   21290              :                     break;
   21291            2 :                   case CFN_BUILT_IN_CLRSB:
   21292            2 :                     if (call_expr_nargs (_p1) == 1)
   21293              :     {
   21294            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   21295            2 :                         switch (TREE_CODE (_q50))
   21296              :                           {
   21297            0 :                           CASE_CONVERT:
   21298            0 :                             {
   21299            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   21300            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   21301              :                                 {
   21302            0 :                                   switch (TREE_CODE (_p2))
   21303              :                                     {
   21304            0 :                                     case INTEGER_CST:
   21305            0 :                                       {
   21306            0 :                                         {
   21307            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   21308            0 :                                           tree res = generic_simplify_392 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSB);
   21309            0 :                                           if (res) return res;
   21310              :                                         }
   21311            0 :                                         break;
   21312              :                                       }
   21313              :                                     default:;
   21314              :                                     }
   21315              :                                 }
   21316              :                               break;
   21317              :                             }
   21318            2 :                           default:;
   21319              :                           }
   21320            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   21321              :                           {
   21322            1 :                             switch (TREE_CODE (_p2))
   21323              :                               {
   21324            1 :                               case INTEGER_CST:
   21325            1 :                                 {
   21326            1 :                                   {
   21327            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   21328            1 :                                     tree res = generic_simplify_393 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSB);
   21329            1 :                                     if (res) return res;
   21330              :                                   }
   21331            0 :                                   break;
   21332              :                                 }
   21333              :                               default:;
   21334              :                               }
   21335              :                           }
   21336              :                       }
   21337              :                     break;
   21338            0 :                   case CFN_BUILT_IN_FFSLL:
   21339            0 :                     if (call_expr_nargs (_p1) == 1)
   21340              :     {
   21341            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   21342            0 :                         switch (TREE_CODE (_q50))
   21343              :                           {
   21344            0 :                           CASE_CONVERT:
   21345            0 :                             {
   21346            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   21347            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   21348              :                                 {
   21349            0 :                                   if (integer_zerop (_p2))
   21350              :                                     {
   21351            0 :                                       {
   21352            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   21353            0 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSLL);
   21354            0 :                                         if (res) return res;
   21355              :                                       }
   21356              :                                     }
   21357              :                                 }
   21358              :                               break;
   21359              :                             }
   21360            0 :                           default:;
   21361              :                           }
   21362            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   21363              :                           {
   21364            0 :                             if (integer_zerop (_p2))
   21365              :                               {
   21366            0 :                                 {
   21367            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   21368            0 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSLL);
   21369            0 :                                   if (res) return res;
   21370              :                                 }
   21371              :                               }
   21372              :                           }
   21373              :                       }
   21374              :                     break;
   21375            2 :                   case CFN_BUILT_IN_PARITYLL:
   21376            2 :                     if (call_expr_nargs (_p1) == 1)
   21377              :     {
   21378            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   21379            2 :                         switch (TREE_CODE (_q50))
   21380              :                           {
   21381            1 :                           CASE_CONVERT:
   21382            1 :                             {
   21383            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   21384            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   21385              :                                 {
   21386            1 :                                   if (integer_zerop (_p2))
   21387              :                                     {
   21388            1 :                                       {
   21389            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   21390            1 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYLL);
   21391            1 :                                         if (res) return res;
   21392              :                                       }
   21393              :                                     }
   21394              :                                 }
   21395              :                               break;
   21396              :                             }
   21397            1 :                           default:;
   21398              :                           }
   21399            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   21400              :                           {
   21401            0 :                             if (integer_zerop (_p2))
   21402              :                               {
   21403            0 :                                 {
   21404            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   21405            0 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYLL);
   21406            0 :                                   if (res) return res;
   21407              :                                 }
   21408              :                               }
   21409              :                           }
   21410              :                       }
   21411              :                     break;
   21412            3 :                   case CFN_BUILT_IN_BSWAP16:
   21413            3 :                     if (call_expr_nargs (_p1) == 1)
   21414              :     {
   21415            3 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   21416            3 :                         switch (TREE_CODE (_q50))
   21417              :                           {
   21418            0 :                           CASE_CONVERT:
   21419            0 :                             {
   21420            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   21421            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   21422              :                                 {
   21423            0 :                                   if (integer_zerop (_p2))
   21424              :                                     {
   21425            0 :                                       {
   21426            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   21427            0 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP16);
   21428            0 :                                         if (res) return res;
   21429              :                                       }
   21430              :                                     }
   21431              :                                 }
   21432              :                               break;
   21433              :                             }
   21434            3 :                           default:;
   21435              :                           }
   21436            3 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   21437              :                           {
   21438            1 :                             if (integer_zerop (_p2))
   21439              :                               {
   21440            1 :                                 {
   21441            1 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   21442            1 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP16);
   21443            1 :                                   if (res) return res;
   21444              :                                 }
   21445              :                               }
   21446              :                           }
   21447              :                       }
   21448              :                     break;
   21449            2 :                   case CFN_BUILT_IN_BSWAP32:
   21450            2 :                     if (call_expr_nargs (_p1) == 1)
   21451              :     {
   21452            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   21453            2 :                         switch (TREE_CODE (_q50))
   21454              :                           {
   21455            0 :                           CASE_CONVERT:
   21456            0 :                             {
   21457            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   21458            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   21459              :                                 {
   21460            0 :                                   if (integer_zerop (_p2))
   21461              :                                     {
   21462            0 :                                       {
   21463            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   21464            0 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP32);
   21465            0 :                                         if (res) return res;
   21466              :                                       }
   21467              :                                     }
   21468              :                                 }
   21469              :                               break;
   21470              :                             }
   21471            2 :                           default:;
   21472              :                           }
   21473            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   21474              :                           {
   21475            1 :                             if (integer_zerop (_p2))
   21476              :                               {
   21477            1 :                                 {
   21478            1 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   21479            1 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP32);
   21480            1 :                                   if (res) return res;
   21481              :                                 }
   21482              :                               }
   21483              :                           }
   21484              :                       }
   21485              :                     break;
   21486            2 :                   case CFN_BUILT_IN_BSWAP64:
   21487            2 :                     if (call_expr_nargs (_p1) == 1)
   21488              :     {
   21489            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   21490            2 :                         switch (TREE_CODE (_q50))
   21491              :                           {
   21492            1 :                           CASE_CONVERT:
   21493            1 :                             {
   21494            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   21495            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   21496              :                                 {
   21497            1 :                                   if (integer_zerop (_p2))
   21498              :                                     {
   21499            1 :                                       {
   21500            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   21501            1 :                                         tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP64);
   21502            1 :                                         if (res) return res;
   21503              :                                       }
   21504              :                                     }
   21505              :                                 }
   21506              :                               break;
   21507              :                             }
   21508            1 :                           default:;
   21509              :                           }
   21510            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   21511              :                           {
   21512            0 :                             if (integer_zerop (_p2))
   21513              :                               {
   21514            0 :                                 {
   21515            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   21516            0 :                                   tree res = generic_simplify_391 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP64);
   21517            0 :                                   if (res) return res;
   21518              :                                 }
   21519              :                               }
   21520              :                           }
   21521              :                       }
   21522              :                     break;
   21523              :                   default:;
   21524              :                   }
   21525              :                 break;
   21526      1976635 :               default:;
   21527              :               }
   21528      1976635 :           {
   21529      1976635 :             tree _p1_pops[1];
   21530      1976635 :             if (tree_nop_convert (_p1, _p1_pops))
   21531              :               {
   21532       165388 :                 tree _q50 = _p1_pops[0];
   21533       165388 :                 switch (TREE_CODE (_q50))
   21534              :                   {
   21535          339 :                   case PLUS_EXPR:
   21536          339 :                     {
   21537          339 :                       tree _q60 = TREE_OPERAND (_q50, 0);
   21538          339 :                       tree _q61 = TREE_OPERAND (_q50, 1);
   21539          339 :                       {
   21540          339 :                         tree _q60_pops[1];
   21541          339 :                         if (tree_nop_convert (_q60, _q60_pops))
   21542              :                           {
   21543           52 :                             tree _q70 = _q60_pops[0];
   21544           52 :                             if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   21545              :                               {
   21546            2 :                                 if (integer_all_onesp (_q61))
   21547              :                                   {
   21548            2 :                                     if (integer_zerop (_p2))
   21549              :                                       {
   21550            2 :                                         {
   21551            2 :                                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q60 };
   21552            2 :                                           tree res = generic_simplify_394 (loc, type, _p0, _p1, _p2, captures);
   21553            2 :                                           if (res) return res;
   21554              :                                         }
   21555              :                                       }
   21556              :                                   }
   21557              :                               }
   21558              :                           }
   21559              :                       }
   21560          337 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   21561              :                         {
   21562           14 :                           if (integer_all_onesp (_q61))
   21563              :                             {
   21564            0 :                               if (integer_zerop (_p2))
   21565              :                                 {
   21566            0 :                                   {
   21567            0 :                                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q60 };
   21568            0 :                                     tree res = generic_simplify_395 (loc, type, _p0, _p1, _p2, captures);
   21569            0 :                                     if (res) return res;
   21570              :                                   }
   21571              :                                 }
   21572              :                             }
   21573              :                         }
   21574              :                       break;
   21575              :                     }
   21576              :                   default:;
   21577              :                   }
   21578              :               }
   21579              :           }
   21580              :           }
   21581              :         break;
   21582              :       }
   21583          164 :     case UNEQ_EXPR:
   21584          164 :       {
   21585          164 :         tree _q20 = TREE_OPERAND (_p0, 0);
   21586          164 :         tree _q21 = TREE_OPERAND (_p0, 1);
   21587          164 :         if (zerop (_q21))
   21588              :           {
   21589            1 :             switch (TREE_CODE (_p2))
   21590              :               {
   21591            0 :               case NEGATE_EXPR:
   21592            0 :                 {
   21593            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   21594            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   21595              :                     {
   21596            0 :                       {
   21597            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   21598            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   21599            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   21600            0 :  && bitwise_equal_p (captures[0], captures[1])
   21601              : )
   21602              :                           {
   21603            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1950;
   21604            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1950;
   21605            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1950;
   21606            0 :                             {
   21607            0 :                               tree _r;
   21608            0 :                               _r = captures[2];
   21609            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1102, __FILE__, __LINE__, true);
   21610              :                               return _r;
   21611              :                             }
   21612            1 : next_after_fail1950:;
   21613              :                           }
   21614              :                       }
   21615              :                     }
   21616              :                   break;
   21617              :                 }
   21618            1 :               default:;
   21619              :               }
   21620            1 :             if (zerop (_p1))
   21621              :               {
   21622            0 :                 switch (TREE_CODE (_p2))
   21623              :                   {
   21624            0 :                   case NEGATE_EXPR:
   21625            0 :                     {
   21626            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   21627            0 :                       {
   21628            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   21629            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   21630            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   21631            0 :  && bitwise_equal_p (captures[0], captures[2])
   21632              : )
   21633              :                           {
   21634            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1951;
   21635            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1951;
   21636            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1951;
   21637            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1951;
   21638            0 :                             {
   21639            0 :                               tree _r;
   21640            0 :                               _r = captures[1];
   21641            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1103, __FILE__, __LINE__, true);
   21642              :                               return _r;
   21643              :                             }
   21644          164 : next_after_fail1951:;
   21645              :                           }
   21646              :                       }
   21647              :                       break;
   21648              :                     }
   21649              :                   default:;
   21650              :                   }
   21651              :               }
   21652              :           }
   21653          164 :         switch (TREE_CODE (_q20))
   21654              :           {
   21655            0 :           case MINUS_EXPR:
   21656            0 :             {
   21657            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21658            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   21659            0 :               if (zerop (_q21))
   21660              :                 {
   21661            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   21662              :                     {
   21663            0 :                       switch (TREE_CODE (_p2))
   21664              :                         {
   21665            0 :                         case MINUS_EXPR:
   21666            0 :                           {
   21667            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   21668            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   21669            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   21670              :                               {
   21671            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   21672              :                                   {
   21673            0 :                                     {
   21674            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   21675            0 :                                       const enum tree_code cmp = UNEQ_EXPR;
   21676            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   21677              : )
   21678              :                                         {
   21679            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1952;
   21680            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1952;
   21681            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1952;
   21682            0 :                                           {
   21683            0 :                                             tree _r;
   21684            0 :                                             _r = captures[3];
   21685            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1104, __FILE__, __LINE__, true);
   21686              :                                             return _r;
   21687              :                                           }
   21688            0 : next_after_fail1952:;
   21689              :                                         }
   21690              :                                     }
   21691              :                                   }
   21692              :                               }
   21693              :                             break;
   21694              :                           }
   21695              :                         default:;
   21696              :                         }
   21697              :                     }
   21698              :                 }
   21699            0 :               if (integer_zerop (_q21))
   21700              :                 {
   21701            0 :                   if (integer_zerop (_p1))
   21702              :                     {
   21703            0 :                       switch (TREE_CODE (_p2))
   21704              :                         {
   21705            0 :                         case MINUS_EXPR:
   21706            0 :                           {
   21707            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   21708            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   21709            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   21710              :                               {
   21711            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   21712              :                                   {
   21713            0 :                                     {
   21714            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   21715            0 :                                       tree res = generic_simplify_388 (loc, type, _p0, _p1, _p2, captures, UNEQ_EXPR);
   21716            0 :                                       if (res) return res;
   21717              :                                     }
   21718              :                                   }
   21719              :                               }
   21720              :                             break;
   21721              :                           }
   21722              :                         default:;
   21723              :                         }
   21724              :                     }
   21725              :                 }
   21726              :               break;
   21727              :             }
   21728              :           default:;
   21729              :           }
   21730              :         break;
   21731              :       }
   21732            7 :     case LTGT_EXPR:
   21733            7 :       {
   21734            7 :         tree _q20 = TREE_OPERAND (_p0, 0);
   21735            7 :         tree _q21 = TREE_OPERAND (_p0, 1);
   21736            7 :         if (zerop (_q21))
   21737              :           {
   21738            0 :             switch (TREE_CODE (_p2))
   21739              :               {
   21740            0 :               case NEGATE_EXPR:
   21741            0 :                 {
   21742            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   21743            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   21744              :                     {
   21745            0 :                       {
   21746            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   21747            0 :                         const enum tree_code cmp = LTGT_EXPR;
   21748            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   21749            0 :  && bitwise_equal_p (captures[0], captures[1])
   21750              : )
   21751              :                           {
   21752            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1953;
   21753            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1953;
   21754            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1953;
   21755            0 :                             {
   21756            0 :                               tree _r;
   21757            0 :                               _r = captures[1];
   21758            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1106, __FILE__, __LINE__, true);
   21759              :                               return _r;
   21760              :                             }
   21761            0 : next_after_fail1953:;
   21762              :                           }
   21763              :                       }
   21764              :                     }
   21765              :                   break;
   21766              :                 }
   21767            0 :               default:;
   21768              :               }
   21769            0 :           if (integer_zerop (_p2))
   21770              :             {
   21771            0 :               {
   21772            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   21773            0 :                 const enum tree_code cmp = LTGT_EXPR;
   21774            0 :                 if (!HONOR_SIGNED_ZEROS (type)
   21775            0 :  && bitwise_equal_p (captures[0], captures[1])
   21776              : )
   21777              :                   {
   21778            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1954;
   21779            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1954;
   21780            0 :                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1954;
   21781            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1954;
   21782            0 :                     {
   21783            0 :                       tree _r;
   21784            0 :                       _r = captures[1];
   21785            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1107, __FILE__, __LINE__, true);
   21786              :                       return _r;
   21787              :                     }
   21788            7 : next_after_fail1954:;
   21789              :                   }
   21790              :               }
   21791              :             }
   21792              :           }
   21793            7 :         switch (TREE_CODE (_q20))
   21794              :           {
   21795            0 :           case MINUS_EXPR:
   21796            0 :             {
   21797            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21798            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   21799            0 :               if (zerop (_q21))
   21800              :                 {
   21801            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   21802              :                     {
   21803            0 :                       switch (TREE_CODE (_p2))
   21804              :                         {
   21805            0 :                         case MINUS_EXPR:
   21806            0 :                           {
   21807            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   21808            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   21809            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   21810              :                               {
   21811            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   21812              :                                   {
   21813            0 :                                     {
   21814            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   21815            0 :                                       const enum tree_code cmp = LTGT_EXPR;
   21816            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   21817              : )
   21818              :                                         {
   21819            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1955;
   21820            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1955;
   21821            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1955;
   21822            0 :                                           {
   21823            0 :                                             tree _r;
   21824            0 :                                             _r = captures[0];
   21825            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1108, __FILE__, __LINE__, true);
   21826              :                                             return _r;
   21827              :                                           }
   21828            0 : next_after_fail1955:;
   21829              :                                         }
   21830              :                                     }
   21831              :                                   }
   21832              :                               }
   21833              :                             break;
   21834              :                           }
   21835              :                         default:;
   21836              :                         }
   21837              :                     }
   21838              :                 }
   21839            0 :               if (integer_zerop (_q21))
   21840              :                 {
   21841            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   21842              :                     {
   21843            0 :                       if (integer_zerop (_p2))
   21844              :                         {
   21845            0 :                           {
   21846            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   21847            0 :                             tree res = generic_simplify_390 (loc, type, _p0, _p1, _p2, captures, LTGT_EXPR);
   21848            0 :                             if (res) return res;
   21849              :                           }
   21850              :                         }
   21851              :                     }
   21852              :                 }
   21853              :               break;
   21854              :             }
   21855              :           default:;
   21856              :           }
   21857              :         break;
   21858              :       }
   21859       557126 :     case GE_EXPR:
   21860       557126 :       {
   21861       557126 :         tree _q20 = TREE_OPERAND (_p0, 0);
   21862       557126 :         tree _q21 = TREE_OPERAND (_p0, 1);
   21863       557126 :         switch (TREE_CODE (_q20))
   21864              :           {
   21865        62264 :           CASE_CONVERT:
   21866        62264 :             {
   21867        62264 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21868        62264 :               if (zerop (_q21))
   21869              :                 {
   21870        31066 :                   switch (TREE_CODE (_p2))
   21871              :                     {
   21872           13 :                     case NEGATE_EXPR:
   21873           13 :                       {
   21874           13 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   21875           13 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   21876              :                           {
   21877           13 :                             {
   21878           13 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   21879           13 :                               const enum tree_code cmp = GE_EXPR;
   21880           13 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21881           13 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21882            0 :  && element_precision (captures[1])
   21883            0 :  <= element_precision (captures[0])
   21884            0 :  && bitwise_equal_p (captures[1], captures[2])
   21885           13 :  && (!VECTOR_TYPE_P (type)
   21886            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   21887              : )
   21888              :                                 {
   21889            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21890              : )
   21891              :                                     {
   21892            0 :                                       {
   21893            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21894            0 :                                           if (types_match (captures[0], stype)
   21895              : )
   21896              :                                             {
   21897            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1956;
   21898            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1956;
   21899            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1956;
   21900            0 :                                               {
   21901            0 :                                                 tree res_op0;
   21902            0 :                                                 res_op0 = captures[0];
   21903            0 :                                                 tree _r;
   21904            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   21905            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1111, __FILE__, __LINE__, true);
   21906              :                                                 return _r;
   21907              :                                               }
   21908       557126 : next_after_fail1956:;
   21909              :                                             }
   21910              :                                           else
   21911              :                                             {
   21912            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1957;
   21913            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1957;
   21914            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1957;
   21915            0 :                                               {
   21916            0 :                                                 tree res_op0;
   21917            0 :                                                 {
   21918            0 :                                                   tree _o1[1], _r1;
   21919            0 :                                                   _o1[0] = captures[2];
   21920            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   21921              :                                                     {
   21922            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   21923              :                                                     }
   21924              :                                                   else
   21925              :                                                     _r1 = _o1[0];
   21926            0 :                                                   res_op0 = _r1;
   21927              :                                                 }
   21928            0 :                                                 tree _r;
   21929            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   21930            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1112, __FILE__, __LINE__, true);
   21931              :                                                 return _r;
   21932              :                                               }
   21933       557126 : next_after_fail1957:;
   21934              :                                             }
   21935              :                                       }
   21936              :                                     }
   21937              :                                   else
   21938              :                                     {
   21939            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1958;
   21940            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1958;
   21941            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1958;
   21942            0 :                                       {
   21943            0 :                                         tree res_op0;
   21944            0 :                                         res_op0 = captures[2];
   21945            0 :                                         tree _r;
   21946            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   21947            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1113, __FILE__, __LINE__, true);
   21948              :                                         return _r;
   21949              :                                       }
   21950       557126 : next_after_fail1958:;
   21951              :                                     }
   21952              :                                 }
   21953              :                             }
   21954              :                           }
   21955              :                         break;
   21956              :                       }
   21957              :                     default:;
   21958              :                     }
   21959              :                 }
   21960              :               break;
   21961              :             }
   21962       557126 :           default:;
   21963              :           }
   21964       557126 :         if (zerop (_q21))
   21965              :           {
   21966       152585 :             switch (TREE_CODE (_p2))
   21967              :               {
   21968        32475 :               case NEGATE_EXPR:
   21969        32475 :                 {
   21970        32475 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   21971        32475 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   21972              :                     {
   21973        32469 :                       {
   21974        32469 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   21975        32469 :                         const enum tree_code cmp = GE_EXPR;
   21976        32469 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21977        32461 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21978        64922 :  && element_precision (captures[1])
   21979        32461 :  <= element_precision (captures[0])
   21980        32461 :  && bitwise_equal_p (captures[1], captures[2])
   21981        64832 :  && (!VECTOR_TYPE_P (type)
   21982            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   21983              : )
   21984              :                           {
   21985        32363 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21986              : )
   21987              :                               {
   21988           46 :                                 {
   21989           46 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21990           46 :                                     if (types_match (captures[0], stype)
   21991              : )
   21992              :                                       {
   21993           13 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1959;
   21994           13 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1959;
   21995           13 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1959;
   21996           13 :                                         {
   21997           13 :                                           tree res_op0;
   21998           13 :                                           res_op0 = captures[0];
   21999           13 :                                           tree _r;
   22000           13 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   22001           13 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1111, __FILE__, __LINE__, true);
   22002              :                                           return _r;
   22003              :                                         }
   22004       524763 : next_after_fail1959:;
   22005              :                                       }
   22006              :                                     else
   22007              :                                       {
   22008           33 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1960;
   22009           33 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1960;
   22010           33 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1960;
   22011           33 :                                         {
   22012           33 :                                           tree res_op0;
   22013           33 :                                           {
   22014           33 :                                             tree _o1[1], _r1;
   22015           33 :                                             _o1[0] = captures[2];
   22016           33 :                                             if (TREE_TYPE (_o1[0]) != stype)
   22017              :                                               {
   22018           33 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   22019              :                                               }
   22020              :                                             else
   22021              :                                               _r1 = _o1[0];
   22022           33 :                                             res_op0 = _r1;
   22023              :                                           }
   22024           33 :                                           tree _r;
   22025           33 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   22026           33 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1112, __FILE__, __LINE__, true);
   22027              :                                           return _r;
   22028              :                                         }
   22029       524763 : next_after_fail1960:;
   22030              :                                       }
   22031              :                                 }
   22032              :                               }
   22033              :                             else
   22034              :                               {
   22035        32317 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1961;
   22036        32317 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1961;
   22037        32317 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1961;
   22038        32317 :                                 {
   22039        32317 :                                   tree res_op0;
   22040        32317 :                                   res_op0 = captures[2];
   22041        32317 :                                   tree _r;
   22042        32317 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   22043        32317 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1113, __FILE__, __LINE__, true);
   22044              :                                   return _r;
   22045              :                                 }
   22046       524763 : next_after_fail1961:;
   22047              :                               }
   22048              :                           }
   22049              :                       }
   22050              :                     }
   22051              :                   break;
   22052              :                 }
   22053              :               default:;
   22054              :               }
   22055              :           }
   22056       524763 :         switch (TREE_CODE (_q20))
   22057              :           {
   22058        31981 :           case MINUS_EXPR:
   22059        31981 :             {
   22060        31981 :               tree _q30 = TREE_OPERAND (_q20, 0);
   22061        31981 :               tree _q31 = TREE_OPERAND (_q20, 1);
   22062        31981 :               if (zerop (_q21))
   22063              :                 {
   22064        31187 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   22065              :                     {
   22066            1 :                       switch (TREE_CODE (_p2))
   22067              :                         {
   22068            1 :                         case MINUS_EXPR:
   22069            1 :                           {
   22070            1 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   22071            1 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   22072            1 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   22073              :                               {
   22074            1 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   22075              :                                   {
   22076            1 :                                     {
   22077            1 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   22078            1 :                                       const enum tree_code cmp = GE_EXPR;
   22079            1 :                                       if (!HONOR_SIGNED_ZEROS (type)
   22080            1 :  && !TYPE_UNSIGNED (type)
   22081            2 :  && (!VECTOR_TYPE_P (type)
   22082            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   22083              : )
   22084              :                                         {
   22085            1 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1962;
   22086            1 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1962;
   22087            1 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1962;
   22088            1 :                                           {
   22089            1 :                                             tree res_op0;
   22090            1 :                                             res_op0 = captures[0];
   22091            1 :                                             tree _r;
   22092            1 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   22093            1 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1114, __FILE__, __LINE__, true);
   22094              :                                             return _r;
   22095              :                                           }
   22096       524762 : next_after_fail1962:;
   22097              :                                         }
   22098              :                                     }
   22099              :                                   }
   22100              :                               }
   22101              :                             break;
   22102              :                           }
   22103              :                         default:;
   22104              :                         }
   22105              :                     }
   22106              :                 }
   22107              :               break;
   22108              :             }
   22109       524762 :           default:;
   22110              :           }
   22111       524762 :         if (integer_zerop (_q21))
   22112              :           {
   22113       119670 :             switch (TREE_CODE (_p1))
   22114              :               {
   22115           65 :               case BIT_NOT_EXPR:
   22116           65 :                 {
   22117           65 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   22118           65 :                   if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   22119              :                     {
   22120            9 :                       {
   22121            9 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   22122            9 :                         tree res = generic_simplify_396 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   22123            9 :                         if (res) return res;
   22124              :                       }
   22125              :                     }
   22126              :                   break;
   22127              :                 }
   22128       119661 :               default:;
   22129              :               }
   22130       119661 :             switch (TREE_CODE (_p2))
   22131              :               {
   22132           35 :               case BIT_NOT_EXPR:
   22133           35 :                 {
   22134           35 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   22135           35 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   22136              :                     {
   22137            9 :                       {
   22138            9 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   22139            9 :                         tree res = generic_simplify_397 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   22140            9 :                         if (res) return res;
   22141              :                       }
   22142              :                     }
   22143              :                   break;
   22144              :                 }
   22145              :               default:;
   22146              :               }
   22147              :           }
   22148              :         break;
   22149              :       }
   22150       929159 :     case GT_EXPR:
   22151       929159 :       {
   22152       929159 :         tree _q20 = TREE_OPERAND (_p0, 0);
   22153       929159 :         tree _q21 = TREE_OPERAND (_p0, 1);
   22154       929159 :         switch (TREE_CODE (_q20))
   22155              :           {
   22156        89673 :           CASE_CONVERT:
   22157        89673 :             {
   22158        89673 :               tree _q30 = TREE_OPERAND (_q20, 0);
   22159        89673 :               if (zerop (_q21))
   22160              :                 {
   22161         1864 :                   switch (TREE_CODE (_p2))
   22162              :                     {
   22163            4 :                     case NEGATE_EXPR:
   22164            4 :                       {
   22165            4 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   22166            4 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   22167              :                           {
   22168            0 :                             {
   22169            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   22170            0 :                               const enum tree_code cmp = GT_EXPR;
   22171            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   22172            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   22173            0 :  && element_precision (captures[1])
   22174            0 :  <= element_precision (captures[0])
   22175            0 :  && bitwise_equal_p (captures[1], captures[2])
   22176            0 :  && (!VECTOR_TYPE_P (type)
   22177            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   22178              : )
   22179              :                                 {
   22180            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   22181              : )
   22182              :                                     {
   22183            0 :                                       {
   22184            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   22185            0 :                                           if (types_match (captures[0], stype)
   22186              : )
   22187              :                                             {
   22188            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1963;
   22189            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1963;
   22190            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1963;
   22191            0 :                                               {
   22192            0 :                                                 tree res_op0;
   22193            0 :                                                 res_op0 = captures[0];
   22194            0 :                                                 tree _r;
   22195            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   22196            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1111, __FILE__, __LINE__, true);
   22197              :                                                 return _r;
   22198              :                                               }
   22199       929159 : next_after_fail1963:;
   22200              :                                             }
   22201              :                                           else
   22202              :                                             {
   22203            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1964;
   22204            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1964;
   22205            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1964;
   22206            0 :                                               {
   22207            0 :                                                 tree res_op0;
   22208            0 :                                                 {
   22209            0 :                                                   tree _o1[1], _r1;
   22210            0 :                                                   _o1[0] = captures[2];
   22211            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   22212              :                                                     {
   22213            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   22214              :                                                     }
   22215              :                                                   else
   22216              :                                                     _r1 = _o1[0];
   22217            0 :                                                   res_op0 = _r1;
   22218              :                                                 }
   22219            0 :                                                 tree _r;
   22220            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   22221            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1112, __FILE__, __LINE__, true);
   22222              :                                                 return _r;
   22223              :                                               }
   22224       929159 : next_after_fail1964:;
   22225              :                                             }
   22226              :                                       }
   22227              :                                     }
   22228              :                                   else
   22229              :                                     {
   22230            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1965;
   22231            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1965;
   22232            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1965;
   22233            0 :                                       {
   22234            0 :                                         tree res_op0;
   22235            0 :                                         res_op0 = captures[2];
   22236            0 :                                         tree _r;
   22237            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   22238            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1113, __FILE__, __LINE__, true);
   22239              :                                         return _r;
   22240              :                                       }
   22241       929159 : next_after_fail1965:;
   22242              :                                     }
   22243              :                                 }
   22244              :                             }
   22245              :                           }
   22246              :                         break;
   22247              :                       }
   22248              :                     default:;
   22249              :                     }
   22250              :                 }
   22251              :               break;
   22252              :             }
   22253       929159 :           default:;
   22254              :           }
   22255       929159 :         if (zerop (_q21))
   22256              :           {
   22257       210316 :             switch (TREE_CODE (_p2))
   22258              :               {
   22259          305 :               case NEGATE_EXPR:
   22260          305 :                 {
   22261          305 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   22262          305 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   22263              :                     {
   22264          147 :                       {
   22265          147 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   22266          147 :                         const enum tree_code cmp = GT_EXPR;
   22267          147 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   22268          115 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   22269          230 :  && element_precision (captures[1])
   22270          115 :  <= element_precision (captures[0])
   22271          115 :  && bitwise_equal_p (captures[1], captures[2])
   22272          257 :  && (!VECTOR_TYPE_P (type)
   22273            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   22274              : )
   22275              :                           {
   22276          110 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   22277              : )
   22278              :                               {
   22279            0 :                                 {
   22280            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   22281            0 :                                     if (types_match (captures[0], stype)
   22282              : )
   22283              :                                       {
   22284            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1966;
   22285            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1966;
   22286            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1966;
   22287            0 :                                         {
   22288            0 :                                           tree res_op0;
   22289            0 :                                           res_op0 = captures[0];
   22290            0 :                                           tree _r;
   22291            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   22292            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1111, __FILE__, __LINE__, true);
   22293              :                                           return _r;
   22294              :                                         }
   22295       929049 : next_after_fail1966:;
   22296              :                                       }
   22297              :                                     else
   22298              :                                       {
   22299            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1967;
   22300            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1967;
   22301            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1967;
   22302            0 :                                         {
   22303            0 :                                           tree res_op0;
   22304            0 :                                           {
   22305            0 :                                             tree _o1[1], _r1;
   22306            0 :                                             _o1[0] = captures[2];
   22307            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   22308              :                                               {
   22309            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   22310              :                                               }
   22311              :                                             else
   22312              :                                               _r1 = _o1[0];
   22313            0 :                                             res_op0 = _r1;
   22314              :                                           }
   22315            0 :                                           tree _r;
   22316            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   22317            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1112, __FILE__, __LINE__, true);
   22318              :                                           return _r;
   22319              :                                         }
   22320       929049 : next_after_fail1967:;
   22321              :                                       }
   22322              :                                 }
   22323              :                               }
   22324              :                             else
   22325              :                               {
   22326          110 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1968;
   22327          110 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1968;
   22328          110 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1968;
   22329          110 :                                 {
   22330          110 :                                   tree res_op0;
   22331          110 :                                   res_op0 = captures[2];
   22332          110 :                                   tree _r;
   22333          110 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   22334          110 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1113, __FILE__, __LINE__, true);
   22335              :                                   return _r;
   22336              :                                 }
   22337       929049 : next_after_fail1968:;
   22338              :                               }
   22339              :                           }
   22340              :                       }
   22341              :                     }
   22342              :                   break;
   22343              :                 }
   22344              :               default:;
   22345              :               }
   22346              :           }
   22347       929049 :         switch (TREE_CODE (_q20))
   22348              :           {
   22349         1072 :           case MINUS_EXPR:
   22350         1072 :             {
   22351         1072 :               tree _q30 = TREE_OPERAND (_q20, 0);
   22352         1072 :               tree _q31 = TREE_OPERAND (_q20, 1);
   22353         1072 :               if (zerop (_q21))
   22354              :                 {
   22355          160 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   22356              :                     {
   22357           15 :                       switch (TREE_CODE (_p2))
   22358              :                         {
   22359            9 :                         case MINUS_EXPR:
   22360            9 :                           {
   22361            9 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   22362            9 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   22363            9 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   22364              :                               {
   22365            9 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   22366              :                                   {
   22367            9 :                                     {
   22368            9 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   22369            9 :                                       const enum tree_code cmp = GT_EXPR;
   22370            9 :                                       if (!HONOR_SIGNED_ZEROS (type)
   22371            9 :  && !TYPE_UNSIGNED (type)
   22372           18 :  && (!VECTOR_TYPE_P (type)
   22373            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   22374              : )
   22375              :                                         {
   22376            9 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1969;
   22377            9 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1969;
   22378            9 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1969;
   22379            9 :                                           {
   22380            9 :                                             tree res_op0;
   22381            9 :                                             res_op0 = captures[0];
   22382            9 :                                             tree _r;
   22383            9 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   22384            9 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1114, __FILE__, __LINE__, true);
   22385              :                                             return _r;
   22386              :                                           }
   22387     12165407 : next_after_fail1969:;
   22388              :                                         }
   22389              :                                     }
   22390              :                                   }
   22391              :                               }
   22392              :                             break;
   22393              :                           }
   22394              :                         default:;
   22395              :                         }
   22396              :                     }
   22397              :                 }
   22398              :               break;
   22399              :             }
   22400              :           default:;
   22401              :           }
   22402              :         break;
   22403              :       }
   22404      1411114 :     case LE_EXPR:
   22405      1411114 :       {
   22406      1411114 :         tree _q20 = TREE_OPERAND (_p0, 0);
   22407      1411114 :         tree _q21 = TREE_OPERAND (_p0, 1);
   22408      1411114 :         switch (TREE_CODE (_q20))
   22409              :           {
   22410       142380 :           CASE_CONVERT:
   22411       142380 :             {
   22412       142380 :               tree _q30 = TREE_OPERAND (_q20, 0);
   22413       142380 :               if (zerop (_q21))
   22414              :                 {
   22415         1500 :                   switch (TREE_CODE (_p2))
   22416              :                     {
   22417            0 :                     case NEGATE_EXPR:
   22418            0 :                       {
   22419            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   22420            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   22421              :                           {
   22422            0 :                             {
   22423            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   22424            0 :                               const enum tree_code cmp = LE_EXPR;
   22425            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   22426            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   22427            0 :  && element_precision (captures[1])
   22428            0 :  <= element_precision (captures[0])
   22429            0 :  && bitwise_equal_p (captures[1], captures[2])
   22430            0 :  && (!VECTOR_TYPE_P (type)
   22431            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   22432            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   22433              : )
   22434              :                                 {
   22435            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   22436            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   22437            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   22438              : )
   22439              :                                     {
   22440            0 :                                       {
   22441            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   22442            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   22443            0 :                                           if (types_match (captures[0], stype)
   22444              : )
   22445              :                                             {
   22446            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1970;
   22447            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1970;
   22448            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1970;
   22449            0 :                                               {
   22450            0 :                                                 tree res_op0;
   22451            0 :                                                 {
   22452            0 :                                                   tree _o1[1], _r1;
   22453            0 :                                                   {
   22454            0 :                                                     tree _o2[1], _r2;
   22455            0 :                                                     _o2[0] = captures[0];
   22456            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   22457            0 :                                                     _o1[0] = _r2;
   22458              :                                                   }
   22459            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   22460            0 :                                                   res_op0 = _r1;
   22461              :                                                 }
   22462            0 :                                                 tree _r;
   22463            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   22464            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1115, __FILE__, __LINE__, true);
   22465              :                                                 return _r;
   22466              :                                               }
   22467      1411114 : next_after_fail1970:;
   22468              :                                             }
   22469              :                                           else
   22470              :                                             {
   22471            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1971;
   22472            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1971;
   22473            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1971;
   22474            0 :                                               {
   22475            0 :                                                 tree res_op0;
   22476            0 :                                                 {
   22477            0 :                                                   tree _o1[1], _r1;
   22478            0 :                                                   {
   22479            0 :                                                     tree _o2[1], _r2;
   22480            0 :                                                     {
   22481            0 :                                                       tree _o3[1], _r3;
   22482            0 :                                                       _o3[0] = captures[2];
   22483            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   22484              :                                                         {
   22485            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   22486              :                                                         }
   22487              :                                                       else
   22488              :                                                         _r3 = _o3[0];
   22489            0 :                                                       _o2[0] = _r3;
   22490              :                                                     }
   22491            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   22492            0 :                                                     _o1[0] = _r2;
   22493              :                                                   }
   22494            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   22495            0 :                                                   res_op0 = _r1;
   22496              :                                                 }
   22497            0 :                                                 tree _r;
   22498            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   22499            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1116, __FILE__, __LINE__, true);
   22500              :                                                 return _r;
   22501              :                                               }
   22502      1411114 : next_after_fail1971:;
   22503              :                                             }
   22504              :                                       }
   22505              :                                     }
   22506              :                                   else
   22507              :                                     {
   22508            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1972;
   22509            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1972;
   22510            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1972;
   22511            0 :                                       {
   22512            0 :                                         tree res_op0;
   22513            0 :                                         {
   22514            0 :                                           tree _o1[1], _r1;
   22515            0 :                                           {
   22516            0 :                                             tree _o2[1], _r2;
   22517            0 :                                             _o2[0] = captures[2];
   22518            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   22519            0 :                                             _o1[0] = _r2;
   22520              :                                           }
   22521            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   22522            0 :                                           res_op0 = _r1;
   22523              :                                         }
   22524            0 :                                         tree _r;
   22525            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   22526            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1117, __FILE__, __LINE__, true);
   22527              :                                         return _r;
   22528              :                                       }
   22529      1411114 : next_after_fail1972:;
   22530              :                                     }
   22531              :                                 }
   22532              :                             }
   22533              :                           }
   22534              :                         break;
   22535              :                       }
   22536              :                     default:;
   22537              :                     }
   22538              :                 }
   22539              :               break;
   22540              :             }
   22541      1411114 :           default:;
   22542              :           }
   22543      1411114 :         if (zerop (_q21))
   22544              :           {
   22545       125439 :             switch (TREE_CODE (_p2))
   22546              :               {
   22547            7 :               case NEGATE_EXPR:
   22548            7 :                 {
   22549            7 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   22550            7 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   22551              :                     {
   22552            7 :                       {
   22553            7 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   22554            7 :                         const enum tree_code cmp = LE_EXPR;
   22555            7 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   22556            7 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   22557           14 :  && element_precision (captures[1])
   22558            7 :  <= element_precision (captures[0])
   22559            7 :  && bitwise_equal_p (captures[1], captures[2])
   22560           14 :  && (!VECTOR_TYPE_P (type)
   22561            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   22562            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   22563              : )
   22564              :                           {
   22565           14 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   22566            7 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   22567            7 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   22568              : )
   22569              :                               {
   22570            7 :                                 {
   22571            7 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   22572            7 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   22573            7 :                                     if (types_match (captures[0], stype)
   22574              : )
   22575              :                                       {
   22576            7 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1973;
   22577            7 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1973;
   22578            7 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1973;
   22579            7 :                                         {
   22580            7 :                                           tree res_op0;
   22581            7 :                                           {
   22582            7 :                                             tree _o1[1], _r1;
   22583            7 :                                             {
   22584            7 :                                               tree _o2[1], _r2;
   22585            7 :                                               _o2[0] = captures[0];
   22586            7 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   22587            7 :                                               _o1[0] = _r2;
   22588              :                                             }
   22589            7 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   22590            7 :                                             res_op0 = _r1;
   22591              :                                           }
   22592            7 :                                           tree _r;
   22593            7 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   22594            7 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1115, __FILE__, __LINE__, true);
   22595              :                                           return _r;
   22596              :                                         }
   22597      1411107 : next_after_fail1973:;
   22598              :                                       }
   22599              :                                     else
   22600              :                                       {
   22601            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1974;
   22602            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1974;
   22603            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1974;
   22604            0 :                                         {
   22605            0 :                                           tree res_op0;
   22606            0 :                                           {
   22607            0 :                                             tree _o1[1], _r1;
   22608            0 :                                             {
   22609            0 :                                               tree _o2[1], _r2;
   22610            0 :                                               {
   22611            0 :                                                 tree _o3[1], _r3;
   22612            0 :                                                 _o3[0] = captures[2];
   22613            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   22614              :                                                   {
   22615            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   22616              :                                                   }
   22617              :                                                 else
   22618              :                                                   _r3 = _o3[0];
   22619            0 :                                                 _o2[0] = _r3;
   22620              :                                               }
   22621            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   22622            0 :                                               _o1[0] = _r2;
   22623              :                                             }
   22624            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   22625            0 :                                             res_op0 = _r1;
   22626              :                                           }
   22627            0 :                                           tree _r;
   22628            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   22629            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1116, __FILE__, __LINE__, true);
   22630              :                                           return _r;
   22631              :                                         }
   22632      1411107 : next_after_fail1974:;
   22633              :                                       }
   22634              :                                 }
   22635              :                               }
   22636              :                             else
   22637              :                               {
   22638            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1975;
   22639            0 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1975;
   22640            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1975;
   22641            0 :                                 {
   22642            0 :                                   tree res_op0;
   22643            0 :                                   {
   22644            0 :                                     tree _o1[1], _r1;
   22645            0 :                                     {
   22646            0 :                                       tree _o2[1], _r2;
   22647            0 :                                       _o2[0] = captures[2];
   22648            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   22649            0 :                                       _o1[0] = _r2;
   22650              :                                     }
   22651            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   22652            0 :                                     res_op0 = _r1;
   22653              :                                   }
   22654            0 :                                   tree _r;
   22655            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   22656            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1117, __FILE__, __LINE__, true);
   22657              :                                   return _r;
   22658              :                                 }
   22659      1411107 : next_after_fail1975:;
   22660              :                               }
   22661              :                           }
   22662              :                       }
   22663              :                     }
   22664              :                   break;
   22665              :                 }
   22666              :               default:;
   22667              :               }
   22668              :           }
   22669      1411107 :         switch (TREE_CODE (_q20))
   22670              :           {
   22671          190 :           case MINUS_EXPR:
   22672          190 :             {
   22673          190 :               tree _q30 = TREE_OPERAND (_q20, 0);
   22674          190 :               tree _q31 = TREE_OPERAND (_q20, 1);
   22675          190 :               if (zerop (_q21))
   22676              :                 {
   22677          148 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   22678              :                     {
   22679            0 :                       switch (TREE_CODE (_p2))
   22680              :                         {
   22681            0 :                         case MINUS_EXPR:
   22682            0 :                           {
   22683            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   22684            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   22685            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   22686              :                               {
   22687            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   22688              :                                   {
   22689            0 :                                     {
   22690            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   22691            0 :                                       const enum tree_code cmp = LE_EXPR;
   22692            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   22693            0 :  && !TYPE_UNSIGNED (type)
   22694              : )
   22695              :                                         {
   22696            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   22697            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   22698            0 :  && (!VECTOR_TYPE_P (type)
   22699            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   22700            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   22701              : )
   22702              :                                             {
   22703            0 :                                               {
   22704            0 :  tree utype = unsigned_type_for (type);
   22705            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1976;
   22706            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1976;
   22707            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1976;
   22708            0 :                                                   {
   22709            0 :                                                     tree res_op0;
   22710            0 :                                                     {
   22711            0 :                                                       tree _o1[1], _r1;
   22712            0 :                                                       {
   22713            0 :                                                         tree _o2[1], _r2;
   22714            0 :                                                         _o2[0] = captures[0];
   22715            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   22716            0 :                                                         _o1[0] = _r2;
   22717              :                                                       }
   22718            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   22719            0 :                                                       res_op0 = _r1;
   22720              :                                                     }
   22721            0 :                                                     tree _r;
   22722            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   22723            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1118, __FILE__, __LINE__, true);
   22724              :                                                     return _r;
   22725              :                                                   }
   22726     12165407 : next_after_fail1976:;
   22727              :                                               }
   22728              :                                             }
   22729              :                                           else
   22730              :                                             {
   22731            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1977;
   22732            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1977;
   22733            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1977;
   22734            0 :                                               {
   22735            0 :                                                 tree res_op0;
   22736            0 :                                                 {
   22737            0 :                                                   tree _o1[1], _r1;
   22738            0 :                                                   _o1[0] = captures[0];
   22739            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   22740            0 :                                                   res_op0 = _r1;
   22741              :                                                 }
   22742            0 :                                                 tree _r;
   22743            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   22744            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1119, __FILE__, __LINE__, true);
   22745              :                                                 return _r;
   22746              :                                               }
   22747     12165407 : next_after_fail1977:;
   22748              :                                             }
   22749              :                                         }
   22750              :                                     }
   22751              :                                   }
   22752              :                               }
   22753              :                             break;
   22754              :                           }
   22755              :                         default:;
   22756              :                         }
   22757              :                     }
   22758              :                 }
   22759              :               break;
   22760              :             }
   22761              :           default:;
   22762              :           }
   22763              :         break;
   22764              :       }
   22765      1833413 :     case LT_EXPR:
   22766      1833413 :       {
   22767      1833413 :         tree _q20 = TREE_OPERAND (_p0, 0);
   22768      1833413 :         tree _q21 = TREE_OPERAND (_p0, 1);
   22769      1833413 :         switch (TREE_CODE (_q20))
   22770              :           {
   22771       102763 :           CASE_CONVERT:
   22772       102763 :             {
   22773       102763 :               tree _q30 = TREE_OPERAND (_q20, 0);
   22774       102763 :               if (zerop (_q21))
   22775              :                 {
   22776        20205 :                   switch (TREE_CODE (_p2))
   22777              :                     {
   22778            8 :                     case NEGATE_EXPR:
   22779            8 :                       {
   22780            8 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   22781            8 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   22782              :                           {
   22783            0 :                             {
   22784            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   22785            0 :                               const enum tree_code cmp = LT_EXPR;
   22786            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   22787            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   22788            0 :  && element_precision (captures[1])
   22789            0 :  <= element_precision (captures[0])
   22790            0 :  && bitwise_equal_p (captures[1], captures[2])
   22791            0 :  && (!VECTOR_TYPE_P (type)
   22792            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   22793            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   22794              : )
   22795              :                                 {
   22796            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   22797            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   22798            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   22799              : )
   22800              :                                     {
   22801            0 :                                       {
   22802            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   22803            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   22804            0 :                                           if (types_match (captures[0], stype)
   22805              : )
   22806              :                                             {
   22807            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1978;
   22808            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1978;
   22809            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1978;
   22810            0 :                                               {
   22811            0 :                                                 tree res_op0;
   22812            0 :                                                 {
   22813            0 :                                                   tree _o1[1], _r1;
   22814            0 :                                                   {
   22815            0 :                                                     tree _o2[1], _r2;
   22816            0 :                                                     _o2[0] = captures[0];
   22817            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   22818            0 :                                                     _o1[0] = _r2;
   22819              :                                                   }
   22820            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   22821            0 :                                                   res_op0 = _r1;
   22822              :                                                 }
   22823            0 :                                                 tree _r;
   22824            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   22825            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1115, __FILE__, __LINE__, true);
   22826              :                                                 return _r;
   22827              :                                               }
   22828      1833413 : next_after_fail1978:;
   22829              :                                             }
   22830              :                                           else
   22831              :                                             {
   22832            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1979;
   22833            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1979;
   22834            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1979;
   22835            0 :                                               {
   22836            0 :                                                 tree res_op0;
   22837            0 :                                                 {
   22838            0 :                                                   tree _o1[1], _r1;
   22839            0 :                                                   {
   22840            0 :                                                     tree _o2[1], _r2;
   22841            0 :                                                     {
   22842            0 :                                                       tree _o3[1], _r3;
   22843            0 :                                                       _o3[0] = captures[2];
   22844            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   22845              :                                                         {
   22846            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   22847              :                                                         }
   22848              :                                                       else
   22849              :                                                         _r3 = _o3[0];
   22850            0 :                                                       _o2[0] = _r3;
   22851              :                                                     }
   22852            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   22853            0 :                                                     _o1[0] = _r2;
   22854              :                                                   }
   22855            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   22856            0 :                                                   res_op0 = _r1;
   22857              :                                                 }
   22858            0 :                                                 tree _r;
   22859            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   22860            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1116, __FILE__, __LINE__, true);
   22861              :                                                 return _r;
   22862              :                                               }
   22863      1833413 : next_after_fail1979:;
   22864              :                                             }
   22865              :                                       }
   22866              :                                     }
   22867              :                                   else
   22868              :                                     {
   22869            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1980;
   22870            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1980;
   22871            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1980;
   22872            0 :                                       {
   22873            0 :                                         tree res_op0;
   22874            0 :                                         {
   22875            0 :                                           tree _o1[1], _r1;
   22876            0 :                                           {
   22877            0 :                                             tree _o2[1], _r2;
   22878            0 :                                             _o2[0] = captures[2];
   22879            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   22880            0 :                                             _o1[0] = _r2;
   22881              :                                           }
   22882            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   22883            0 :                                           res_op0 = _r1;
   22884              :                                         }
   22885            0 :                                         tree _r;
   22886            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   22887            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1117, __FILE__, __LINE__, true);
   22888              :                                         return _r;
   22889              :                                       }
   22890      1833413 : next_after_fail1980:;
   22891              :                                     }
   22892              :                                 }
   22893              :                             }
   22894              :                           }
   22895              :                         break;
   22896              :                       }
   22897              :                     default:;
   22898              :                     }
   22899              :                 }
   22900              :               break;
   22901              :             }
   22902      1833413 :           default:;
   22903              :           }
   22904      1833413 :         if (zerop (_q21))
   22905              :           {
   22906       388611 :             switch (TREE_CODE (_p2))
   22907              :               {
   22908           33 :               case NEGATE_EXPR:
   22909           33 :                 {
   22910           33 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   22911           33 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   22912              :                     {
   22913           25 :                       {
   22914           25 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   22915           25 :                         const enum tree_code cmp = LT_EXPR;
   22916           25 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   22917           25 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   22918           50 :  && element_precision (captures[1])
   22919           25 :  <= element_precision (captures[0])
   22920           25 :  && bitwise_equal_p (captures[1], captures[2])
   22921           50 :  && (!VECTOR_TYPE_P (type)
   22922            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   22923            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   22924              : )
   22925              :                           {
   22926           50 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   22927           25 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   22928           26 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   22929              : )
   22930              :                               {
   22931           24 :                                 {
   22932           24 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   22933           24 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   22934           24 :                                     if (types_match (captures[0], stype)
   22935              : )
   22936              :                                       {
   22937           24 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1981;
   22938           24 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1981;
   22939           24 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1981;
   22940           24 :                                         {
   22941           24 :                                           tree res_op0;
   22942           24 :                                           {
   22943           24 :                                             tree _o1[1], _r1;
   22944           24 :                                             {
   22945           24 :                                               tree _o2[1], _r2;
   22946           24 :                                               _o2[0] = captures[0];
   22947           24 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   22948           24 :                                               _o1[0] = _r2;
   22949              :                                             }
   22950           24 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   22951           24 :                                             res_op0 = _r1;
   22952              :                                           }
   22953           24 :                                           tree _r;
   22954           24 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   22955           24 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1115, __FILE__, __LINE__, true);
   22956              :                                           return _r;
   22957              :                                         }
   22958      1833388 : next_after_fail1981:;
   22959              :                                       }
   22960              :                                     else
   22961              :                                       {
   22962            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1982;
   22963            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1982;
   22964            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1982;
   22965            0 :                                         {
   22966            0 :                                           tree res_op0;
   22967            0 :                                           {
   22968            0 :                                             tree _o1[1], _r1;
   22969            0 :                                             {
   22970            0 :                                               tree _o2[1], _r2;
   22971            0 :                                               {
   22972            0 :                                                 tree _o3[1], _r3;
   22973            0 :                                                 _o3[0] = captures[2];
   22974            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   22975              :                                                   {
   22976            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   22977              :                                                   }
   22978              :                                                 else
   22979              :                                                   _r3 = _o3[0];
   22980            0 :                                                 _o2[0] = _r3;
   22981              :                                               }
   22982            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   22983            0 :                                               _o1[0] = _r2;
   22984              :                                             }
   22985            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   22986            0 :                                             res_op0 = _r1;
   22987              :                                           }
   22988            0 :                                           tree _r;
   22989            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   22990            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1116, __FILE__, __LINE__, true);
   22991              :                                           return _r;
   22992              :                                         }
   22993      1833388 : next_after_fail1982:;
   22994              :                                       }
   22995              :                                 }
   22996              :                               }
   22997              :                             else
   22998              :                               {
   22999            1 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1983;
   23000            1 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1983;
   23001            1 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1983;
   23002            1 :                                 {
   23003            1 :                                   tree res_op0;
   23004            1 :                                   {
   23005            1 :                                     tree _o1[1], _r1;
   23006            1 :                                     {
   23007            1 :                                       tree _o2[1], _r2;
   23008            1 :                                       _o2[0] = captures[2];
   23009            1 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   23010            1 :                                       _o1[0] = _r2;
   23011              :                                     }
   23012            1 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   23013            1 :                                     res_op0 = _r1;
   23014              :                                   }
   23015            1 :                                   tree _r;
   23016            1 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   23017            1 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1117, __FILE__, __LINE__, true);
   23018              :                                   return _r;
   23019              :                                 }
   23020      1833388 : next_after_fail1983:;
   23021              :                               }
   23022              :                           }
   23023              :                       }
   23024              :                     }
   23025              :                   break;
   23026              :                 }
   23027              :               default:;
   23028              :               }
   23029              :           }
   23030      1833388 :         switch (TREE_CODE (_q20))
   23031              :           {
   23032        11378 :           case MINUS_EXPR:
   23033        11378 :             {
   23034        11378 :               tree _q30 = TREE_OPERAND (_q20, 0);
   23035        11378 :               tree _q31 = TREE_OPERAND (_q20, 1);
   23036        11378 :               if (zerop (_q21))
   23037              :                 {
   23038         7438 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   23039              :                     {
   23040            0 :                       switch (TREE_CODE (_p2))
   23041              :                         {
   23042            0 :                         case MINUS_EXPR:
   23043            0 :                           {
   23044            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   23045            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   23046            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   23047              :                               {
   23048            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   23049              :                                   {
   23050            0 :                                     {
   23051            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   23052            0 :                                       const enum tree_code cmp = LT_EXPR;
   23053            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   23054            0 :  && !TYPE_UNSIGNED (type)
   23055              : )
   23056              :                                         {
   23057            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   23058            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   23059            0 :  && (!VECTOR_TYPE_P (type)
   23060            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   23061            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   23062              : )
   23063              :                                             {
   23064            0 :                                               {
   23065            0 :  tree utype = unsigned_type_for (type);
   23066            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1984;
   23067            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1984;
   23068            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1984;
   23069            0 :                                                   {
   23070            0 :                                                     tree res_op0;
   23071            0 :                                                     {
   23072            0 :                                                       tree _o1[1], _r1;
   23073            0 :                                                       {
   23074            0 :                                                         tree _o2[1], _r2;
   23075            0 :                                                         _o2[0] = captures[0];
   23076            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   23077            0 :                                                         _o1[0] = _r2;
   23078              :                                                       }
   23079            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   23080            0 :                                                       res_op0 = _r1;
   23081              :                                                     }
   23082            0 :                                                     tree _r;
   23083            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   23084            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1118, __FILE__, __LINE__, true);
   23085              :                                                     return _r;
   23086              :                                                   }
   23087      1833388 : next_after_fail1984:;
   23088              :                                               }
   23089              :                                             }
   23090              :                                           else
   23091              :                                             {
   23092            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1985;
   23093            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1985;
   23094            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1985;
   23095            0 :                                               {
   23096            0 :                                                 tree res_op0;
   23097            0 :                                                 {
   23098            0 :                                                   tree _o1[1], _r1;
   23099            0 :                                                   _o1[0] = captures[0];
   23100            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   23101            0 :                                                   res_op0 = _r1;
   23102              :                                                 }
   23103            0 :                                                 tree _r;
   23104            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   23105            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1119, __FILE__, __LINE__, true);
   23106              :                                                 return _r;
   23107              :                                               }
   23108      1833388 : next_after_fail1985:;
   23109              :                                             }
   23110              :                                         }
   23111              :                                     }
   23112              :                                   }
   23113              :                               }
   23114              :                             break;
   23115              :                           }
   23116              :                         default:;
   23117              :                         }
   23118              :                     }
   23119              :                 }
   23120              :               break;
   23121              :             }
   23122      1833388 :           default:;
   23123              :           }
   23124      1833388 :         if (integer_zerop (_q21))
   23125              :           {
   23126       331034 :             switch (TREE_CODE (_p1))
   23127              :               {
   23128           26 :               case BIT_NOT_EXPR:
   23129           26 :                 {
   23130           26 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   23131           26 :                   if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   23132              :                     {
   23133           13 :                       {
   23134           13 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   23135           13 :                         tree res = generic_simplify_396 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   23136           13 :                         if (res) return res;
   23137              :                       }
   23138              :                     }
   23139              :                   break;
   23140              :                 }
   23141       331021 :               default:;
   23142              :               }
   23143       331021 :             switch (TREE_CODE (_p2))
   23144              :               {
   23145            8 :               case BIT_NOT_EXPR:
   23146            8 :                 {
   23147            8 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   23148            8 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   23149              :                     {
   23150            8 :                       {
   23151            8 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   23152            8 :                         tree res = generic_simplify_397 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   23153            8 :                         if (res) return res;
   23154              :                       }
   23155              :                     }
   23156              :                   break;
   23157              :                 }
   23158       331013 :               default:;
   23159              :               }
   23160       331013 :             switch (TREE_CODE (_p1))
   23161              :               {
   23162       293687 :               case INTEGER_CST:
   23163       293687 :                 {
   23164       293687 :                   if (integer_zerop (_p2))
   23165              :                     {
   23166         9279 :                       {
   23167         9279 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   23168         9279 :                         if (integer_pow2p (captures[1])
   23169         9279 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   23170              : )
   23171              :                           {
   23172         9014 :                             {
   23173         9014 :  int shift = element_precision (captures[0]) - wi::exact_log2 (wi::to_wide (captures[1])) - 1;
   23174         9014 :                                 if (shift >= 0
   23175              : )
   23176              :                                   {
   23177         8999 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1986;
   23178         8999 :                                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1986;
   23179         8999 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1986;
   23180         8999 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1986;
   23181         8999 :                                     {
   23182         8999 :                                       tree res_op0;
   23183         8999 :                                       {
   23184         8999 :                                         tree _o1[1], _r1;
   23185         8999 :                                         {
   23186         8999 :                                           tree _o2[2], _r2;
   23187         8999 :                                           _o2[0] = captures[0];
   23188         8999 :                                           _o2[1] =  build_int_cst (integer_type_node, shift);
   23189         8999 :                                           _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   23190         8999 :                                           _o1[0] = _r2;
   23191              :                                         }
   23192         8999 :                                         if (TREE_TYPE (_o1[0]) != type)
   23193              :                                           {
   23194         8982 :                                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   23195              :                                           }
   23196              :                                         else
   23197              :                                           _r1 = _o1[0];
   23198         8999 :                                         res_op0 = _r1;
   23199              :                                       }
   23200         8999 :                                       tree res_op1;
   23201         8999 :                                       res_op1 = captures[1];
   23202         8999 :                                       tree _r;
   23203         8999 :                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   23204         8999 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1120, __FILE__, __LINE__, true);
   23205     13157089 :                                       return _r;
   23206              :                                     }
   23207     12165407 : next_after_fail1986:;
   23208              :                                   }
   23209              :                                 else
   23210              :                                   {
   23211           15 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1987;
   23212           15 :                                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1987;
   23213           15 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1987;
   23214           15 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1987;
   23215           15 :                                     {
   23216           15 :                                       tree res_op0;
   23217           15 :                                       {
   23218           15 :                                         tree _o1[1], _r1;
   23219           15 :                                         _o1[0] = captures[0];
   23220           15 :                                         if (TREE_TYPE (_o1[0]) != type)
   23221              :                                           {
   23222           15 :                                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   23223              :                                           }
   23224              :                                         else
   23225              :                                           _r1 = _o1[0];
   23226           15 :                                         res_op0 = _r1;
   23227              :                                       }
   23228           15 :                                       tree res_op1;
   23229           15 :                                       res_op1 = captures[1];
   23230           15 :                                       tree _r;
   23231           15 :                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   23232           15 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1121, __FILE__, __LINE__, true);
   23233              :                                       return _r;
   23234              :                                     }
   23235     12165407 : next_after_fail1987:;
   23236              :                                   }
   23237              :                             }
   23238              :                           }
   23239              :                       }
   23240              :                     }
   23241              :                   break;
   23242              :                 }
   23243              :               default:;
   23244              :               }
   23245              :           }
   23246              :         break;
   23247              :       }
   23248     12165407 :     default:;
   23249              :     }
   23250     12165407 : {
   23251     12165407 :   tree _p0_pops[1];
   23252     12165407 :   if (tree_logical_inverted_value (_p0, _p0_pops))
   23253              :     {
   23254       487550 :       tree _q20 = _p0_pops[0];
   23255       487550 :       if (tree_truth_valued_p (_q20))
   23256              :         {
   23257         4479 :           {
   23258         4479 :             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   23259         8958 :             if (COND_EXPR == VEC_COND_EXPR
   23260         4479 :  || TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   23261              : )
   23262              :               {
   23263         3165 :                 if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1988;
   23264           46 :                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1988;
   23265           37 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1988;
   23266           37 :                 {
   23267           37 :                   tree res_op0;
   23268           37 :                   res_op0 = captures[0];
   23269           37 :                   tree res_op1;
   23270           37 :                   res_op1 = captures[2];
   23271           37 :                   tree res_op2;
   23272           37 :                   res_op2 = captures[1];
   23273           37 :                   tree _r;
   23274           37 :                   _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   23275           37 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1122, __FILE__, __LINE__, true);
   23276           37 :                   return _r;
   23277              :                 }
   23278     12165370 : next_after_fail1988:;
   23279              :               }
   23280              :           }
   23281              :         }
   23282              :     }
   23283              : }
   23284     12165370 :   return NULL_TREE;
   23285              : }
   23286              : #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.