LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-6.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 39.0 % 11339 4423
Test Date: 2026-02-28 14:20:25 Functions: 59.5 % 74 44
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    197949674 : tree_maybe_bit_not (tree t, tree *res_ops)
      11              : {
      12    197949674 :   const tree type = TREE_TYPE (t);
      13    197949674 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14    197949674 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15    188741657 :   switch (TREE_CODE (t))
      16              :     {
      17     62628836 :     case INTEGER_CST:
      18     62628836 :       {
      19     62628836 :         {
      20     62628836 :           tree captures[1] ATTRIBUTE_UNUSED = { t };
      21     62628836 :           {
      22     62628836 :             res_ops[0] = captures[0];
      23     62628836 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 8, __FILE__, __LINE__, false);
      24              :             return true;
      25              :           }
      26              :         }
      27    126112821 :         break;
      28              :       }
      29    126112821 :     default:;
      30              :     }
      31    126112821 : {
      32    126112821 :   tree t_pops[1];
      33    126112821 :   if (tree_bit_not_with_nop (t, t_pops))
      34              :     {
      35       145146 :       tree _p0 = t_pops[0];
      36       145146 :       {
      37       145146 :         tree captures[2] ATTRIBUTE_UNUSED = { t, _p0 };
      38       145146 :         {
      39       145146 :           res_ops[0] = captures[0];
      40       145146 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 9, __FILE__, __LINE__, false);
      41       145146 :           return true;
      42              :         }
      43              :       }
      44              :     }
      45              : }
      46    125967675 : {
      47    125967675 :   tree t_pops[1];
      48    125967675 :   if (tree_maybe_cmp (t, t_pops))
      49              :     {
      50       531459 :       tree _p0 = t_pops[0];
      51       531459 :       {
      52       531459 :         tree captures[2] ATTRIBUTE_UNUSED = { t, _p0 };
      53       531459 :         {
      54       531459 :           res_ops[0] = captures[0];
      55       531459 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 10, __FILE__, __LINE__, false);
      56       531459 :           return true;
      57              :         }
      58              :       }
      59              :     }
      60              : }
      61    125436216 : {
      62    125436216 :   tree t_pops[2];
      63    125436216 :   if (tree_bit_xor_cst (t, t_pops))
      64              :     {
      65         1601 :       tree _p0 = t_pops[0];
      66         1601 :       tree _p1 = t_pops[1];
      67         1601 :       {
      68         1601 :         tree captures[3] ATTRIBUTE_UNUSED = { t, _p0, _p1 };
      69         1601 :         {
      70         1601 :           res_ops[0] = captures[0];
      71         1601 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 11, __FILE__, __LINE__, false);
      72         1601 :           return true;
      73              :         }
      74              :       }
      75              :     }
      76              : }
      77    125434615 :   return false;
      78              : }
      79              : 
      80              : bool
      81         2395 : tree_min_value (tree t)
      82              : {
      83         2395 :   const tree type = TREE_TYPE (t);
      84         2395 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      85         2395 :   if (TREE_SIDE_EFFECTS (t)) return false;
      86         2387 :   if (uniform_integer_cst_p (t))
      87              :     {
      88         2129 :       {
      89         2129 :         {
      90         2129 :  tree int_cst = uniform_integer_cst_p (t);
      91         2129 :  tree inner_type = TREE_TYPE (int_cst);
      92         4258 :             if ((INTEGRAL_TYPE_P (inner_type)
      93           17 :  || POINTER_TYPE_P (inner_type))
      94         4275 :  && wi::eq_p (wi::to_wide (int_cst), wi::min_value (inner_type))
      95              : )
      96              :               {
      97          138 :                 {
      98          138 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 41, __FILE__, __LINE__, false);
      99          138 :                   return true;
     100              :                 }
     101              :               }
     102              :         }
     103              :       }
     104              :     }
     105              :   return false;
     106              : }
     107              : 
     108              : tree
     109            3 : generic_simplify_1 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     110              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
     111              :  const enum tree_code ARG_UNUSED (op))
     112              : {
     113            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     114            3 :   if (!flag_trapping_math
     115              : )
     116              :     {
     117            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail72;
     118            2 :       {
     119            2 :         tree res_op0;
     120            2 :         res_op0 = captures[0];
     121            2 :         tree _r;
     122            2 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     123            2 :         if (TREE_SIDE_EFFECTS (captures[1]))
     124            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     125            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 49, __FILE__, __LINE__, true);
     126            2 :         return _r;
     127              :       }
     128            0 : next_after_fail72:;
     129              :     }
     130              :   return NULL_TREE;
     131              : }
     132              : 
     133              : tree
     134           45 : generic_simplify_8 (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           45 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     138           45 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail80;
     139           45 :   {
     140           45 :     if (! tree_invariant_p (captures[2])) goto next_after_fail80;
     141           45 :     tree res_op0;
     142           45 :     {
     143           45 :       tree _o1[2], _r1;
     144           45 :       _o1[0] = captures[0];
     145           45 :       _o1[1] = unshare_expr (captures[2]);
     146           45 :       _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     147           45 :       res_op0 = _r1;
     148              :     }
     149           45 :     tree res_op1;
     150           45 :     {
     151           45 :       tree _o1[1], _r1;
     152           45 :       _o1[0] = captures[2];
     153           45 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     154           45 :       res_op1 = _r1;
     155              :     }
     156           45 :     tree _r;
     157           45 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
     158           45 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 57, __FILE__, __LINE__, true);
     159              :     return _r;
     160              :   }
     161              : next_after_fail80:;
     162              :   return NULL_TREE;
     163              : }
     164              : 
     165              : tree
     166       242477 : generic_simplify_18 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     167              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     168              :  const enum tree_code ARG_UNUSED (outer_op))
     169              : {
     170       242477 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     171       242477 :   if (!TYPE_SATURATING (type)
     172              : )
     173              :     {
     174       242477 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     175       484947 :  && !FIXED_POINT_TYPE_P (type)
     176              : )
     177              :         {
     178       242470 :           if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
     179              : )
     180              :             {
     181       229234 :               if (!CONSTANT_CLASS_P (captures[1])
     182              : )
     183              :                 {
     184       229234 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail96;
     185       229234 :                   {
     186       229234 :                     tree res_op0;
     187       229234 :                     {
     188       229234 :                       tree _o1[2], _r1;
     189       229234 :                       {
     190       229234 :                         tree _o2[1], _r2;
     191       229234 :                         _o2[0] = captures[0];
     192       229234 :                         if (TREE_TYPE (_o2[0]) != type)
     193              :                           {
     194         3549 :                             _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
     195              :                           }
     196              :                         else
     197              :                           _r2 = _o2[0];
     198       229234 :                         _o1[0] = _r2;
     199              :                       }
     200       229234 :                       _o1[1] = captures[2];
     201       229234 :                       _r1 = fold_build2_loc (loc, outer_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     202       229234 :                       if (EXPR_P (_r1))
     203            0 :                         goto next_after_fail96;
     204       229234 :                       res_op0 = _r1;
     205              :                     }
     206       229234 :                     tree res_op1;
     207       229234 :                     {
     208       229234 :                       tree _o1[1], _r1;
     209       229234 :                       _o1[0] = captures[1];
     210       229234 :                       if (TREE_TYPE (_o1[0]) != type)
     211              :                         {
     212         3568 :                           _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     213              :                         }
     214              :                       else
     215              :                         _r1 = _o1[0];
     216       229234 :                       res_op1 = _r1;
     217              :                     }
     218       229234 :                     tree _r;
     219       229234 :                     _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     220       229234 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 73, __FILE__, __LINE__, true);
     221       229234 :                     return _r;
     222              :                   }
     223              : next_after_fail96:;
     224              :                 }
     225              :             }
     226              :           else
     227              :             {
     228        26472 :               if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     229        26472 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
     230              : )
     231              :                 {
     232         2321 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail97;
     233         2321 :                   {
     234         2321 :                     tree res_op0;
     235         2321 :                     {
     236         2321 :                       tree _o1[2], _r1;
     237         2321 :                       {
     238         2321 :                         tree _o2[2], _r2;
     239         2321 :                         _o2[0] = captures[0];
     240         2321 :                         {
     241         2321 :                           tree _o3[1], _r3;
     242         2321 :                           _o3[0] = captures[2];
     243         2321 :                           if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     244              :                             {
     245         2321 :                               _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     246              :                             }
     247              :                           else
     248              :                             _r3 = _o3[0];
     249         2321 :                           _o2[1] = _r3;
     250              :                         }
     251         2321 :                         _r2 = fold_build2_loc (loc, outer_op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     252         2321 :                         if (EXPR_P (_r2))
     253            0 :                           goto next_after_fail97;
     254         2321 :                         _o1[0] = _r2;
     255              :                       }
     256         2321 :                       _o1[1] = captures[1];
     257         2321 :                       _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     258         2321 :                       res_op0 = _r1;
     259              :                     }
     260         2321 :                     tree _r;
     261         2321 :                     _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     262         2321 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 74, __FILE__, __LINE__, true);
     263         2321 :                     return _r;
     264              :                   }
     265              : next_after_fail97:;
     266              :                 }
     267              :               else
     268              :                 {
     269        10915 :                   if (types_match (type, captures[1]) && !TYPE_OVERFLOW_SANITIZED (type)
     270              : )
     271              :                     {
     272        10887 :                       {
     273        10887 :  tree cst = const_binop (outer_op, type, captures[0], captures[2]);
     274        10887 :                           if (cst && !TREE_OVERFLOW (cst)
     275              : )
     276              :                             {
     277        10880 :                               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail98;
     278        10880 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail98;
     279        10880 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail98;
     280        10880 :                               {
     281        10880 :                                 tree res_op0;
     282        10880 :                                 res_op0 =  cst;
     283        10880 :                                 tree res_op1;
     284        10880 :                                 res_op1 = captures[1];
     285        10880 :                                 tree _r;
     286        10880 :                                 _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     287        10880 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 75, __FILE__, __LINE__, true);
     288        10880 :                                 return _r;
     289              :                               }
     290              : next_after_fail98:;
     291              :                             }
     292              :                       }
     293              :                     }
     294              :                 }
     295              :             }
     296              :         }
     297              :     }
     298              :   return NULL_TREE;
     299              : }
     300              : 
     301              : tree
     302            1 : generic_simplify_41 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     303              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     304              : {
     305            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     306            1 :   if (INTEGRAL_TYPE_P (type)
     307              : )
     308              :     {
     309            1 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail123;
     310            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail123;
     311            1 :       {
     312            1 :         tree res_op0;
     313            1 :         res_op0 = unshare_expr (captures[1]);
     314            1 :         tree res_op1;
     315            1 :         {
     316            1 :           tree _o1[2], _r1;
     317            1 :           _o1[0] = captures[4];
     318            1 :           _o1[1] = captures[1];
     319            1 :           _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     320            1 :           res_op1 = _r1;
     321              :         }
     322            1 :         tree _r;
     323            1 :         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     324            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 100, __FILE__, __LINE__, true);
     325            1 :         return _r;
     326              :       }
     327              : next_after_fail123:;
     328              :     }
     329              :   return NULL_TREE;
     330              : }
     331              : 
     332              : tree
     333          272 : generic_simplify_48 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     334              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     335              : {
     336          272 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     337          272 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     338          272 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     339              : )
     340              :     {
     341          272 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail130;
     342          272 :       {
     343          272 :         tree res_op0;
     344          272 :         {
     345          272 :           tree _o1[2], _r1;
     346          272 :           {
     347          272 :             tree _o2[1], _r2;
     348          272 :             _o2[0] = captures[3];
     349          272 :             _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
     350          272 :             _o1[0] = _r2;
     351              :           }
     352          272 :           _o1[1] = captures[0];
     353          272 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     354          272 :           res_op0 = _r1;
     355              :         }
     356          272 :         tree _r;
     357          272 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     358          272 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 106, __FILE__, __LINE__, true);
     359          272 :         return _r;
     360              :       }
     361            0 : next_after_fail130:;
     362              :     }
     363              :   return NULL_TREE;
     364              : }
     365              : 
     366              : tree
     367           41 : generic_simplify_56 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     368              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     369              : {
     370           41 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     371           41 :   if (!TYPE_SATURATING (type)
     372              : )
     373              :     {
     374           41 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     375           82 :  && !FIXED_POINT_TYPE_P (type)
     376              : )
     377              :         {
     378           82 :           if (!TYPE_OVERFLOW_TRAPS (type)
     379           41 :  && TREE_CODE (type) != COMPLEX_TYPE
     380           81 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     381              : )
     382              :             {
     383           40 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail142;
     384           40 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail142;
     385           40 :               {
     386           40 :                 tree res_op0;
     387           40 :                 {
     388           40 :                   tree _o1[1], _r1;
     389           40 :                   _o1[0] = captures[0];
     390           40 :                   if (TREE_TYPE (_o1[0]) != type)
     391              :                     {
     392            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     393              :                     }
     394              :                   else
     395              :                     _r1 = _o1[0];
     396           40 :                   res_op0 = _r1;
     397              :                 }
     398           40 :                 tree _r;
     399           40 :                 _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     400           40 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 118, __FILE__, __LINE__, true);
     401           40 :                 return _r;
     402              :               }
     403              : next_after_fail142:;
     404              :             }
     405              :         }
     406              :     }
     407              :   return NULL_TREE;
     408              : }
     409              : 
     410              : tree
     411            0 : generic_simplify_64 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     412              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     413              : {
     414            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     415            0 :   if (TREE_CODE (captures[1]) == SSA_NAME && num_imm_uses (captures[1]) == 2
     416              : )
     417              :     {
     418            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail152;
     419            0 :       {
     420            0 :         if (! tree_invariant_p (captures[2])) goto next_after_fail152;
     421            0 :         tree res_op0;
     422            0 :         {
     423            0 :           tree _o1[2], _r1;
     424            0 :           {
     425            0 :             tree _o2[3], _r2;
     426            0 :             _o2[0] = unshare_expr (captures[2]);
     427            0 :             _o2[1] = captures[2];
     428            0 :             _o2[2] = captures[4];
     429            0 :             _r2 = fold_build3_loc (loc, VEC_PERM_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1], _o2[2]);
     430            0 :             _o1[0] = _r2;
     431              :           }
     432            0 :           _o1[1] = captures[3];
     433            0 :           _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     434            0 :           res_op0 = _r1;
     435              :         }
     436            0 :         tree res_op1;
     437            0 :         res_op1 = captures[5];
     438            0 :         tree _r;
     439            0 :         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     440            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 128, __FILE__, __LINE__, true);
     441            0 :         return _r;
     442              :       }
     443              : next_after_fail152:;
     444              :     }
     445              :   return NULL_TREE;
     446              : }
     447              : 
     448              : tree
     449        19629 : generic_simplify_71 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     450              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     451              : {
     452        19629 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     453        19629 :   {
     454        19629 :  bool wascmp;
     455        19629 :       if (bitwise_inverted_equal_p (captures[0], captures[2], wascmp)
     456        19629 :  && (!wascmp || element_precision (type) == 1)
     457              : )
     458              :         {
     459            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail159;
     460            1 :           {
     461            1 :             tree res_op0;
     462            1 :             res_op0 = captures[0];
     463            1 :             tree res_op1;
     464            1 :             {
     465            1 :               tree _o1[1], _r1;
     466            1 :               _o1[0] = captures[3];
     467            1 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     468            1 :               res_op1 = _r1;
     469              :             }
     470            1 :             tree _r;
     471            1 :             _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     472            1 :             if (TREE_SIDE_EFFECTS (captures[2]))
     473            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     474            1 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 135, __FILE__, __LINE__, true);
     475            1 :             return _r;
     476              :           }
     477            0 : next_after_fail159:;
     478              :         }
     479              :   }
     480        19628 :   return NULL_TREE;
     481              : }
     482              : 
     483              : tree
     484            0 : generic_simplify_81 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     485              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     486              :  const enum tree_code ARG_UNUSED (op))
     487              : {
     488            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     489            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail173;
     490            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail173;
     491            0 :   {
     492            0 :     tree _r;
     493            0 :     _r = captures[0];
     494            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 142, __FILE__, __LINE__, true);
     495              :     return _r;
     496              :   }
     497              : next_after_fail173:;
     498              :   return NULL_TREE;
     499              : }
     500              : 
     501              : tree
     502           15 : generic_simplify_90 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     503              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     504              :  const enum tree_code ARG_UNUSED (bitop))
     505              : {
     506           15 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     507           15 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail182;
     508           15 :   {
     509           15 :     tree res_op0;
     510           15 :     res_op0 = captures[0];
     511           15 :     tree res_op1;
     512           15 :     {
     513           15 :       tree _o1[1], _r1;
     514           15 :       _o1[0] = captures[2];
     515           15 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     516           15 :       res_op1 = _r1;
     517              :     }
     518           15 :     tree _r;
     519           15 :     _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     520           15 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 149, __FILE__, __LINE__, true);
     521              :     return _r;
     522              :   }
     523            0 : next_after_fail182:;
     524            0 :   return NULL_TREE;
     525              : }
     526              : 
     527              : tree
     528            0 : generic_simplify_100 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     529              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     530              :  const enum tree_code ARG_UNUSED (op))
     531              : {
     532            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     533            0 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     534            0 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
     535              : )
     536              :     {
     537            0 :       if (single_use (captures[4]) && single_use (captures[5])
     538              : )
     539              :         {
     540            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail193;
     541            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail193;
     542            0 :           {
     543            0 :             tree res_op0;
     544            0 :             res_op0 = captures[0];
     545            0 :             tree res_op1;
     546            0 :             {
     547            0 :               tree _o1[1], _r1;
     548            0 :               _o1[0] = captures[6];
     549            0 :               if (TREE_TYPE (_o1[0]) != type)
     550              :                 {
     551            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     552              :                 }
     553              :               else
     554              :                 _r1 = _o1[0];
     555            0 :               res_op1 = _r1;
     556              :             }
     557            0 :             tree _r;
     558            0 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     559            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 156, __FILE__, __LINE__, true);
     560            0 :             return _r;
     561              :           }
     562              : next_after_fail193:;
     563              :         }
     564              :       else
     565              :         {
     566              :           if (single_use (captures[0]) && single_use (captures[1])
     567              : )
     568              :             {
     569              :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail194;
     570              :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail194;
     571              :               {
     572              :                 tree res_op0;
     573              :                 {
     574              :                   tree _o1[1], _r1;
     575              :                   _o1[0] = captures[3];
     576              :                   if (TREE_TYPE (_o1[0]) != type)
     577              :                     {
     578              :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     579              :                     }
     580              :                   else
     581              :                     _r1 = _o1[0];
     582              :                   res_op0 = _r1;
     583              :                 }
     584              :                 tree res_op1;
     585              :                 res_op1 = captures[4];
     586              :                 tree _r;
     587              :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     588              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 157, __FILE__, __LINE__, true);
     589              :                 return _r;
     590              :               }
     591              : next_after_fail194:;
     592              :             }
     593              :         }
     594              :     }
     595              :   return NULL_TREE;
     596              : }
     597              : 
     598              : tree
     599            0 : generic_simplify_114 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     600              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     601              :  const enum tree_code ARG_UNUSED (op))
     602              : {
     603            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     604            0 :   if (bitwise_equal_p (captures[4], captures[7])
     605              : )
     606              :     {
     607            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail211;
     608            0 :       {
     609            0 :         tree res_op0;
     610            0 :         {
     611            0 :           tree _o1[2], _r1;
     612            0 :           {
     613            0 :             tree _o2[2], _r2;
     614            0 :             _o2[0] = captures[5];
     615            0 :             {
     616            0 :               tree _o3[1], _r3;
     617            0 :               _o3[0] = captures[6];
     618            0 :               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     619              :                 {
     620            0 :                   _r3 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     621              :                 }
     622              :               else
     623              :                 _r3 = _o3[0];
     624            0 :               _o2[1] = _r3;
     625              :             }
     626            0 :             _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     627            0 :             _o1[0] = _r2;
     628              :           }
     629            0 :           {
     630            0 :             tree _o2[1], _r2;
     631            0 :             _o2[0] = captures[4];
     632            0 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     633              :               {
     634            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     635              :               }
     636              :             else
     637              :               _r2 = _o2[0];
     638            0 :             _o1[1] = _r2;
     639              :           }
     640            0 :           _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     641            0 :           res_op0 = _r1;
     642              :         }
     643            0 :         tree _r;
     644            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     645            0 :         if (TREE_SIDE_EFFECTS (captures[7]))
     646            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[7]), _r);
     647            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 163, __FILE__, __LINE__, true);
     648            0 :         return _r;
     649              :       }
     650            0 : next_after_fail211:;
     651              :     }
     652              :   return NULL_TREE;
     653              : }
     654              : 
     655              : tree
     656            4 : generic_simplify_125 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     657              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     658              : {
     659            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     660            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail228;
     661            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail228;
     662            4 :   {
     663            4 :     tree _r;
     664            4 :     _r = captures[2];
     665            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
     666            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     667            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 181, __FILE__, __LINE__, true);
     668              :     return _r;
     669              :   }
     670              : next_after_fail228:;
     671              :   return NULL_TREE;
     672              : }
     673              : 
     674              : tree
     675            0 : generic_simplify_131 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     676              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     677              :  const enum tree_code ARG_UNUSED (cmp))
     678              : {
     679            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     680            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail252;
     681            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail252;
     682            0 :   {
     683            0 :     tree res_op0;
     684            0 :     {
     685            0 :       tree _o1[2], _r1;
     686            0 :       _o1[0] =  build_zero_cst (TREE_TYPE (captures[0]));
     687            0 :       _o1[1] = captures[3];
     688            0 :       _r1 = fold_build2_loc (loc, cmp, type, _o1[0], _o1[1]);
     689            0 :       res_op0 = _r1;
     690              :     }
     691            0 :     tree res_op1;
     692            0 :     res_op1 = captures[4];
     693            0 :     tree _r;
     694            0 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     695            0 :     if (TREE_SIDE_EFFECTS (captures[2]))
     696            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     697            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 198, __FILE__, __LINE__, true);
     698              :     return _r;
     699              :   }
     700              : next_after_fail252:;
     701              :   return NULL_TREE;
     702              : }
     703              : 
     704              : tree
     705          417 : generic_simplify_138 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     706              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     707              :  const enum tree_code ARG_UNUSED (code2),
     708              :  const enum tree_code ARG_UNUSED (code1))
     709              : {
     710          417 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     711          417 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
     712          393 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     713          417 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     714            1 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     715            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
     716           24 :  && bitwise_equal_p (captures[2], captures[5]))
     717              : )
     718              :     {
     719          393 :       {
     720          393 :  bool one_before = false;
     721          393 :  bool one_after = false;
     722          393 :  int cmp = 0;
     723          393 :  bool allbits = true;
     724          393 :  if (TREE_CODE (captures[2]) == INTEGER_CST
     725          393 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     726              :  {
     727          393 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
     728          393 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
     729          393 :  auto t2 = wi::to_wide (captures[5]);
     730          393 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
     731          393 :  if (cmp < 0
     732          393 :  && t1 == t2 - 1)
     733              :  one_before = true;
     734          393 :  if (cmp > 0
     735          393 :  && t1 == t2 + 1)
     736              :  one_after = true;
     737              :  }
     738          393 :  bool val;
     739          393 :  switch (code2)
     740              :  {
     741          384 :  case EQ_EXPR: val = (cmp == 0); break;
     742            0 :  case NE_EXPR: val = (cmp != 0); break;
     743            0 :  case LT_EXPR: val = (cmp < 0); break;
     744            9 :  case GT_EXPR: val = (cmp > 0); break;
     745            0 :  case LE_EXPR: val = (cmp <= 0); break;
     746            0 :  case GE_EXPR: val = (cmp >= 0); break;
     747            0 :  default: gcc_unreachable ();
     748              :  }
     749          393 :           if (code1 == EQ_EXPR && val
     750              : )
     751              :             {
     752            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail266;
     753            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail266;
     754            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail266;
     755            0 :               {
     756            0 :                 tree _r;
     757            0 :                 _r = captures[3];
     758            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 184, __FILE__, __LINE__, true);
     759            0 :                 return _r;
     760              :               }
     761              : next_after_fail266:;
     762              :             }
     763              :           else
     764              :             {
     765          393 :               if (code1 == NE_EXPR && val && allbits
     766              : )
     767              :                 {
     768            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail267;
     769            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail267;
     770            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail267;
     771            0 :                   {
     772            0 :                     tree _r;
     773            0 :                     _r =  constant_boolean_node (true, type);
     774            0 :                     if (TREE_SIDE_EFFECTS (captures[4]))
     775            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
     776            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 185, __FILE__, __LINE__, true);
     777            0 :                     return _r;
     778              :                   }
     779              : next_after_fail267:;
     780              :                 }
     781              :               else
     782              :                 {
     783          393 :                   if (code1 == NE_EXPR && !val && allbits
     784              : )
     785              :                     {
     786            0 :                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail268;
     787            0 :                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail268;
     788            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail268;
     789            0 :                       {
     790            0 :                         tree _r;
     791            0 :                         _r = captures[0];
     792            0 :                         if (TREE_SIDE_EFFECTS (captures[4]))
     793            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
     794            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 186, __FILE__, __LINE__, true);
     795            0 :                         return _r;
     796              :                       }
     797              : next_after_fail268:;
     798              :                     }
     799              :                   else
     800              :                     {
     801          393 :                       if (code1 == EQ_EXPR
     802          393 :  && code2 == GT_EXPR
     803            9 :  && cmp == 0
     804            9 :  && allbits
     805          393 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     806            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     807            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     808              : )
     809              :                         {
     810            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail269;
     811            0 :                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail269;
     812            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail269;
     813            0 :                           {
     814            0 :                             tree res_op0;
     815            0 :                             res_op0 = captures[4];
     816            0 :                             tree res_op1;
     817            0 :                             res_op1 = captures[5];
     818            0 :                             tree _r;
     819            0 :                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     820            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 187, __FILE__, __LINE__, true);
     821            0 :                             return _r;
     822              :                           }
     823              : next_after_fail269:;
     824              :                         }
     825              :                       else
     826              :                         {
     827          393 :                           if (code1 == EQ_EXPR
     828          393 :  && code2 == LT_EXPR
     829            0 :  && cmp == 0
     830            0 :  && allbits
     831          393 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     832            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     833            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     834              : )
     835              :                             {
     836            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail270;
     837            0 :                               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail270;
     838            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail270;
     839            0 :                               {
     840            0 :                                 tree res_op0;
     841            0 :                                 res_op0 = captures[4];
     842            0 :                                 tree res_op1;
     843            0 :                                 res_op1 = captures[5];
     844            0 :                                 tree _r;
     845            0 :                                 _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     846            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 188, __FILE__, __LINE__, true);
     847            0 :                                 return _r;
     848              :                               }
     849              : next_after_fail270:;
     850              :                             }
     851              :                           else
     852              :                             {
     853          393 :                               if (code1 == EQ_EXPR
     854          393 :  && code2 == GE_EXPR
     855              :  && one_before
     856            0 :  && allbits
     857          393 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     858            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     859            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     860              : )
     861              :                                 {
     862            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail271;
     863            0 :                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail271;
     864            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail271;
     865            0 :                                   {
     866            0 :                                     tree res_op0;
     867            0 :                                     res_op0 = captures[4];
     868            0 :                                     tree res_op1;
     869            0 :                                     {
     870            0 :                                       tree _o1[1], _r1;
     871            0 :                                       _o1[0] = captures[2];
     872            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     873              :                                         {
     874            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     875              :                                         }
     876              :                                       else
     877              :                                         _r1 = _o1[0];
     878            0 :                                       res_op1 = _r1;
     879              :                                     }
     880            0 :                                     tree _r;
     881            0 :                                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     882            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 189, __FILE__, __LINE__, true);
     883            0 :                                     return _r;
     884              :                                   }
     885              : next_after_fail271:;
     886              :                                 }
     887              :                               else
     888              :                                 {
     889          393 :                                   if (code1 == EQ_EXPR
     890          393 :  && code2 == LE_EXPR
     891              :  && one_after
     892            0 :  && allbits
     893          393 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     894            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     895            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     896              : )
     897              :                                     {
     898            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail272;
     899            0 :                                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail272;
     900            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail272;
     901            0 :                                       {
     902            0 :                                         tree res_op0;
     903            0 :                                         res_op0 = captures[4];
     904            0 :                                         tree res_op1;
     905            0 :                                         {
     906            0 :                                           tree _o1[1], _r1;
     907            0 :                                           _o1[0] = captures[2];
     908            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     909              :                                             {
     910            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     911              :                                             }
     912              :                                           else
     913              :                                             _r1 = _o1[0];
     914            0 :                                           res_op1 = _r1;
     915              :                                         }
     916            0 :                                         tree _r;
     917            0 :                                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     918            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 190, __FILE__, __LINE__, true);
     919            0 :                                         return _r;
     920              :                                       }
     921              : next_after_fail272:;
     922              :                                     }
     923              :                                 }
     924              :                             }
     925              :                         }
     926              :                     }
     927              :                 }
     928              :             }
     929              :       }
     930              :     }
     931              :   return NULL_TREE;
     932              : }
     933              : 
     934              : tree
     935            0 : generic_simplify_181 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     936              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     937              :  const combined_fn ARG_UNUSED (copysigns))
     938              : {
     939            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     940            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail318;
     941            0 :   {
     942            0 :     if (! tree_invariant_p (captures[1])) goto next_after_fail318;
     943            0 :     tree res_op0;
     944            0 :     res_op0 = unshare_expr (captures[1]);
     945            0 :     tree res_op1;
     946            0 :     res_op1 = captures[1];
     947            0 :     tree _r;
     948            0 :     _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     949            0 :     if (TREE_SIDE_EFFECTS (captures[2]))
     950            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     951            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 237, __FILE__, __LINE__, true);
     952              :     return _r;
     953              :   }
     954              : next_after_fail318:;
     955              :   return NULL_TREE;
     956              : }
     957              : 
     958              : tree
     959       171684 : generic_simplify_192 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     960              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     961              : {
     962       171684 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     963       171684 :   {
     964       171684 :  poly_widest_int factor;
     965       171684 :       if (multiple_p (wi::to_poly_widest (captures[2]), wi::to_widest (captures[1]), &factor)
     966              : )
     967              :         {
     968        51292 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail331;
     969        51292 :           {
     970        51292 :             tree res_op0;
     971        51292 :             {
     972        51292 :               tree _o1[1], _r1;
     973        51292 :               _o1[0] = captures[0];
     974        51292 :               if (TREE_TYPE (_o1[0]) != type)
     975              :                 {
     976         9710 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     977              :                 }
     978              :               else
     979              :                 _r1 = _o1[0];
     980        51292 :               res_op0 = _r1;
     981              :             }
     982        51292 :             tree res_op1;
     983        51292 :             res_op1 =  wide_int_to_tree (type, factor);
     984        51292 :             tree _r;
     985        51292 :             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     986        51292 :             if (TREE_SIDE_EFFECTS (captures[1]))
     987            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     988        51292 :             if (TREE_SIDE_EFFECTS (captures[2]))
     989            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     990        51292 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 246, __FILE__, __LINE__, true);
     991        51292 :             return _r;
     992              :           }
     993            0 : next_after_fail331:;
     994              :         }
     995       171684 :   }
     996       120392 :   return NULL_TREE;
     997              : }
     998              : 
     999              : tree
    1000          171 : generic_simplify_202 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1001              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1002              :  const enum tree_code ARG_UNUSED (cmp))
    1003              : {
    1004          171 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1005          342 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1006          338 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE(captures[0]))
    1007              : )
    1008              :     {
    1009            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail342;
    1010            3 :       {
    1011            3 :         tree res_op0;
    1012            3 :         res_op0 = captures[0];
    1013            3 :         tree res_op1;
    1014            3 :         res_op1 =  build_zero_cst (TREE_TYPE(captures[0]));
    1015            3 :         tree _r;
    1016            3 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1017            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 257, __FILE__, __LINE__, true);
    1018            3 :         return _r;
    1019              :       }
    1020            0 : next_after_fail342:;
    1021              :     }
    1022              :   return NULL_TREE;
    1023              : }
    1024              : 
    1025              : tree
    1026            0 : generic_simplify_210 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1027              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1028              :  const enum tree_code ARG_UNUSED (neeq))
    1029              : {
    1030            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1031            0 :   if (TREE_CODE (TREE_TYPE (captures[0])) == BOOLEAN_TYPE
    1032            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
    1033            0 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1034              : )
    1035              :     {
    1036            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail353;
    1037            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail353;
    1038            0 :       {
    1039            0 :         tree res_op0;
    1040            0 :         res_op0 = captures[1];
    1041            0 :         tree res_op1;
    1042            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1043            0 :         tree _r;
    1044            0 :         _r = fold_build2_loc (loc, neeq, type, res_op0, res_op1);
    1045            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 267, __FILE__, __LINE__, true);
    1046            0 :         return _r;
    1047              :       }
    1048              : next_after_fail353:;
    1049              :     }
    1050              :   return NULL_TREE;
    1051              : }
    1052              : 
    1053              : tree
    1054        26100 : generic_simplify_217 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1055              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1056              :  const enum tree_code ARG_UNUSED (op))
    1057              : {
    1058        26100 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1059        52200 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1060        52086 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    1061        23555 :  || ((op == EQ_EXPR || op == NE_EXPR)
    1062         1762 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))))
    1063        52143 :  && (CONSTANT_CLASS_P (captures[2]) || single_use (captures[1]))
    1064              : )
    1065              :     {
    1066         4250 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail373;
    1067         4250 :       {
    1068         4250 :         tree res_op0;
    1069         4250 :         res_op0 = captures[2];
    1070         4250 :         tree res_op1;
    1071         4250 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[2]));
    1072         4250 :         tree _r;
    1073         4250 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1074         4250 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1075            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1076         4250 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 287, __FILE__, __LINE__, true);
    1077         4250 :         return _r;
    1078              :       }
    1079            0 : next_after_fail373:;
    1080              :     }
    1081              :   return NULL_TREE;
    1082              : }
    1083              : 
    1084              : tree
    1085            0 : generic_simplify_226 (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 (cmp1),
    1088              :  const enum tree_code ARG_UNUSED (cmp2),
    1089              :  const enum tree_code ARG_UNUSED (rcmp))
    1090              : {
    1091            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1092            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1093            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    1094            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[0]))
    1095            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    1096              : )
    1097              :     {
    1098            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail382;
    1099            0 :       {
    1100            0 :         tree res_op0;
    1101            0 :         res_op0 = captures[0];
    1102            0 :         tree res_op1;
    1103            0 :         res_op1 = captures[1];
    1104            0 :         tree _r;
    1105            0 :         _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    1106            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 295, __FILE__, __LINE__, true);
    1107            0 :         return _r;
    1108              :       }
    1109            0 : next_after_fail382:;
    1110              :     }
    1111              :   return NULL_TREE;
    1112              : }
    1113              : 
    1114              : tree
    1115            0 : generic_simplify_233 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1116              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1117              :  const enum tree_code ARG_UNUSED (cmp),
    1118              :  const enum tree_code ARG_UNUSED (icmp))
    1119              : {
    1120            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1121            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1122              : )
    1123              :     {
    1124            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail393;
    1125            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail393;
    1126            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail393;
    1127            0 :       {
    1128            0 :         tree res_op0;
    1129            0 :         res_op0 = captures[0];
    1130            0 :         tree res_op1;
    1131            0 :         res_op1 =  wide_int_to_tree (TREE_TYPE (captures[0]),
    1132            0 :  wi::exact_log2 (wi::to_wide (captures[1])));
    1133            0 :         tree _r;
    1134            0 :         _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1135            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 306, __FILE__, __LINE__, true);
    1136            0 :         return _r;
    1137              :       }
    1138              : next_after_fail393:;
    1139              :     }
    1140              :   return NULL_TREE;
    1141              : }
    1142              : 
    1143              : tree
    1144            0 : generic_simplify_237 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1145              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1146              :  const enum tree_code ARG_UNUSED (rotate),
    1147              :  const enum tree_code ARG_UNUSED (invrot),
    1148              :  const enum tree_code ARG_UNUSED (cmp))
    1149              : {
    1150            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1151            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail405;
    1152            0 :   {
    1153            0 :     tree res_op0;
    1154            0 :     res_op0 = captures[0];
    1155            0 :     tree res_op1;
    1156            0 :     res_op1 = captures[2];
    1157            0 :     tree _r;
    1158            0 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1159            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    1160            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1161            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 318, __FILE__, __LINE__, true);
    1162              :     return _r;
    1163              :   }
    1164            0 : next_after_fail405:;
    1165            0 :   return NULL_TREE;
    1166              : }
    1167              : 
    1168              : tree
    1169           22 : generic_simplify_242 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1170              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1171              :  const enum tree_code ARG_UNUSED (cmp),
    1172              :  const combined_fn ARG_UNUSED (bswap))
    1173              : {
    1174           22 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1175           22 :   {
    1176           22 :  tree ctype = TREE_TYPE (captures[1]);
    1177           22 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail410;
    1178           22 :       {
    1179           22 :         tree res_op0;
    1180           22 :         {
    1181           22 :           tree _o1[1], _r1;
    1182           22 :           _o1[0] = captures[0];
    1183           22 :           if (TREE_TYPE (_o1[0]) != ctype)
    1184              :             {
    1185            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, ctype, _o1[0]);
    1186              :             }
    1187              :           else
    1188              :             _r1 = _o1[0];
    1189           22 :           res_op0 = _r1;
    1190              :         }
    1191           22 :         tree res_op1;
    1192           22 :         {
    1193           22 :           tree _o1[1], _r1;
    1194           22 :           _o1[0] = captures[1];
    1195           22 :           _r1 = maybe_build_call_expr_loc (loc, bswap, TREE_TYPE (_o1[0]), 1, _o1[0]);
    1196           22 :           if (!_r1)
    1197            0 :             goto next_after_fail410;
    1198           22 :           if (EXPR_P (_r1))
    1199           22 :             goto next_after_fail410;
    1200            0 :           res_op1 = _r1;
    1201              :         }
    1202            0 :         tree _r;
    1203            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1204            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 323, __FILE__, __LINE__, true);
    1205              :         return _r;
    1206              :       }
    1207              : next_after_fail410:;
    1208              :   }
    1209              :   return NULL_TREE;
    1210              : }
    1211              : 
    1212              : tree
    1213           30 : generic_simplify_253 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1214              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1215              :  const enum tree_code ARG_UNUSED (cmp))
    1216              : {
    1217           30 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1218           30 :   if (single_use (captures[1]) && single_use (captures[3])
    1219              : )
    1220              :     {
    1221           30 :       {
    1222           30 :  tree otype = TREE_TYPE (captures[0]);
    1223           30 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail427;
    1224           30 :           {
    1225           30 :             tree res_op0;
    1226           30 :             {
    1227           30 :               tree _o1[1], _r1;
    1228           30 :               _o1[0] = captures[4];
    1229           30 :               if (TREE_TYPE (_o1[0]) != otype)
    1230              :                 {
    1231            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, otype, _o1[0]);
    1232              :                 }
    1233              :               else
    1234              :                 _r1 = _o1[0];
    1235           30 :               res_op0 = _r1;
    1236              :             }
    1237           30 :             tree res_op1;
    1238           30 :             {
    1239           30 :               tree _o1[1], _r1;
    1240           30 :               _o1[0] = captures[2];
    1241           30 :               if (TREE_TYPE (_o1[0]) != otype)
    1242              :                 {
    1243            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, otype, _o1[0]);
    1244              :                 }
    1245              :               else
    1246              :                 _r1 = _o1[0];
    1247           30 :               res_op1 = _r1;
    1248              :             }
    1249           30 :             tree _r;
    1250           30 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1251           30 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 337, __FILE__, __LINE__, true);
    1252           30 :             return _r;
    1253              :           }
    1254            0 : next_after_fail427:;
    1255              :       }
    1256              :     }
    1257            0 :   return NULL_TREE;
    1258              : }
    1259              : 
    1260              : tree
    1261            6 : generic_simplify_258 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1262              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1263              :  const combined_fn ARG_UNUSED (sq),
    1264              :  const enum tree_code ARG_UNUSED (cmp))
    1265              : {
    1266            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1267            6 :   if (flag_unsafe_math_optimizations && ! flag_errno_math
    1268              : )
    1269              :     {
    1270            0 :       if (! HONOR_NANS (captures[0])
    1271              : )
    1272              :         {
    1273            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail464;
    1274            0 :           {
    1275            0 :             tree res_op0;
    1276            0 :             res_op0 = captures[0];
    1277            0 :             tree res_op1;
    1278            0 :             res_op1 = captures[1];
    1279            0 :             tree _r;
    1280            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1281            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 375, __FILE__, __LINE__, true);
    1282            0 :             return _r;
    1283              :           }
    1284            0 : next_after_fail464:;
    1285              :         }
    1286              :     }
    1287              :   return NULL_TREE;
    1288              : }
    1289              : 
    1290              : tree
    1291         2736 : generic_simplify_263 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1292              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1293              :  const enum tree_code ARG_UNUSED (cmp),
    1294              :  const enum tree_code ARG_UNUSED (scmp))
    1295              : {
    1296         2736 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1297         5102 :   if (FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1298         5102 :  || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1299         2366 :  && (cmp == EQ_EXPR
    1300         2366 :  || cmp == NE_EXPR
    1301         1588 :  || TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))))
    1302              : )
    1303              :     {
    1304         1582 :       {
    1305         1582 :  tree tem = const_unop (NEGATE_EXPR, TREE_TYPE (captures[0]), captures[1]);
    1306         1582 :           if (tem && !TREE_OVERFLOW (tem)
    1307              : )
    1308              :             {
    1309         1554 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail478;
    1310         1554 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail478;
    1311         1554 :               {
    1312         1554 :                 tree res_op0;
    1313         1554 :                 res_op0 = captures[0];
    1314         1554 :                 tree res_op1;
    1315         1554 :                 res_op1 =  tem;
    1316         1554 :                 tree _r;
    1317         1554 :                 _r = fold_build2_loc (loc, scmp, type, res_op0, res_op1);
    1318         1554 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 389, __FILE__, __LINE__, true);
    1319         1554 :                 return _r;
    1320              :               }
    1321              : next_after_fail478:;
    1322              :             }
    1323              :       }
    1324              :     }
    1325              :   return NULL_TREE;
    1326              : }
    1327              : 
    1328              : tree
    1329          697 : generic_simplify_266 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1330              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1331              :  const enum tree_code ARG_UNUSED (cmp))
    1332              : {
    1333          697 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1334          697 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1335         1394 :  && wi::bit_and_not (wi::to_wide (captures[2]), wi::to_wide (captures[3])) != 0
    1336              : )
    1337              :     {
    1338            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail493;
    1339            0 :       {
    1340            0 :         tree _r;
    1341            0 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1342            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1343            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1344            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1345            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1346            0 :         if (TREE_SIDE_EFFECTS (captures[3]))
    1347            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1348            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 397, __FILE__, __LINE__, true);
    1349            0 :         return _r;
    1350              :       }
    1351            0 : next_after_fail493:;
    1352              :     }
    1353              :   return NULL_TREE;
    1354              : }
    1355              : 
    1356              : tree
    1357           62 : generic_simplify_269 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1358              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1359              :  const enum tree_code ARG_UNUSED (cmp))
    1360              : {
    1361           62 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1362           62 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail499;
    1363           62 :   {
    1364           62 :     tree res_op0;
    1365           62 :     res_op0 = captures[1];
    1366           62 :     tree res_op1;
    1367           62 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1368           62 :     tree _r;
    1369           62 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1370           62 :     if (TREE_SIDE_EFFECTS (captures[0]))
    1371            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1372           62 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 403, __FILE__, __LINE__, true);
    1373              :     return _r;
    1374              :   }
    1375            0 : next_after_fail499:;
    1376            0 :   return NULL_TREE;
    1377              : }
    1378              : 
    1379              : tree
    1380           26 : generic_simplify_273 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1381              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1382              :  const enum tree_code ARG_UNUSED (cmp))
    1383              : {
    1384           26 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1385           26 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1386              : )
    1387              :     {
    1388           26 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail503;
    1389           26 :       {
    1390           26 :         tree res_op0;
    1391           26 :         res_op0 = captures[1];
    1392           26 :         tree res_op1;
    1393           26 :         {
    1394           26 :           tree _o1[2], _r1;
    1395           26 :           _o1[0] = captures[2];
    1396           26 :           {
    1397           26 :             tree _o2[1], _r2;
    1398           26 :             _o2[0] = captures[3];
    1399           26 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (res_op0))
    1400              :               {
    1401            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o2[0]);
    1402              :               }
    1403              :             else
    1404              :               _r2 = _o2[0];
    1405           26 :             _o1[1] = _r2;
    1406              :           }
    1407           26 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1408           26 :           res_op1 = _r1;
    1409              :         }
    1410           26 :         tree _r;
    1411           26 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1412           26 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 407, __FILE__, __LINE__, true);
    1413           26 :         return _r;
    1414              :       }
    1415            0 : next_after_fail503:;
    1416              :     }
    1417              :   return NULL_TREE;
    1418              : }
    1419              : 
    1420              : tree
    1421       141901 : generic_simplify_277 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1422              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1423              :  const enum tree_code ARG_UNUSED (cmp),
    1424              :  const enum tree_code ARG_UNUSED (ncmp))
    1425              : {
    1426       141901 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1427       283383 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1428        95787 :  && type_has_mode_precision_p (TREE_TYPE (captures[1]))
    1429        94922 :  && element_precision (captures[0]) >= element_precision (captures[1])
    1430       283802 :  && wi::only_sign_bit_p (wi::to_wide (captures[2]), element_precision (captures[1]))
    1431              : )
    1432              :     {
    1433         4679 :       {
    1434         4679 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    1435         4679 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail507;
    1436         4679 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail507;
    1437         4679 :           {
    1438         4679 :             tree res_op0;
    1439         4679 :             {
    1440         4679 :               tree _o1[1], _r1;
    1441         4679 :               _o1[0] = captures[1];
    1442         4679 :               if (TREE_TYPE (_o1[0]) != stype)
    1443              :                 {
    1444         4027 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    1445              :                 }
    1446              :               else
    1447              :                 _r1 = _o1[0];
    1448         4679 :               res_op0 = _r1;
    1449              :             }
    1450         4679 :             tree res_op1;
    1451         4679 :             res_op1 =  build_zero_cst (stype);
    1452         4679 :             tree _r;
    1453         4679 :             _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    1454         4679 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1455            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1456         4679 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 411, __FILE__, __LINE__, true);
    1457         4679 :             return _r;
    1458              :           }
    1459              : next_after_fail507:;
    1460              :       }
    1461              :     }
    1462              :   return NULL_TREE;
    1463              : }
    1464              : 
    1465              : tree
    1466     61002919 : generic_simplify_285 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1467              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1468              :  const enum tree_code ARG_UNUSED (neeq))
    1469              : {
    1470     61002919 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1471    109552743 :   if (POINTER_TYPE_P (TREE_TYPE (captures[0]))
    1472     61025528 :  && ptrs_compare_unequal (captures[0], captures[1])
    1473              : )
    1474              :     {
    1475        12244 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail529;
    1476        12244 :       {
    1477        12244 :         tree _r;
    1478        12244 :         _r =  constant_boolean_node (neeq != EQ_EXPR, type);
    1479        12244 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1480            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1481        12244 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1482            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1483        12244 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 423, __FILE__, __LINE__, true);
    1484        12244 :         return _r;
    1485              :       }
    1486            0 : next_after_fail529:;
    1487              :     }
    1488              :   return NULL_TREE;
    1489              : }
    1490              : 
    1491              : tree
    1492      1063222 : generic_simplify_289 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1493              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1494              :  const enum tree_code ARG_UNUSED (op),
    1495              :  const enum tree_code ARG_UNUSED (rop),
    1496              :  const enum tree_code ARG_UNUSED (cmp))
    1497              : {
    1498      1063222 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1499      2126444 :   if (!TREE_OVERFLOW (captures[2]) && !TREE_OVERFLOW (captures[3])
    1500      1063222 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
    1501      1062908 :  && !TYPE_OVERFLOW_TRAPS (TREE_TYPE (captures[1]))
    1502      2125986 :  && !TYPE_SATURATING (TREE_TYPE (captures[1]))
    1503              : )
    1504              :     {
    1505      1062764 :       {
    1506      1062764 :  tree res = int_const_binop (rop, captures[3], captures[2]);
    1507      1062764 :           if (TREE_OVERFLOW (res)
    1508      1062764 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    1509              : )
    1510              :             {
    1511         7803 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail537;
    1512         7803 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail537;
    1513         7803 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail537;
    1514         7803 :               {
    1515         7803 :                 tree _r;
    1516         7803 :                 _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1517         7803 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1518            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1519         7803 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 431, __FILE__, __LINE__, true);
    1520         7803 :                 return _r;
    1521              :               }
    1522              : next_after_fail537:;
    1523              :             }
    1524              :           else
    1525              :             {
    1526      1054961 :               if (single_use (captures[0])
    1527              : )
    1528              :                 {
    1529      1054961 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail538;
    1530      1054961 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail538;
    1531      1054961 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail538;
    1532      1054961 :                   {
    1533      1054961 :                     tree res_op0;
    1534      1054961 :                     res_op0 = captures[1];
    1535      1054961 :                     tree res_op1;
    1536      1054961 :                     res_op1 =  TREE_OVERFLOW (res)
    1537      1054961 :  ? drop_tree_overflow (res) : res;
    1538      1054961 :                     tree _r;
    1539      1054961 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1540      1054961 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 432, __FILE__, __LINE__, true);
    1541      1054961 :                     return _r;
    1542              :                   }
    1543              : next_after_fail538:;
    1544              :                 }
    1545              :             }
    1546              :       }
    1547              :     }
    1548              :   return NULL_TREE;
    1549              : }
    1550              : 
    1551              : tree
    1552            0 : generic_simplify_292 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1553              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1554              :  const enum tree_code ARG_UNUSED (op),
    1555              :  const enum tree_code ARG_UNUSED (cmp))
    1556              : {
    1557            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1558            0 :   if (integer_zerop (captures[3]) && single_use (captures[0])
    1559              : )
    1560              :     {
    1561            0 :       {
    1562            0 :  tree type0 = TREE_TYPE (captures[1]);
    1563            0 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    1564            0 :  if (integer_zerop (captures[2]))
    1565              :  stype = NULL_TREE;
    1566            0 :           if (stype
    1567              : )
    1568              :             {
    1569            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail550;
    1570            0 :               {
    1571            0 :                 tree res_op0;
    1572            0 :                 {
    1573            0 :                   tree _o1[1], _r1;
    1574            0 :                   _o1[0] = captures[1];
    1575            0 :                   if (TREE_TYPE (_o1[0]) != stype)
    1576              :                     {
    1577            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    1578              :                     }
    1579              :                   else
    1580              :                     _r1 = _o1[0];
    1581            0 :                   res_op0 = _r1;
    1582              :                 }
    1583            0 :                 tree res_op1;
    1584            0 :                 res_op1 =  build_zero_cst (stype);
    1585            0 :                 tree _r;
    1586            0 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1587            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1588            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1589            0 :                 if (TREE_SIDE_EFFECTS (captures[3]))
    1590            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1591            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 444, __FILE__, __LINE__, true);
    1592            0 :                 return _r;
    1593              :               }
    1594            0 : next_after_fail550:;
    1595              :             }
    1596              :       }
    1597              :     }
    1598              :   else
    1599              :     {
    1600            0 :       {
    1601            0 :  bool ok = true;
    1602            0 :  tree type0 = TREE_TYPE (captures[1]);
    1603            0 :  if (wi::to_widest (captures[2]) == TYPE_PRECISION (type0) - 1)
    1604              :  ok = false;
    1605            0 :           if (ok && wi::to_wide (captures[3]) == (TYPE_PRECISION (type0) - 1)
    1606              : )
    1607              :             {
    1608            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail551;
    1609            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail551;
    1610            0 :               {
    1611            0 :                 tree res_op0;
    1612            0 :                 res_op0 = captures[1];
    1613            0 :                 tree res_op1;
    1614            0 :                 res_op1 =  build_one_cst (type0);
    1615            0 :                 tree _r;
    1616            0 :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1617            0 :                 if (TREE_SIDE_EFFECTS (captures[3]))
    1618            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1619            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 445, __FILE__, __LINE__, true);
    1620            0 :                 return _r;
    1621              :               }
    1622              : next_after_fail551:;
    1623              :             }
    1624              :       }
    1625              :     }
    1626              :   return NULL_TREE;
    1627              : }
    1628              : 
    1629              : tree
    1630            0 : generic_simplify_301 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1631              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1632              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
    1633              : {
    1634            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1635            0 :   if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[0]))
    1636              : )
    1637              :     {
    1638            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail565;
    1639            0 :       {
    1640            0 :         tree res_op0;
    1641            0 :         {
    1642            0 :           tree _o1[1], _r1;
    1643            0 :           _o1[0] = captures[0];
    1644            0 :           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    1645            0 :           res_op0 = _r1;
    1646              :         }
    1647            0 :         tree res_op1;
    1648            0 :         res_op1 = captures[1];
    1649            0 :         tree _r;
    1650            0 :         _r = maybe_build_call_expr_loc (loc, COPYSIGN_ALL, type, 2, res_op0, res_op1);
    1651            0 :         if (!_r)
    1652            0 :           goto next_after_fail565;
    1653            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 459, __FILE__, __LINE__, true);
    1654            0 :         return _r;
    1655              :       }
    1656              : next_after_fail565:;
    1657              :     }
    1658              :   return NULL_TREE;
    1659              : }
    1660              : 
    1661              : tree
    1662           23 : generic_simplify_308 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1663              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1664              :  const enum tree_code ARG_UNUSED (div))
    1665              : {
    1666           23 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1667           30 :   if ((TYPE_UNSIGNED (type) || tree_expr_nonnegative_p (captures[0]))
    1668           16 :  && (!VECTOR_TYPE_P (type)
    1669            0 :  || target_supports_op_p (type, RSHIFT_EXPR, optab_vector)
    1670            0 :  || target_supports_op_p (type, RSHIFT_EXPR, optab_scalar))
    1671           39 :  && (useless_type_conversion_p (type, TREE_TYPE (captures[2]))
    1672            7 :  || (element_precision (type) >= element_precision (TREE_TYPE (captures[2]))
    1673            7 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    1674           14 :  || (element_precision (type)
    1675            7 :  == element_precision (TREE_TYPE (captures[2])))
    1676            7 :  || (INTEGRAL_TYPE_P (type)
    1677           14 :  && (tree_nonzero_bits (captures[0])
    1678           44 :  & wi::mask (element_precision (TREE_TYPE (captures[2])) - 1,
    1679              :  true,
    1680           37 :  element_precision (type))) == 0))))
    1681              : )
    1682              :     {
    1683            9 :       if (!VECTOR_TYPE_P (type)
    1684            9 :  && useless_type_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    1685           18 :  && element_precision (TREE_TYPE (captures[1])) < element_precision (type)
    1686              : )
    1687              :         {
    1688            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail573;
    1689            0 :           {
    1690            0 :             tree res_op0;
    1691            0 :             {
    1692            0 :               tree _o1[2], _r1;
    1693            0 :               _o1[0] = captures[1];
    1694            0 :               _o1[1] = captures[3];
    1695            0 :               _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1696            0 :               res_op0 = _r1;
    1697              :             }
    1698            0 :             tree _r;
    1699            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1700            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1701            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1702            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 465, __FILE__, __LINE__, true);
    1703            0 :             return _r;
    1704              :           }
    1705            0 : next_after_fail573:;
    1706              :         }
    1707              :       else
    1708              :         {
    1709            9 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail574;
    1710            9 :           {
    1711            9 :             tree res_op0;
    1712            9 :             res_op0 = captures[0];
    1713            9 :             tree res_op1;
    1714            9 :             res_op1 = captures[3];
    1715            9 :             tree _r;
    1716            9 :             _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
    1717            9 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1718            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1719            9 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 466, __FILE__, __LINE__, true);
    1720            9 :             return _r;
    1721              :           }
    1722            0 : next_after_fail574:;
    1723              :         }
    1724              :     }
    1725              :   return NULL_TREE;
    1726              : }
    1727              : 
    1728              : tree
    1729         7298 : generic_simplify_326 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1730              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1731              :  const enum tree_code ARG_UNUSED (mod))
    1732              : {
    1733         7298 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1734            0 :   if (ANY_INTEGRAL_TYPE_P (type)
    1735         7298 :  && TYPE_OVERFLOW_UNDEFINED (type)
    1736        14596 :  && wi::multiple_of_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    1737          195 :  TYPE_SIGN (type))
    1738              : )
    1739              :     {
    1740            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail593;
    1741            0 :       {
    1742            0 :         tree _r;
    1743            0 :         _r =  build_zero_cst (type);
    1744            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1745            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1746            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1747            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1748            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1749            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1750            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 485, __FILE__, __LINE__, true);
    1751            0 :         return _r;
    1752              :       }
    1753            0 : next_after_fail593:;
    1754              :     }
    1755              :   return NULL_TREE;
    1756              : }
    1757              : 
    1758              : tree
    1759           24 : generic_simplify_338 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1760              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1761              :  const combined_fn ARG_UNUSED (POW))
    1762              : {
    1763           24 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1764           24 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1765              : )
    1766              :     {
    1767            6 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail607;
    1768            6 :       {
    1769            6 :         tree res_op0;
    1770            6 :         res_op0 = captures[0];
    1771            6 :         tree res_op1;
    1772            6 :         {
    1773            6 :           tree _o1[2], _r1;
    1774            6 :           _o1[0] = captures[2];
    1775            6 :           {
    1776            6 :             tree _o2[1], _r2;
    1777            6 :             _o2[0] = captures[3];
    1778            6 :             _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    1779            6 :             _o1[1] = _r2;
    1780              :           }
    1781            6 :           _r1 = maybe_build_call_expr_loc (loc, POW, TREE_TYPE (_o1[0]), 2, _o1[0], _o1[1]);
    1782            6 :           if (!_r1)
    1783            0 :             goto next_after_fail607;
    1784            6 :           res_op1 = _r1;
    1785              :         }
    1786            6 :         tree _r;
    1787            6 :         _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    1788            6 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 499, __FILE__, __LINE__, true);
    1789            6 :         return _r;
    1790              :       }
    1791              : next_after_fail607:;
    1792              :     }
    1793              :   return NULL_TREE;
    1794              : }
    1795              : 
    1796              : tree
    1797         1963 : generic_simplify_347 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1798              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1799              : {
    1800         1963 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1801         1963 :   if (INTEGRAL_TYPE_P (type)
    1802              : )
    1803              :     {
    1804         1963 :       {
    1805         1963 :  tree itype = TREE_TYPE (captures[2]);
    1806         1963 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail622;
    1807         1963 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail622;
    1808         1963 :           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail622;
    1809         1963 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail622;
    1810         1963 :           {
    1811         1963 :             tree res_op0;
    1812         1963 :             {
    1813         1963 :               tree _o1[2], _r1;
    1814         1963 :               _o1[0] = captures[2];
    1815         1963 :               {
    1816         1963 :                 tree _o2[1], _r2;
    1817         1963 :                 _o2[0] = captures[0];
    1818         1963 :                 if (TREE_TYPE (_o2[0]) != itype)
    1819              :                   {
    1820         1963 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, itype, _o2[0]);
    1821              :                   }
    1822              :                 else
    1823              :                   _r2 = _o2[0];
    1824         1963 :                 _o1[1] = _r2;
    1825              :               }
    1826         1963 :               _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1827         1963 :               res_op0 = _r1;
    1828              :             }
    1829         1963 :             tree _r;
    1830         1963 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1831         1963 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 513, __FILE__, __LINE__, true);
    1832         1963 :             return _r;
    1833              :           }
    1834              : next_after_fail622:;
    1835              :       }
    1836              :     }
    1837              :   return NULL_TREE;
    1838              : }
    1839              : 
    1840              : tree
    1841            0 : generic_simplify_352 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1842              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1843              : {
    1844            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1845            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail627;
    1846            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail627;
    1847            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail627;
    1848            0 :   {
    1849            0 :     tree _r;
    1850            0 :     _r = captures[2];
    1851            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 518, __FILE__, __LINE__, true);
    1852              :     return _r;
    1853              :   }
    1854              : next_after_fail627:;
    1855              :   return NULL_TREE;
    1856              : }
    1857              : 
    1858              : tree
    1859            0 : generic_simplify_358 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1860              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1861              :  const enum tree_code ARG_UNUSED (op))
    1862              : {
    1863            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1864            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail633;
    1865            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail633;
    1866            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail633;
    1867            0 :   {
    1868            0 :     tree _r;
    1869            0 :     _r = captures[2];
    1870            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 524, __FILE__, __LINE__, true);
    1871              :     return _r;
    1872              :   }
    1873              : next_after_fail633:;
    1874              :   return NULL_TREE;
    1875              : }
    1876              : 
    1877              : tree
    1878            9 : generic_simplify_365 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1879              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1880              :  const combined_fn ARG_UNUSED (func))
    1881              : {
    1882            9 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1883            9 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail641;
    1884            9 :   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail641;
    1885            9 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail641;
    1886            9 :   {
    1887            9 :     tree _r;
    1888            9 :     _r = captures[2];
    1889            9 :     if (TREE_SIDE_EFFECTS (captures[1]))
    1890            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1891            9 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 532, __FILE__, __LINE__, true);
    1892              :     return _r;
    1893              :   }
    1894              : next_after_fail641:;
    1895              :   return NULL_TREE;
    1896              : }
    1897              : 
    1898              : tree
    1899       160395 : generic_simplify_373 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1900              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1901              :  const enum tree_code ARG_UNUSED (op))
    1902              : {
    1903       160395 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1904       320790 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1905       320790 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    1906              : )
    1907              :     {
    1908        66917 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail653;
    1909        66917 :       {
    1910        66917 :         tree res_op0;
    1911        66917 :         res_op0 = captures[0];
    1912        66917 :         tree res_op1;
    1913        66917 :         res_op1 = captures[2];
    1914        66917 :         tree _r;
    1915        66917 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1916        66917 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1917            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1918        66917 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 543, __FILE__, __LINE__, true);
    1919        66917 :         return _r;
    1920              :       }
    1921            0 : next_after_fail653:;
    1922              :     }
    1923              :   return NULL_TREE;
    1924              : }
    1925              : 
    1926              : tree
    1927         3936 : generic_simplify_378 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1928              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1929              :  const enum tree_code ARG_UNUSED (cmp),
    1930              :  const enum tree_code ARG_UNUSED (bitop))
    1931              : {
    1932         3936 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1933         3936 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1934              : )
    1935              :     {
    1936         3936 :       if (bitop == BIT_AND_EXPR || tree_expr_nonnegative_p (captures[1])
    1937              : )
    1938              :         {
    1939         3936 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail658;
    1940         3936 :           {
    1941         3936 :             tree _r;
    1942         3936 :             _r =  constant_boolean_node (cmp == GE_EXPR || cmp == LE_EXPR, type);
    1943         3936 :             if (TREE_SIDE_EFFECTS (captures[0]))
    1944            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1945         3936 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1946            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1947         3936 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 548, __FILE__, __LINE__, true);
    1948         3936 :             return _r;
    1949              :           }
    1950            0 : next_after_fail658:;
    1951              :         }
    1952              :       else
    1953              :         {
    1954            0 :           if (TREE_CODE (captures[1]) == INTEGER_CST && wi::neg_p (wi::to_wide (captures[1]))
    1955              : )
    1956              :             {
    1957            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail659;
    1958            0 :               {
    1959            0 :                 tree _r;
    1960            0 :                 _r =  constant_boolean_node (cmp == LT_EXPR, type);
    1961            0 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    1962            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1963            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1964            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1965            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 549, __FILE__, __LINE__, true);
    1966            0 :                 return _r;
    1967              :               }
    1968            0 : next_after_fail659:;
    1969              :             }
    1970              :         }
    1971              :     }
    1972              :   return NULL_TREE;
    1973              : }
    1974              : 
    1975              : tree
    1976            0 : generic_simplify_391 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1977              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1978              :  const enum tree_code ARG_UNUSED (cmp),
    1979              :  const enum tree_code ARG_UNUSED (out))
    1980              : {
    1981            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1982            0 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1983            0 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    1984              : )
    1985              :     {
    1986            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail704;
    1987            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail704;
    1988            0 :       {
    1989            0 :         tree res_op0;
    1990            0 :         {
    1991            0 :           tree _o1[1], _r1;
    1992            0 :           _o1[0] = captures[0];
    1993            0 :           _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    1994            0 :           res_op0 = _r1;
    1995              :         }
    1996            0 :         tree res_op1;
    1997            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1998            0 :         tree _r;
    1999            0 :         _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2000            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 577, __FILE__, __LINE__, true);
    2001            0 :         return _r;
    2002              :       }
    2003              : next_after_fail704:;
    2004              :     }
    2005              :   return NULL_TREE;
    2006              : }
    2007              : 
    2008              : tree
    2009     20972162 : generic_simplify_398 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2010              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2011              :  const enum tree_code ARG_UNUSED (cmp),
    2012              :  const enum tree_code ARG_UNUSED (acmp))
    2013              : {
    2014     20972162 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2015     20972162 :   {
    2016     20972162 :  tree cst = uniform_integer_cst_p (captures[1]);
    2017     20972162 :       if (tree_int_cst_sgn (cst) == -1
    2018              : )
    2019              :         {
    2020       174202 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail718;
    2021       174202 :           {
    2022       174202 :             tree res_op0;
    2023       174202 :             res_op0 = captures[0];
    2024       174202 :             tree res_op1;
    2025       174202 :             res_op1 =  build_uniform_cst (TREE_TYPE (captures[1]),
    2026       174202 :  wide_int_to_tree (TREE_TYPE (cst),
    2027       174202 :  wi::to_wide (cst)
    2028       348404 :  + 1));
    2029       174202 :             tree _r;
    2030       174202 :             _r = fold_build2_loc (loc, acmp, type, res_op0, res_op1);
    2031       174202 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2032            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2033       174202 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 591, __FILE__, __LINE__, true);
    2034       174202 :             return _r;
    2035              :           }
    2036            0 : next_after_fail718:;
    2037              :         }
    2038              :   }
    2039              :   return NULL_TREE;
    2040              : }
    2041              : 
    2042              : tree
    2043            0 : generic_simplify_401 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2044              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2045              :  const enum tree_code ARG_UNUSED (cmp),
    2046              :  const enum tree_code ARG_UNUSED (out))
    2047              : {
    2048            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2049            0 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2050            0 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    2051              : )
    2052              :     {
    2053            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail721;
    2054            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail721;
    2055            0 :       {
    2056            0 :         tree res_op0;
    2057            0 :         {
    2058            0 :           tree _o1[1], _r1;
    2059            0 :           _o1[0] = captures[0];
    2060            0 :           _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2061            0 :           res_op0 = _r1;
    2062              :         }
    2063            0 :         tree res_op1;
    2064            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2065            0 :         tree _r;
    2066            0 :         _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2067            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 576, __FILE__, __LINE__, true);
    2068            0 :         return _r;
    2069              :       }
    2070              : next_after_fail721:;
    2071              :     }
    2072              :   return NULL_TREE;
    2073              : }
    2074              : 
    2075              : tree
    2076           43 : generic_simplify_406 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2077              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2078              :  const enum tree_code ARG_UNUSED (cmp),
    2079              :  const enum tree_code ARG_UNUSED (cmp2),
    2080              :  const enum tree_code ARG_UNUSED (cmp3),
    2081              :  const enum tree_code ARG_UNUSED (bit_op),
    2082              :  const combined_fn ARG_UNUSED (ffs))
    2083              : {
    2084           43 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2085           43 :   {
    2086           43 :  int prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
    2087           43 :       if (integer_zerop (captures[2])
    2088              : )
    2089              :         {
    2090           11 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail726;
    2091           11 :           {
    2092           11 :             tree res_op0;
    2093           11 :             res_op0 = captures[1];
    2094           11 :             tree res_op1;
    2095           11 :             res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2096           11 :             tree _r;
    2097           11 :             _r = fold_build2_loc (loc, cmp2, type, res_op0, res_op1);
    2098           11 :             if (TREE_SIDE_EFFECTS (captures[2]))
    2099            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2100           11 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 595, __FILE__, __LINE__, true);
    2101           27 :             return _r;
    2102              :           }
    2103            0 : next_after_fail726:;
    2104              :         }
    2105              :       else
    2106              :         {
    2107           32 :           if (tree_int_cst_sgn (captures[2]) < 0
    2108              : )
    2109              :             {
    2110            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail727;
    2111            0 :               {
    2112            0 :                 tree _r;
    2113            0 :                 _r =  constant_boolean_node (cmp == GT_EXPR ? true : false, type);
    2114            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2115            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2116            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    2117            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2118            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 596, __FILE__, __LINE__, true);
    2119            0 :                 return _r;
    2120              :               }
    2121            0 : next_after_fail727:;
    2122              :             }
    2123              :           else
    2124              :             {
    2125           32 :               if (wi::to_widest (captures[2]) >= prec
    2126              : )
    2127              :                 {
    2128           14 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail728;
    2129           14 :                   {
    2130           14 :                     tree _r;
    2131           14 :                     _r =  constant_boolean_node (cmp == GT_EXPR ? false : true, type);
    2132           14 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    2133            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2134           14 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    2135            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2136           14 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 597, __FILE__, __LINE__, true);
    2137           14 :                     return _r;
    2138              :                   }
    2139            0 : next_after_fail728:;
    2140              :                 }
    2141              :               else
    2142              :                 {
    2143           18 :                   if (wi::to_widest (captures[2]) == prec - 1
    2144              : )
    2145              :                     {
    2146            2 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail729;
    2147            2 :                       {
    2148            2 :                         tree res_op0;
    2149            2 :                         res_op0 = captures[1];
    2150            2 :                         tree res_op1;
    2151            2 :                         res_op1 =  wide_int_to_tree (TREE_TYPE (captures[1]),
    2152            2 :  wi::shifted_mask (prec - 1, 1,
    2153              :  false, prec));
    2154            2 :                         tree _r;
    2155            2 :                         _r = fold_build2_loc (loc, cmp3, type, res_op0, res_op1);
    2156            2 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    2157            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2158            2 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 598, __FILE__, __LINE__, true);
    2159            2 :                         return _r;
    2160              :                       }
    2161            0 : next_after_fail729:;
    2162              :                     }
    2163              :                   else
    2164              :                     {
    2165           16 :                       if (single_use (captures[0])
    2166              : )
    2167              :                         {
    2168           16 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail730;
    2169           16 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail730;
    2170           16 :                           {
    2171           16 :                             if (! tree_invariant_p (captures[1])) goto next_after_fail730;
    2172            0 :                             tree res_op0;
    2173            0 :                             {
    2174            0 :                               tree _o1[2], _r1;
    2175            0 :                               _o1[0] = unshare_expr (captures[1]);
    2176            0 :                               _o1[1] =  build_zero_cst (TREE_TYPE (captures[1]));
    2177            0 :                               _r1 = fold_build2_loc (loc, cmp2, type, _o1[0], _o1[1]);
    2178            0 :                               res_op0 = _r1;
    2179              :                             }
    2180            0 :                             tree res_op1;
    2181            0 :                             {
    2182            0 :                               tree _o1[2], _r1;
    2183            0 :                               {
    2184            0 :                                 tree _o2[2], _r2;
    2185            0 :                                 _o2[0] = captures[1];
    2186            0 :                                 _o2[1] =  wide_int_to_tree (TREE_TYPE (captures[1]),
    2187            0 :  wi::mask (tree_to_uhwi (captures[2]),
    2188              :  false, prec));
    2189            0 :                                 _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2190            0 :                                 _o1[0] = _r2;
    2191              :                               }
    2192            0 :                               _o1[1] =  build_zero_cst (TREE_TYPE (captures[1]));
    2193            0 :                               _r1 = fold_build2_loc (loc, cmp3, type, _o1[0], _o1[1]);
    2194            0 :                               res_op1 = _r1;
    2195              :                             }
    2196            0 :                             tree _r;
    2197            0 :                             _r = fold_build2_loc (loc, bit_op, type, res_op0, res_op1);
    2198            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 599, __FILE__, __LINE__, true);
    2199            0 :                             return _r;
    2200              :                           }
    2201           16 : next_after_fail730:;
    2202              :                         }
    2203              :                     }
    2204              :                 }
    2205              :             }
    2206              :         }
    2207              :   }
    2208           16 :   return NULL_TREE;
    2209              : }
    2210              : 
    2211              : tree
    2212            0 : generic_simplify_429 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2213              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2214              :  const combined_fn ARG_UNUSED (copysigns),
    2215              :  const combined_fn ARG_UNUSED (coss))
    2216              : {
    2217            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2218            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail774;
    2219            0 :   {
    2220            0 :     tree res_op0;
    2221            0 :     res_op0 = captures[0];
    2222            0 :     tree _r;
    2223            0 :     _r = maybe_build_call_expr_loc (loc, coss, type, 1, res_op0);
    2224            0 :     if (!_r)
    2225            0 :       goto next_after_fail774;
    2226            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2227            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2228            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 629, __FILE__, __LINE__, true);
    2229              :     return _r;
    2230              :   }
    2231              : next_after_fail774:;
    2232              :   return NULL_TREE;
    2233              : }
    2234              : 
    2235              : tree
    2236            0 : generic_simplify_432 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2237              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2238              :  const combined_fn ARG_UNUSED (copysigns),
    2239              :  const combined_fn ARG_UNUSED (pows))
    2240              : {
    2241            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2242            0 :   {
    2243            0 :  HOST_WIDE_INT n;
    2244            0 :       if (real_isinteger (&TREE_REAL_CST (captures[2]), &n) && (n & 1) == 0
    2245              : )
    2246              :         {
    2247            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail777;
    2248            0 :           {
    2249            0 :             tree res_op0;
    2250            0 :             res_op0 = captures[0];
    2251            0 :             tree res_op1;
    2252            0 :             res_op1 = captures[2];
    2253            0 :             tree _r;
    2254            0 :             _r = maybe_build_call_expr_loc (loc, pows, type, 2, res_op0, res_op1);
    2255            0 :             if (!_r)
    2256            0 :               goto next_after_fail777;
    2257            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2258            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2259            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 632, __FILE__, __LINE__, true);
    2260            0 :             return _r;
    2261              :           }
    2262            0 : next_after_fail777:;
    2263              :         }
    2264              :   }
    2265            0 :   return NULL_TREE;
    2266              : }
    2267              : 
    2268              : tree
    2269            0 : generic_simplify_434 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2270              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2271              :  const combined_fn ARG_UNUSED (pow))
    2272              : {
    2273            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2274            0 :   if (flag_unsafe_math_optimizations
    2275              : )
    2276              :     {
    2277            0 :       if (! HONOR_INFINITIES (type)
    2278            0 :  && ! flag_trapping_math
    2279            0 :  && ! flag_errno_math
    2280              : )
    2281              :         {
    2282            0 :           if (! HONOR_NANS (type) && ! HONOR_SIGNED_ZEROS (type)
    2283              : )
    2284              :             {
    2285            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail779;
    2286            0 :               {
    2287            0 :                 tree _r;
    2288            0 :                 _r = captures[0];
    2289            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2290            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2291            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 634, __FILE__, __LINE__, true);
    2292            0 :                 return _r;
    2293              :               }
    2294            0 : next_after_fail779:;
    2295              :             }
    2296              :         }
    2297              :     }
    2298              :   return NULL_TREE;
    2299              : }
    2300              : 
    2301              : tree
    2302            0 : generic_simplify_438 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2303              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2304              :  const combined_fn ARG_UNUSED (copysigns),
    2305              :  const combined_fn ARG_UNUSED (hypots))
    2306              : {
    2307            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2308            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail783;
    2309            0 :   {
    2310            0 :     tree res_op0;
    2311            0 :     res_op0 = captures[0];
    2312            0 :     tree res_op1;
    2313            0 :     res_op1 = captures[1];
    2314            0 :     tree _r;
    2315            0 :     _r = maybe_build_call_expr_loc (loc, hypots, type, 2, res_op0, res_op1);
    2316            0 :     if (!_r)
    2317            0 :       goto next_after_fail783;
    2318            0 :     if (TREE_SIDE_EFFECTS (captures[2]))
    2319            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2320            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 638, __FILE__, __LINE__, true);
    2321              :     return _r;
    2322              :   }
    2323              : next_after_fail783:;
    2324              :   return NULL_TREE;
    2325              : }
    2326              : 
    2327              : tree
    2328           21 : generic_simplify_443 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2329              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2330              : {
    2331           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2332           42 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2333           42 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
    2334              : )
    2335              :     {
    2336            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail788;
    2337            0 :       {
    2338            0 :         tree res_op0;
    2339            0 :         res_op0 = captures[0];
    2340            0 :         tree res_op1;
    2341            0 :         res_op1 = captures[1];
    2342            0 :         tree _r;
    2343            0 :         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2344            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 643, __FILE__, __LINE__, true);
    2345            0 :         return _r;
    2346              :       }
    2347            0 : next_after_fail788:;
    2348              :     }
    2349              :   return NULL_TREE;
    2350              : }
    2351              : 
    2352              : tree
    2353            0 : generic_simplify_448 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2354              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2355              : {
    2356            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2357            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail793;
    2358            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail793;
    2359            0 :   {
    2360            0 :     tree res_op0;
    2361            0 :     res_op0 = captures[0];
    2362            0 :     tree res_op1;
    2363            0 :     {
    2364            0 :       tree _o1[1], _r1;
    2365            0 :       _o1[0] = captures[5];
    2366            0 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2367            0 :       res_op1 = _r1;
    2368              :     }
    2369            0 :     tree _r;
    2370            0 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2371            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 647, __FILE__, __LINE__, true);
    2372              :     return _r;
    2373              :   }
    2374              : next_after_fail793:;
    2375              :   return NULL_TREE;
    2376              : }
    2377              : 
    2378              : tree
    2379          104 : generic_simplify_455 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2380              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2381              : {
    2382          104 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2383          104 :   {
    2384          104 :  bool wascmp;
    2385          104 :       if (bitwise_inverted_equal_p (captures[0], captures[2], wascmp)
    2386          104 :  && (!wascmp || element_precision (type) == 1)
    2387              : )
    2388              :         {
    2389            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail800;
    2390            0 :           {
    2391            0 :             tree res_op0;
    2392            0 :             res_op0 = captures[0];
    2393            0 :             tree res_op1;
    2394            0 :             res_op1 = captures[1];
    2395            0 :             tree _r;
    2396            0 :             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2397            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
    2398            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2399            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 654, __FILE__, __LINE__, true);
    2400            0 :             return _r;
    2401              :           }
    2402            0 : next_after_fail800:;
    2403              :         }
    2404              :   }
    2405          104 :   return NULL_TREE;
    2406              : }
    2407              : 
    2408              : tree
    2409      8770559 : generic_simplify_461 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2410              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2411              : {
    2412      8770559 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2413     17361200 :   if (POINTER_TYPE_P (TREE_TYPE (captures[0]))
    2414      8770579 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    2415              : )
    2416              :     {
    2417       179938 :       {
    2418       179938 :  unsigned int align;
    2419       179938 :  unsigned HOST_WIDE_INT bitpos;
    2420       179938 :  get_pointer_alignment_1 (captures[0], &align, &bitpos);
    2421       179938 :           if (wi::ltu_p (wi::to_wide (captures[1]), align / BITS_PER_UNIT)
    2422              : )
    2423              :             {
    2424         4916 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail806;
    2425         4916 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail806;
    2426         4916 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail806;
    2427         4916 :               {
    2428         4916 :                 tree _r;
    2429         9832 :                 _r =  wide_int_to_tree (type, (wi::to_wide (captures[1])
    2430         9832 :  & (bitpos / BITS_PER_UNIT)));
    2431         4916 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 659, __FILE__, __LINE__, true);
    2432         4916 :                 return _r;
    2433              :               }
    2434       175022 : next_after_fail806:;
    2435              :             }
    2436              :       }
    2437              :     }
    2438              :   return NULL_TREE;
    2439              : }
    2440              : 
    2441              : tree
    2442            0 : generic_simplify_471 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2443              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2444              :  const enum tree_code ARG_UNUSED (code2),
    2445              :  const enum tree_code ARG_UNUSED (code1))
    2446              : {
    2447            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2448            0 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
    2449            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2450            0 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2451            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    2452            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, code2))
    2453            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
    2454            0 :  && bitwise_equal_p (captures[2], captures[5]))
    2455              : )
    2456              :     {
    2457            0 :       {
    2458            0 :  bool one_before = false;
    2459            0 :  bool one_after = false;
    2460            0 :  int cmp = 0;
    2461            0 :  bool allbits = true;
    2462            0 :  if (TREE_CODE (captures[2]) == INTEGER_CST
    2463            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2464              :  {
    2465            0 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
    2466            0 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
    2467            0 :  auto t2 = wi::to_wide (captures[5]);
    2468            0 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
    2469            0 :  if (cmp < 0
    2470            0 :  && t1 == t2 - 1)
    2471              :  one_before = true;
    2472            0 :  if (cmp > 0
    2473            0 :  && t1 == t2 + 1)
    2474              :  one_after = true;
    2475              :  }
    2476            0 :  bool val;
    2477            0 :  switch (code2)
    2478              :  {
    2479            0 :  case EQ_EXPR: val = (cmp == 0); break;
    2480            0 :  case NE_EXPR: val = (cmp != 0); break;
    2481            0 :  case LT_EXPR: val = (cmp < 0); break;
    2482            0 :  case GT_EXPR: val = (cmp > 0); break;
    2483            0 :  case LE_EXPR: val = (cmp <= 0); break;
    2484            0 :  case GE_EXPR: val = (cmp >= 0); break;
    2485            0 :  default: gcc_unreachable ();
    2486              :  }
    2487            0 :           if (code1 == EQ_EXPR && val
    2488              : )
    2489              :             {
    2490            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail838;
    2491            0 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail838;
    2492            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail838;
    2493            0 :               {
    2494            0 :                 tree _r;
    2495            0 :                 _r = captures[0];
    2496            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 664, __FILE__, __LINE__, true);
    2497            0 :                 return _r;
    2498              :               }
    2499              : next_after_fail838:;
    2500              :             }
    2501              :           else
    2502              :             {
    2503            0 :               if (code1 == EQ_EXPR && !val
    2504              : )
    2505              :                 {
    2506            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail839;
    2507            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail839;
    2508            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail839;
    2509            0 :                   {
    2510            0 :                     tree _r;
    2511            0 :                     _r =  constant_boolean_node (false, type);
    2512            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    2513            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2514            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 665, __FILE__, __LINE__, true);
    2515            0 :                     return _r;
    2516              :                   }
    2517              : next_after_fail839:;
    2518              :                 }
    2519              :               else
    2520              :                 {
    2521            0 :                   if (code1 == NE_EXPR && !val && allbits
    2522              : )
    2523              :                     {
    2524            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail840;
    2525            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail840;
    2526            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail840;
    2527            0 :                       {
    2528            0 :                         tree _r;
    2529            0 :                         _r = captures[3];
    2530            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 666, __FILE__, __LINE__, true);
    2531            0 :                         return _r;
    2532              :                       }
    2533              : next_after_fail840:;
    2534              :                     }
    2535              :                   else
    2536              :                     {
    2537            0 :                       if ((code1 == NE_EXPR
    2538            0 :  && code2 == GE_EXPR
    2539            0 :  && cmp == 0
    2540            0 :  && allbits)
    2541            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2542            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2543            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2544              : )
    2545              :                         {
    2546            0 :                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail841;
    2547            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail841;
    2548            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail841;
    2549            0 :                           {
    2550            0 :                             tree res_op0;
    2551            0 :                             res_op0 = captures[4];
    2552            0 :                             tree res_op1;
    2553            0 :                             {
    2554            0 :                               tree _o1[1], _r1;
    2555            0 :                               _o1[0] = captures[2];
    2556            0 :                               if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2557              :                                 {
    2558            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2559              :                                 }
    2560              :                               else
    2561              :                                 _r1 = _o1[0];
    2562            0 :                               res_op1 = _r1;
    2563              :                             }
    2564            0 :                             tree _r;
    2565            0 :                             _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2566            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 667, __FILE__, __LINE__, true);
    2567            0 :                             return _r;
    2568              :                           }
    2569              : next_after_fail841:;
    2570              :                         }
    2571              :                       else
    2572              :                         {
    2573            0 :                           if ((code1 == NE_EXPR
    2574            0 :  && code2 == LE_EXPR
    2575            0 :  && cmp == 0
    2576            0 :  && allbits)
    2577            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2578            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2579            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2580              : )
    2581              :                             {
    2582            0 :                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail842;
    2583            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail842;
    2584            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail842;
    2585            0 :                               {
    2586            0 :                                 tree res_op0;
    2587            0 :                                 res_op0 = captures[4];
    2588            0 :                                 tree res_op1;
    2589            0 :                                 {
    2590            0 :                                   tree _o1[1], _r1;
    2591            0 :                                   _o1[0] = captures[2];
    2592            0 :                                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2593              :                                     {
    2594            0 :                                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2595              :                                     }
    2596              :                                   else
    2597              :                                     _r1 = _o1[0];
    2598            0 :                                   res_op1 = _r1;
    2599              :                                 }
    2600            0 :                                 tree _r;
    2601            0 :                                 _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2602            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 668, __FILE__, __LINE__, true);
    2603            0 :                                 return _r;
    2604              :                               }
    2605              : next_after_fail842:;
    2606              :                             }
    2607              :                           else
    2608              :                             {
    2609            0 :                               if ((code1 == NE_EXPR
    2610            0 :  && code2 == GT_EXPR
    2611              :  && one_after
    2612            0 :  && allbits)
    2613            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2614            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2615            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2616              : )
    2617              :                                 {
    2618            0 :                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail843;
    2619            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail843;
    2620            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail843;
    2621            0 :                                   {
    2622            0 :                                     tree res_op0;
    2623            0 :                                     res_op0 = captures[4];
    2624            0 :                                     tree res_op1;
    2625            0 :                                     {
    2626            0 :                                       tree _o1[1], _r1;
    2627            0 :                                       _o1[0] = captures[2];
    2628            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2629              :                                         {
    2630            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2631              :                                         }
    2632              :                                       else
    2633              :                                         _r1 = _o1[0];
    2634            0 :                                       res_op1 = _r1;
    2635              :                                     }
    2636            0 :                                     tree _r;
    2637            0 :                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2638            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 669, __FILE__, __LINE__, true);
    2639            0 :                                     return _r;
    2640              :                                   }
    2641              : next_after_fail843:;
    2642              :                                 }
    2643              :                               else
    2644              :                                 {
    2645            0 :                                   if ((code1 == NE_EXPR
    2646            0 :  && code2 == LT_EXPR
    2647              :  && one_before
    2648            0 :  && allbits)
    2649            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2650            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2651            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2652              : )
    2653              :                                     {
    2654            0 :                                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail844;
    2655            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail844;
    2656            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail844;
    2657            0 :                                       {
    2658            0 :                                         tree res_op0;
    2659            0 :                                         res_op0 = captures[4];
    2660            0 :                                         tree res_op1;
    2661            0 :                                         {
    2662            0 :                                           tree _o1[1], _r1;
    2663            0 :                                           _o1[0] = captures[2];
    2664            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2665              :                                             {
    2666            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2667              :                                             }
    2668              :                                           else
    2669              :                                             _r1 = _o1[0];
    2670            0 :                                           res_op1 = _r1;
    2671              :                                         }
    2672            0 :                                         tree _r;
    2673            0 :                                         _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2674            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 670, __FILE__, __LINE__, true);
    2675            0 :                                         return _r;
    2676              :                                       }
    2677              : next_after_fail844:;
    2678              :                                     }
    2679              :                                 }
    2680              :                             }
    2681              :                         }
    2682              :                     }
    2683              :                 }
    2684              :             }
    2685              :       }
    2686              :     }
    2687              :   return NULL_TREE;
    2688              : }
    2689              : 
    2690              : tree
    2691            0 : generic_simplify_500 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2692              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2693              :  const enum tree_code ARG_UNUSED (minmax),
    2694              :  const enum tree_code ARG_UNUSED (maxmin))
    2695              : {
    2696            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2697            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail889;
    2698            0 :   {
    2699            0 :     tree res_op0;
    2700            0 :     res_op0 = captures[1];
    2701            0 :     tree res_op1;
    2702            0 :     {
    2703            0 :       tree _o1[1], _r1;
    2704            0 :       _o1[0] = captures[2];
    2705            0 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2706            0 :       res_op1 = _r1;
    2707              :     }
    2708            0 :     tree _r;
    2709            0 :     _r = fold_build2_loc (loc, maxmin, type, res_op0, res_op1);
    2710            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 703, __FILE__, __LINE__, true);
    2711              :     return _r;
    2712              :   }
    2713            0 : next_after_fail889:;
    2714            0 :   return NULL_TREE;
    2715              : }
    2716              : 
    2717              : tree
    2718         1853 : generic_simplify_507 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2719              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2720              : {
    2721         1853 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2722         1853 :   if (! TYPE_UNSIGNED (type)
    2723         1432 :  && ! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    2724         1853 :  && single_use (captures[0])
    2725              : )
    2726              :     {
    2727         1432 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail897;
    2728         1432 :       {
    2729         1432 :         tree res_op0;
    2730         1432 :         res_op0 = captures[1];
    2731         1432 :         tree res_op1;
    2732         1432 :         {
    2733         1432 :           tree _o1[1], _r1;
    2734         1432 :           _o1[0] = captures[2];
    2735         1432 :           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2736         1432 :           res_op1 = _r1;
    2737              :         }
    2738         1432 :         tree _r;
    2739         1432 :         _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    2740         1432 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 710, __FILE__, __LINE__, true);
    2741         1432 :         return _r;
    2742              :       }
    2743            0 : next_after_fail897:;
    2744              :     }
    2745              :   return NULL_TREE;
    2746              : }
    2747              : 
    2748              : tree
    2749           47 : generic_simplify_515 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2750              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2751              :  const enum tree_code ARG_UNUSED (minmax),
    2752              :  const enum tree_code ARG_UNUSED (cmp))
    2753              : {
    2754           47 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2755           47 :   {
    2756           47 :  poly_int64 off0, off1;
    2757           47 :  tree base0, base1;
    2758           47 :  int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[3], base0, base1,
    2759              :  off0, off1,
    2760              : 1
    2761              : );
    2762           47 :       if (equal == 1
    2763              : )
    2764              :         {
    2765            0 :           if (minmax == MIN_EXPR
    2766              : )
    2767              :             {
    2768            0 :               if (known_le (off0, off1)
    2769              : )
    2770              :                 {
    2771            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail906;
    2772            0 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail906;
    2773            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail906;
    2774            0 :                   {
    2775            0 :                     tree _r;
    2776            0 :                     _r = captures[0];
    2777            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 718, __FILE__, __LINE__, true);
    2778            0 :                     return _r;
    2779              :                   }
    2780           47 : next_after_fail906:;
    2781              :                 }
    2782              :               else
    2783              :                 {
    2784            0 :                   if (known_gt (off0, off1)
    2785              : )
    2786              :                     {
    2787            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail907;
    2788            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail907;
    2789            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail907;
    2790            0 :                       {
    2791            0 :                         tree _r;
    2792            0 :                         _r = captures[2];
    2793            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 719, __FILE__, __LINE__, true);
    2794            0 :                         return _r;
    2795              :                       }
    2796           47 : next_after_fail907:;
    2797              :                     }
    2798              :                 }
    2799              :             }
    2800              :           else
    2801              :             {
    2802            0 :               if (known_ge (off0, off1)
    2803              : )
    2804              :                 {
    2805            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail908;
    2806            0 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail908;
    2807            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail908;
    2808            0 :                   {
    2809            0 :                     tree _r;
    2810            0 :                     _r = captures[0];
    2811            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 720, __FILE__, __LINE__, true);
    2812            0 :                     return _r;
    2813              :                   }
    2814           47 : next_after_fail908:;
    2815              :                 }
    2816              :               else
    2817              :                 {
    2818            0 :                   if (known_lt (off0, off1)
    2819              : )
    2820              :                     {
    2821            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail909;
    2822            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail909;
    2823            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail909;
    2824            0 :                       {
    2825            0 :                         tree _r;
    2826            0 :                         _r = captures[2];
    2827            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 721, __FILE__, __LINE__, true);
    2828            0 :                         return _r;
    2829              :                       }
    2830           47 : next_after_fail909:;
    2831              :                     }
    2832              :                 }
    2833              :             }
    2834              :         }
    2835              :   }
    2836           47 :   return NULL_TREE;
    2837              : }
    2838              : 
    2839              : tree
    2840            6 : generic_simplify_535 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2841              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    2842              : {
    2843            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2844            6 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail941;
    2845            6 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail941;
    2846            6 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail941;
    2847            6 :   {
    2848            6 :     tree _r;
    2849            6 :     _r = captures[2];
    2850            6 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 519, __FILE__, __LINE__, true);
    2851              :     return _r;
    2852              :   }
    2853              : next_after_fail941:;
    2854              :   return NULL_TREE;
    2855              : }
    2856              : 
    2857              : tree
    2858            0 : generic_simplify_543 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2859              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2860              :  const combined_fn ARG_UNUSED (cond_len_op))
    2861              : {
    2862            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2863            0 :   {
    2864            0 :  tree op_type = TREE_TYPE (captures[3]);
    2865            0 :       if (element_precision (type) == element_precision (op_type)
    2866              : )
    2867              :         {
    2868            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail949;
    2869            0 :           {
    2870            0 :             tree res_op0;
    2871            0 :             {
    2872            0 :               tree _o1[6], _r1;
    2873            0 :               _o1[0] = captures[0];
    2874            0 :               _o1[1] = captures[1];
    2875            0 :               _o1[2] = captures[2];
    2876            0 :               {
    2877            0 :                 tree _o2[1], _r2;
    2878            0 :                 _o2[0] = captures[6];
    2879            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    2880              :                   {
    2881            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    2882              :                   }
    2883              :                 else
    2884              :                   _r2 = _o2[0];
    2885            0 :                 _o1[3] = _r2;
    2886              :               }
    2887            0 :               _o1[4] = captures[4];
    2888            0 :               _o1[5] = captures[5];
    2889            0 :               _r1 = maybe_build_call_expr_loc (loc, cond_len_op, TREE_TYPE (_o1[1]), 6, _o1[0], _o1[1], _o1[2], _o1[3], _o1[4], _o1[5]);
    2890            0 :               if (!_r1)
    2891            0 :                 goto next_after_fail949;
    2892            0 :               res_op0 = _r1;
    2893              :             }
    2894            0 :             tree _r;
    2895            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    2896            0 :             if (TREE_SIDE_EFFECTS (captures[3]))
    2897            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    2898            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 744, __FILE__, __LINE__, true);
    2899            0 :             return _r;
    2900              :           }
    2901              : next_after_fail949:;
    2902              :         }
    2903              :   }
    2904              :   return NULL_TREE;
    2905              : }
    2906              : 
    2907              : tree
    2908            0 : generic_simplify_552 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2909              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2910              :  const combined_fn ARG_UNUSED (ovf))
    2911              : {
    2912            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2913            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2914            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2915            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
    2916            0 :  && (!TYPE_UNSIGNED (TREE_TYPE (captures[0])) || TYPE_UNSIGNED (TREE_TYPE (captures[1])))
    2917              : )
    2918              :     {
    2919            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail958;
    2920            0 :       {
    2921            0 :         tree res_op0;
    2922            0 :         res_op0 = captures[1];
    2923            0 :         tree res_op1;
    2924            0 :         res_op1 = captures[2];
    2925            0 :         tree _r;
    2926            0 :         _r = maybe_build_call_expr_loc (loc, ovf, type, 2, res_op0, res_op1);
    2927            0 :         if (!_r)
    2928            0 :           goto next_after_fail958;
    2929            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 753, __FILE__, __LINE__, true);
    2930            0 :         return _r;
    2931              :       }
    2932              : next_after_fail958:;
    2933              :     }
    2934              :   return NULL_TREE;
    2935              : }
    2936              : 
    2937              : tree
    2938            0 : generic_simplify_562 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2939              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2940              :  const combined_fn ARG_UNUSED (froms),
    2941              :  const combined_fn ARG_UNUSED (tos))
    2942              : {
    2943            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2944            0 :   if (optimize && canonicalize_math_p ()
    2945            0 :  && targetm.libc_has_function (function_c99_misc, NULL_TREE)
    2946              : )
    2947              :     {
    2948            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail968;
    2949            0 :       {
    2950            0 :         tree res_op0;
    2951            0 :         {
    2952            0 :           tree _o1[1], _r1;
    2953            0 :           _o1[0] = captures[0];
    2954            0 :           _r1 = maybe_build_call_expr_loc (loc, tos, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2955            0 :           if (!_r1)
    2956            0 :             goto next_after_fail968;
    2957            0 :           res_op0 = _r1;
    2958              :         }
    2959            0 :         tree _r;
    2960            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2961            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 763, __FILE__, __LINE__, true);
    2962            0 :         return _r;
    2963              :       }
    2964              : next_after_fail968:;
    2965              :     }
    2966              :   return NULL_TREE;
    2967              : }
    2968              : 
    2969              : tree
    2970            0 : generic_simplify_574 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2971              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2972              :  const combined_fn ARG_UNUSED (SIGNBIT))
    2973              : {
    2974            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2975            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail980;
    2976            0 :   {
    2977            0 :     tree _r;
    2978            0 :     _r =  integer_zero_node;
    2979            0 :     if (TREE_SIDE_EFFECTS (captures[0]))
    2980            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2981            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 775, __FILE__, __LINE__, true);
    2982              :     return _r;
    2983              :   }
    2984            0 : next_after_fail980:;
    2985            0 :   return NULL_TREE;
    2986              : }
    2987              : 
    2988              : tree
    2989            0 : generic_simplify_580 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2990              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    2991              : {
    2992            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2993            0 :   if (canonicalize_math_after_vectorization_p ()
    2994              : )
    2995              :     {
    2996              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail986;
    2997              :       {
    2998              :         tree res_op0;
    2999              :         res_op0 = captures[0];
    3000              :         tree res_op1;
    3001              :         res_op1 = captures[1];
    3002              :         tree res_op2;
    3003              :         res_op2 = captures[2];
    3004              :         tree _r;
    3005              :         _r = maybe_build_call_expr_loc (loc, CFN_FNMA, type, 3, res_op0, res_op1, res_op2);
    3006              :         if (!_r)
    3007              :           goto next_after_fail986;
    3008              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 781, __FILE__, __LINE__, true);
    3009              :         return _r;
    3010              :       }
    3011            0 : next_after_fail986:;
    3012              :     }
    3013            0 :   return NULL_TREE;
    3014              : }
    3015              : 
    3016              : tree
    3017            0 : generic_simplify_590 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3018              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures))
    3019              : {
    3020            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3021            0 :   if (canonicalize_math_after_vectorization_p ()
    3022              : )
    3023              :     {
    3024              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail996;
    3025              :       {
    3026              :         tree res_op0;
    3027              :         res_op0 = captures[0];
    3028              :         tree res_op1;
    3029              :         res_op1 = captures[1];
    3030              :         tree res_op2;
    3031              :         res_op2 = captures[2];
    3032              :         tree res_op3;
    3033              :         res_op3 = captures[3];
    3034              :         tree res_op4;
    3035              :         res_op4 = captures[4];
    3036              :         tree _r;
    3037              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3038              :         if (!_r)
    3039              :           goto next_after_fail996;
    3040              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 791, __FILE__, __LINE__, true);
    3041              :         return _r;
    3042              :       }
    3043            0 : next_after_fail996:;
    3044              :     }
    3045            0 :   return NULL_TREE;
    3046              : }
    3047              : 
    3048              : tree
    3049            0 : generic_simplify_600 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3050              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3051              :  const combined_fn ARG_UNUSED (bswap),
    3052              :  const combined_fn ARG_UNUSED (popcount))
    3053              : {
    3054            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3055            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3056            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3057              : )
    3058              :     {
    3059            0 :       {
    3060            0 :  tree type0 = TREE_TYPE (captures[0]);
    3061            0 :  tree type1 = TREE_TYPE (captures[1]);
    3062            0 :  unsigned int prec0 = TYPE_PRECISION (type0);
    3063            0 :  unsigned int prec1 = TYPE_PRECISION (type1);
    3064            0 :           if (prec0 == prec1 || (prec0 > prec1 && TYPE_UNSIGNED (type1))
    3065              : )
    3066              :             {
    3067            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1006;
    3068            0 :               {
    3069            0 :                 tree res_op0;
    3070            0 :                 {
    3071            0 :                   tree _o1[1], _r1;
    3072            0 :                   {
    3073            0 :                     tree _o2[1], _r2;
    3074            0 :                     _o2[0] = captures[2];
    3075            0 :                     if (TREE_TYPE (_o2[0]) != type1)
    3076              :                       {
    3077            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, type1, _o2[0]);
    3078              :                       }
    3079              :                     else
    3080              :                       _r2 = _o2[0];
    3081            0 :                     _o1[0] = _r2;
    3082              :                   }
    3083            0 :                   if (TREE_TYPE (_o1[0]) != type0)
    3084              :                     {
    3085            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3086              :                     }
    3087              :                   else
    3088              :                     _r1 = _o1[0];
    3089            0 :                   res_op0 = _r1;
    3090              :                 }
    3091            0 :                 tree _r;
    3092            0 :                 _r = maybe_build_call_expr_loc (loc, popcount, type, 1, res_op0);
    3093            0 :                 if (!_r)
    3094            0 :                   goto next_after_fail1006;
    3095            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 795, __FILE__, __LINE__, true);
    3096            0 :                 return _r;
    3097              :               }
    3098              : next_after_fail1006:;
    3099              :             }
    3100              :       }
    3101              :     }
    3102              :   return NULL_TREE;
    3103              : }
    3104              : 
    3105              : tree
    3106      3691642 : generic_simplify_ABS_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3107              : {
    3108      3691642 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3109      3691642 :   switch (TREE_CODE (_p0))
    3110              :     {
    3111       179148 :     CASE_CONVERT:
    3112       179148 :       {
    3113       179148 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3114       179148 :         {
    3115       179148 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3116       358294 :           if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3117          914 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    3118          840 :  && element_precision (type) > element_precision (TREE_TYPE (captures[0]))
    3119       179373 :  && (!VECTOR_TYPE_P (type)
    3120            0 :  || target_supports_op_p (TREE_TYPE (captures[0]), ABSU_EXPR, optab_vector))
    3121              : )
    3122              :             {
    3123          225 :               {
    3124          225 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
    3125          225 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1020;
    3126          225 :                   {
    3127          225 :                     tree res_op0;
    3128          225 :                     {
    3129          225 :                       tree _o1[1], _r1;
    3130          225 :                       _o1[0] = captures[0];
    3131          225 :                       _r1 = fold_build1_loc (loc, ABSU_EXPR, utype, _o1[0]);
    3132          225 :                       res_op0 = _r1;
    3133              :                     }
    3134          225 :                     tree _r;
    3135          225 :                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3136          225 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 808, __FILE__, __LINE__, true);
    3137          225 :                     return _r;
    3138              :                   }
    3139            0 : next_after_fail1020:;
    3140              :               }
    3141              :             }
    3142              :         }
    3143              :         break;
    3144              :       }
    3145           12 :     case ABS_EXPR:
    3146           12 :       {
    3147           12 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3148           12 :         {
    3149           12 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    3150           12 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1021;
    3151           12 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1021;
    3152           12 :           {
    3153           12 :             tree _r;
    3154           12 :             _r = captures[0];
    3155           12 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 809, __FILE__, __LINE__, true);
    3156           12 :             return _r;
    3157              :           }
    3158            0 : next_after_fail1021:;
    3159              :         }
    3160            0 :         break;
    3161              :       }
    3162           57 :     case NEGATE_EXPR:
    3163           57 :       {
    3164           57 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3165           57 :         {
    3166           57 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3167           57 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1022;
    3168           57 :           {
    3169           57 :             tree res_op0;
    3170           57 :             res_op0 = captures[0];
    3171           57 :             tree _r;
    3172           57 :             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    3173           57 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 810, __FILE__, __LINE__, true);
    3174      3691642 :             return _r;
    3175              :           }
    3176            0 : next_after_fail1022:;
    3177              :         }
    3178            0 :         break;
    3179              :       }
    3180          317 :     case PLUS_EXPR:
    3181          317 :       {
    3182          317 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3183          317 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3184          317 :         if (real_zerop (_q21))
    3185              :           {
    3186            3 :             {
    3187            3 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3188            3 :               tree res = generic_simplify_1 (loc, type, _p0, captures, PLUS_EXPR);
    3189            3 :               if (res) return res;
    3190              :             }
    3191              :           }
    3192              :         break;
    3193              :       }
    3194         7307 :     case MINUS_EXPR:
    3195         7307 :       {
    3196         7307 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3197         7307 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3198         7307 :         if (real_zerop (_q21))
    3199              :           {
    3200            0 :             {
    3201            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3202            0 :               tree res = generic_simplify_1 (loc, type, _p0, captures, MINUS_EXPR);
    3203            0 :               if (res) return res;
    3204              :             }
    3205              :           }
    3206              :         break;
    3207              :       }
    3208            0 :     case VEC_COND_EXPR:
    3209            0 :       {
    3210            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3211            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3212            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    3213            0 :         {
    3214            0 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3215            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1023;
    3216            0 :           {
    3217            0 :             tree res_op0;
    3218            0 :             res_op0 = captures[1];
    3219            0 :             tree res_op1;
    3220            0 :             {
    3221            0 :               tree _o1[1], _r1;
    3222            0 :               _o1[0] = captures[2];
    3223            0 :               _r1 = fold_build1_loc (loc, ABS_EXPR, type, _o1[0]);
    3224            0 :               if (EXPR_P (_r1))
    3225            0 :                 goto next_after_fail1023;
    3226            0 :               res_op1 = _r1;
    3227              :             }
    3228            0 :             tree res_op2;
    3229            0 :             {
    3230            0 :               tree _o1[1], _r1;
    3231            0 :               _o1[0] = captures[3];
    3232            0 :               _r1 = fold_build1_loc (loc, ABS_EXPR, type, _o1[0]);
    3233            0 :               if (EXPR_P (_r1))
    3234            0 :                 goto next_after_fail1023;
    3235            0 :               res_op2 = _r1;
    3236              :             }
    3237            0 :             tree _r;
    3238            0 :             _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    3239            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 811, __FILE__, __LINE__, true);
    3240            0 :             return _r;
    3241              :           }
    3242            0 : next_after_fail1023:;
    3243              :         }
    3244            0 :         break;
    3245              :       }
    3246          703 :     case CALL_EXPR:
    3247          703 :       switch (get_call_combined_fn (_p0))
    3248              :         {
    3249            0 :         case CFN_BUILT_IN_COPYSIGNF16:
    3250            0 :           if (call_expr_nargs (_p0) == 2)
    3251              :     {
    3252            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3253            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3254            0 :               {
    3255            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3256            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGNF16);
    3257            0 :                 if (res) return res;
    3258              :               }
    3259              :             }
    3260              :           break;
    3261            0 :         case CFN_BUILT_IN_COPYSIGNF32:
    3262            0 :           if (call_expr_nargs (_p0) == 2)
    3263              :     {
    3264            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3265            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3266            0 :               {
    3267            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3268            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGNF32);
    3269            0 :                 if (res) return res;
    3270              :               }
    3271              :             }
    3272              :           break;
    3273            0 :         case CFN_BUILT_IN_COPYSIGNF64:
    3274            0 :           if (call_expr_nargs (_p0) == 2)
    3275              :     {
    3276            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3277            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3278            0 :               {
    3279            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3280            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGNF64);
    3281            0 :                 if (res) return res;
    3282              :               }
    3283              :             }
    3284              :           break;
    3285            0 :         case CFN_BUILT_IN_COPYSIGNF128X:
    3286            0 :           if (call_expr_nargs (_p0) == 2)
    3287              :     {
    3288            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3289            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3290            0 :               {
    3291            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3292            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGNF128X);
    3293            0 :                 if (res) return res;
    3294              :               }
    3295              :             }
    3296              :           break;
    3297            0 :         case CFN_BUILT_IN_COPYSIGNF128:
    3298            0 :           if (call_expr_nargs (_p0) == 2)
    3299              :     {
    3300            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3301            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3302            0 :               {
    3303            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3304            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGNF128);
    3305            0 :                 if (res) return res;
    3306              :               }
    3307              :             }
    3308              :           break;
    3309            0 :         case CFN_BUILT_IN_COPYSIGNF32X:
    3310            0 :           if (call_expr_nargs (_p0) == 2)
    3311              :     {
    3312            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3313            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3314            0 :               {
    3315            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3316            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGNF32X);
    3317            0 :                 if (res) return res;
    3318              :               }
    3319              :             }
    3320              :           break;
    3321            0 :         case CFN_BUILT_IN_COPYSIGNF64X:
    3322            0 :           if (call_expr_nargs (_p0) == 2)
    3323              :     {
    3324            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3325            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3326            0 :               {
    3327            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3328            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGNF64X);
    3329            0 :                 if (res) return res;
    3330              :               }
    3331              :             }
    3332              :           break;
    3333            0 :         case CFN_BUILT_IN_COPYSIGN:
    3334            0 :           if (call_expr_nargs (_p0) == 2)
    3335              :     {
    3336            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3337            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3338            0 :               {
    3339            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3340            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGN);
    3341            0 :                 if (res) return res;
    3342              :               }
    3343              :             }
    3344              :           break;
    3345            1 :         case CFN_BUILT_IN_COPYSIGNF:
    3346            1 :           if (call_expr_nargs (_p0) == 2)
    3347              :     {
    3348            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3349            1 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3350            1 :               {
    3351            1 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3352            1 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGNF);
    3353            1 :                 if (res) return res;
    3354              :               }
    3355              :             }
    3356              :           break;
    3357            0 :         case CFN_BUILT_IN_COPYSIGNL:
    3358            0 :           if (call_expr_nargs (_p0) == 2)
    3359              :     {
    3360            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3361            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3362            0 :               {
    3363            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3364            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_BUILT_IN_COPYSIGNL);
    3365            0 :                 if (res) return res;
    3366              :               }
    3367              :             }
    3368              :           break;
    3369            0 :         case CFN_COPYSIGN:
    3370            0 :           if (call_expr_nargs (_p0) == 2)
    3371              :     {
    3372            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3373            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3374            0 :               {
    3375            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3376            0 :                 tree res = generic_simplify_2 (loc, type, _p0, captures, CFN_COPYSIGN);
    3377            0 :                 if (res) return res;
    3378              :               }
    3379              :             }
    3380              :           break;
    3381              :         default:;
    3382              :         }
    3383              :       break;
    3384      3691345 :     default:;
    3385              :     }
    3386      3691345 : if (tree_expr_nonnegative_p (_p0))
    3387              :   {
    3388          549 :     {
    3389          549 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3390          549 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1024;
    3391          549 :       {
    3392          549 :         tree _r;
    3393          549 :         _r = captures[0];
    3394          549 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 812, __FILE__, __LINE__, true);
    3395          549 :         return _r;
    3396              :       }
    3397            0 : next_after_fail1024:;
    3398              :     }
    3399              :   }
    3400              :   return NULL_TREE;
    3401              : }
    3402              : 
    3403              : tree
    3404     98205673 : generic_simplify_PLUS_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    3405              : {
    3406     98205673 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3407     98205673 :   if (integer_zerop (_p1))
    3408              :     {
    3409     27792704 :       {
    3410     27792704 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3411     27792704 :         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1143;
    3412     27792704 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1143;
    3413     27792704 :         {
    3414     27792704 :           tree res_op0;
    3415     27792704 :           res_op0 = captures[0];
    3416     27792704 :           tree _r;
    3417     27792704 :           _r = non_lvalue_loc (loc, res_op0);
    3418     27792704 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 869, __FILE__, __LINE__, true);
    3419     27792704 :           return _r;
    3420              :         }
    3421              : next_after_fail1143:;
    3422              :       }
    3423              :     }
    3424     70412969 :   if (real_zerop (_p1))
    3425              :     {
    3426         5272 :       {
    3427         5272 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    3428         5272 :         tree res = generic_simplify_3 (loc, type, _p0, _p1, captures);
    3429         5272 :         if (res) return res;
    3430              :       }
    3431              :     }
    3432     70412874 :   switch (TREE_CODE (_p0))
    3433              :     {
    3434      6437196 :     case PLUS_EXPR:
    3435      6437196 :       {
    3436      6437196 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3437      6437196 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3438      6437196 :         switch (TREE_CODE (_q21))
    3439              :           {
    3440       115118 :           case REAL_CST:
    3441       115118 :             {
    3442       115118 :               switch (TREE_CODE (_p1))
    3443              :                 {
    3444           70 :                 case REAL_CST:
    3445           70 :                   {
    3446           70 :                     {
    3447           70 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    3448           70 :                       tree res = generic_simplify_4 (loc, type, _p0, _p1, captures, PLUS_EXPR, PLUS_EXPR);
    3449           70 :                       if (res) return res;
    3450              :                     }
    3451           67 :                     break;
    3452              :                   }
    3453              :                 default:;
    3454              :                 }
    3455              :               break;
    3456              :             }
    3457              :           default:;
    3458              :           }
    3459              :         break;
    3460              :       }
    3461      2098018 :     case MINUS_EXPR:
    3462      2098018 :       {
    3463      2098018 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3464      2098018 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3465      2098018 :         switch (TREE_CODE (_q21))
    3466              :           {
    3467        21807 :           case REAL_CST:
    3468        21807 :             {
    3469        21807 :               switch (TREE_CODE (_p1))
    3470              :                 {
    3471          195 :                 case REAL_CST:
    3472          195 :                   {
    3473          195 :                     {
    3474          195 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    3475          195 :                       tree res = generic_simplify_4 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR);
    3476          195 :                       if (res) return res;
    3477              :                     }
    3478          193 :                     break;
    3479              :                   }
    3480              :                 default:;
    3481              :                 }
    3482              :               break;
    3483              :             }
    3484              :           default:;
    3485              :           }
    3486              :         break;
    3487              :       }
    3488        12061 :     case MAX_EXPR:
    3489        12061 :       {
    3490        12061 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3491        12061 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3492        12061 :         if (integer_zerop (_q21))
    3493              :           {
    3494         4565 :             switch (TREE_CODE (_p1))
    3495              :               {
    3496          114 :               case MAX_EXPR:
    3497          114 :                 {
    3498          114 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    3499          114 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    3500          114 :                   switch (TREE_CODE (_q50))
    3501              :                     {
    3502           48 :                     case NEGATE_EXPR:
    3503           48 :                       {
    3504           48 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    3505           48 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    3506              :                           {
    3507           48 :                             if (integer_zerop (_q51))
    3508              :                               {
    3509           48 :                                 {
    3510           48 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3511           48 :                                   tree res = generic_simplify_5 (loc, type, _p0, _p1, captures);
    3512           48 :                                   if (res) return res;
    3513              :                                 }
    3514              :                               }
    3515              :                           }
    3516              :                         break;
    3517              :                       }
    3518              :                     default:;
    3519              :                     }
    3520              :                   break;
    3521              :                 }
    3522              :               default:;
    3523              :               }
    3524              :           }
    3525        12013 :         switch (TREE_CODE (_q20))
    3526              :           {
    3527           18 :           case NEGATE_EXPR:
    3528           18 :             {
    3529           18 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3530           18 :               if (integer_zerop (_q21))
    3531              :                 {
    3532           18 :                   switch (TREE_CODE (_p1))
    3533              :                     {
    3534           18 :                     case MAX_EXPR:
    3535           18 :                       {
    3536           18 :                         tree _q60 = TREE_OPERAND (_p1, 0);
    3537           18 :                         tree _q61 = TREE_OPERAND (_p1, 1);
    3538           18 :                         if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    3539              :                           {
    3540           18 :                             if (integer_zerop (_q61))
    3541              :                               {
    3542           18 :                                 {
    3543           18 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3544           18 :                                   tree res = generic_simplify_5 (loc, type, _p0, _p1, captures);
    3545           18 :                                   if (res) return res;
    3546              :                                 }
    3547              :                               }
    3548              :                           }
    3549              :                         break;
    3550              :                       }
    3551              :                     default:;
    3552              :                     }
    3553              :                 }
    3554              :               break;
    3555              :             }
    3556              :           default:;
    3557              :           }
    3558              :         break;
    3559              :       }
    3560     12926644 :     case MULT_EXPR:
    3561     12926644 :       {
    3562     12926644 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3563     12926644 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3564     12926644 :         switch (TREE_CODE (_q20))
    3565              :           {
    3566      1798689 :           case PLUS_EXPR:
    3567      1798689 :             {
    3568      1798689 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3569      1798689 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3570      1798689 :               switch (TREE_CODE (_q31))
    3571              :                 {
    3572       487132 :                 case INTEGER_CST:
    3573       487132 :                   {
    3574       487132 :                     switch (TREE_CODE (_q21))
    3575              :                       {
    3576       173110 :                       case INTEGER_CST:
    3577       173110 :                         {
    3578       173110 :                           switch (TREE_CODE (_p1))
    3579              :                             {
    3580       121370 :                             case INTEGER_CST:
    3581       121370 :                               {
    3582       121370 :                                 {
    3583       121370 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    3584       121370 :                                   {
    3585       121370 :  bool overflowed = true;
    3586       121370 :  wi::overflow_type ovf1;
    3587       121370 :  wi::overflow_type ovf2;
    3588       121370 :  wide_int mul = wi::mul (wi::to_wide (captures[3]), wi::to_wide (captures[4]),
    3589       242740 :  TYPE_SIGN (type), &ovf1);
    3590       364110 :  wide_int add = wi::add (mul, wi::to_wide (captures[5]),
    3591       121370 :  TYPE_SIGN (type), &ovf2);
    3592       121370 :  if (TYPE_OVERFLOW_UNDEFINED (type))
    3593              :  {
    3594              :  }
    3595              :  else
    3596        60506 :  overflowed = false;
    3597        60506 :                                       if (!overflowed
    3598              : )
    3599              :                                         {
    3600        60506 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1144;
    3601        60506 :                                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1144;
    3602        60506 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1144;
    3603        60506 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1144;
    3604        60506 :                                           {
    3605        60506 :                                             tree res_op0;
    3606        60506 :                                             {
    3607        60506 :                                               tree _o1[2], _r1;
    3608        60506 :                                               _o1[0] = captures[2];
    3609        60506 :                                               _o1[1] = captures[4];
    3610        60506 :                                               _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3611        60506 :                                               res_op0 = _r1;
    3612              :                                             }
    3613        60506 :                                             tree res_op1;
    3614        60506 :                                             res_op1 =  wide_int_to_tree (type, add);
    3615        60506 :                                             tree _r;
    3616        60506 :                                             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3617        60506 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 870, __FILE__, __LINE__, true);
    3618        60506 :                                             return _r;
    3619              :                                           }
    3620        60864 : next_after_fail1144:;
    3621              :                                         }
    3622       121370 :                                   }
    3623              :                                 }
    3624        60864 :                                 break;
    3625              :                               }
    3626              :                             default:;
    3627              :                             }
    3628              :                           break;
    3629              :                         }
    3630              :                       default:;
    3631              :                       }
    3632              :                     break;
    3633              :                   }
    3634              :                 default:;
    3635              :                 }
    3636              :               break;
    3637              :             }
    3638              :           default:;
    3639              :           }
    3640              :         break;
    3641              :       }
    3642        25740 :     case LSHIFT_EXPR:
    3643        25740 :       {
    3644        25740 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3645        25740 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3646        25740 :         switch (TREE_CODE (_p1))
    3647              :           {
    3648          688 :           case LSHIFT_EXPR:
    3649          688 :             {
    3650          688 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3651          688 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3652          688 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3653              :                 {
    3654            7 :                   {
    3655            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    3656            7 :                     tree res = generic_simplify_6 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3657            7 :                     if (res) return res;
    3658              :                   }
    3659              :                 }
    3660              :               break;
    3661              :             }
    3662              :           default:;
    3663              :           }
    3664              :         break;
    3665              :       }
    3666       231657 :     case BIT_AND_EXPR:
    3667       231657 :       {
    3668       231657 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3669       231657 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3670       231657 :         switch (TREE_CODE (_p1))
    3671              :           {
    3672          298 :           case BIT_AND_EXPR:
    3673          298 :             {
    3674          298 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3675          298 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3676          298 :               {
    3677          298 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
    3678          298 :                 tree res = generic_simplify_7 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3679          298 :                 if (res) return res;
    3680              :               }
    3681          298 :               {
    3682          298 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q50 };
    3683          298 :                 tree res = generic_simplify_7 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3684          298 :                 if (res) return res;
    3685              :               }
    3686          298 :               {
    3687          298 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q51 };
    3688          298 :                 tree res = generic_simplify_7 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3689          298 :                 if (res) return res;
    3690              :               }
    3691          298 :               {
    3692          298 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q50 };
    3693          298 :                 tree res = generic_simplify_7 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3694          298 :                 if (res) return res;
    3695              :               }
    3696          298 :               break;
    3697              :             }
    3698       231657 :           default:;
    3699              :           }
    3700       231657 :         if (integer_onep (_q21))
    3701              :           {
    3702       135076 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    3703              :               {
    3704           29 :                 {
    3705           29 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    3706           29 :                   tree res = generic_simplify_8 (loc, type, _p0, _p1, captures);
    3707           29 :                   if (res) return res;
    3708              :                 }
    3709              :               }
    3710              :           }
    3711              :         break;
    3712              :       }
    3713     70352261 :     default:;
    3714              :     }
    3715     70352261 : if (real_zerop (_p0))
    3716              :   {
    3717            0 :     {
    3718            0 :       tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
    3719            0 :       tree res = generic_simplify_3 (loc, type, _p0, _p1, captures);
    3720            0 :       if (res) return res;
    3721              :     }
    3722              :   }
    3723     70352261 :   switch (TREE_CODE (_p1))
    3724              :     {
    3725         5333 :     case BIT_AND_EXPR:
    3726         5333 :       {
    3727         5333 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3728         5333 :         tree _q31 = TREE_OPERAND (_p1, 1);
    3729         5333 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    3730              :           {
    3731           16 :             if (integer_onep (_q31))
    3732              :               {
    3733           16 :                 {
    3734           16 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    3735           16 :                   tree res = generic_simplify_8 (loc, type, _p0, _p1, captures);
    3736           16 :                   if (res) return res;
    3737              :                 }
    3738              :               }
    3739              :           }
    3740              :         break;
    3741              :       }
    3742     70352245 :     default:;
    3743              :     }
    3744     70352245 :   switch (TREE_CODE (_p0))
    3745              :     {
    3746       231628 :     case BIT_AND_EXPR:
    3747       231628 :       {
    3748       231628 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3749       231628 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3750       231628 :         switch (TREE_CODE (_p1))
    3751              :           {
    3752            9 :           case BIT_XOR_EXPR:
    3753            9 :             {
    3754            9 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3755            9 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3756            9 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3757              :                 {
    3758            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3759              :                     {
    3760            0 :                       {
    3761            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3762            0 :                         tree res = generic_simplify_9 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3763            0 :                         if (res) return res;
    3764              :                       }
    3765              :                     }
    3766              :                 }
    3767              :               break;
    3768              :             }
    3769            1 :           case BIT_IOR_EXPR:
    3770            1 :             {
    3771            1 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3772            1 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3773            1 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3774              :                 {
    3775            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3776              :                     {
    3777            0 :                       {
    3778            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3779            0 :                         tree res = generic_simplify_10 (loc, type, _p0, _p1, captures);
    3780            0 :                         if (res) return res;
    3781              :                       }
    3782              :                     }
    3783              :                 }
    3784              :               break;
    3785              :             }
    3786       231628 :           default:;
    3787              :           }
    3788       231628 :         switch (TREE_CODE (_q21))
    3789              :           {
    3790       231324 :           case INTEGER_CST:
    3791       231324 :             {
    3792       231324 :               switch (TREE_CODE (_p1))
    3793              :                 {
    3794        14367 :                 CASE_CONVERT:
    3795        14367 :                   {
    3796        14367 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    3797        14367 :                     switch (TREE_CODE (_q50))
    3798              :                       {
    3799            0 :                       case BIT_AND_EXPR:
    3800            0 :                         {
    3801            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    3802            0 :                           tree _q61 = TREE_OPERAND (_q50, 1);
    3803            0 :                           switch (TREE_CODE (_q61))
    3804              :                             {
    3805            0 :                             case INTEGER_CST:
    3806            0 :                               {
    3807            0 :                                 {
    3808            0 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q60, _q61 };
    3809            0 :                                   tree res = generic_simplify_11 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3810            0 :                                   if (res) return res;
    3811              :                                 }
    3812            0 :                                 break;
    3813              :                               }
    3814              :                             default:;
    3815              :                             }
    3816              :                           break;
    3817              :                         }
    3818              :                       default:;
    3819              :                       }
    3820              :                     break;
    3821              :                   }
    3822          298 :                 case BIT_AND_EXPR:
    3823          298 :                   {
    3824          298 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    3825          298 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    3826          298 :                     switch (TREE_CODE (_q51))
    3827              :                       {
    3828          298 :                       case INTEGER_CST:
    3829          298 :                         {
    3830          298 :                           {
    3831          298 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
    3832          298 :                             tree res = generic_simplify_11 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3833          298 :                             if (res) return res;
    3834              :                           }
    3835          198 :                           break;
    3836              :                         }
    3837              :                       default:;
    3838              :                       }
    3839              :                     break;
    3840              :                   }
    3841              :                 default:;
    3842              :                 }
    3843              :               break;
    3844              :             }
    3845              :           default:;
    3846              :           }
    3847              :         break;
    3848              :       }
    3849         1507 :     case BIT_XOR_EXPR:
    3850         1507 :       {
    3851         1507 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3852         1507 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3853         1507 :         switch (TREE_CODE (_p1))
    3854              :           {
    3855            0 :           case BIT_AND_EXPR:
    3856            0 :             {
    3857            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3858            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3859            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3860              :                 {
    3861            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3862              :                     {
    3863            0 :                       {
    3864            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3865            0 :                         tree res = generic_simplify_9 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3866            0 :                         if (res) return res;
    3867              :                       }
    3868              :                     }
    3869              :                 }
    3870              :               break;
    3871              :             }
    3872              :           default:;
    3873              :           }
    3874              :         break;
    3875              :       }
    3876          552 :     case BIT_IOR_EXPR:
    3877          552 :       {
    3878          552 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3879          552 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3880          552 :         switch (TREE_CODE (_p1))
    3881              :           {
    3882            0 :           case BIT_AND_EXPR:
    3883            0 :             {
    3884            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3885            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3886            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3887              :                 {
    3888            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3889              :                     {
    3890            0 :                       {
    3891            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3892            0 :                         tree res = generic_simplify_10 (loc, type, _p0, _p1, captures);
    3893            0 :                         if (res) return res;
    3894              :                       }
    3895              :                     }
    3896              :                 }
    3897              :               break;
    3898              :             }
    3899              :           default:;
    3900              :           }
    3901              :         break;
    3902              :       }
    3903      2098016 :     case MINUS_EXPR:
    3904      2098016 :       {
    3905      2098016 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3906      2098016 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3907      2098016 :         switch (TREE_CODE (_q20))
    3908              :           {
    3909            2 :           case BIT_AND_EXPR:
    3910            2 :             {
    3911            2 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3912            2 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3913            2 :               switch (TREE_CODE (_q21))
    3914              :                 {
    3915            1 :                 case BIT_IOR_EXPR:
    3916            1 :                   {
    3917            1 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    3918            1 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    3919            1 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    3920              :                       {
    3921            1 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    3922              :                           {
    3923            1 :                             if (integer_all_onesp (_p1))
    3924              :                               {
    3925            1 :                                 {
    3926            1 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    3927            1 :                                   tree res = generic_simplify_12 (loc, type, _p0, _p1, captures);
    3928            1 :                                   if (res) return res;
    3929              :                                 }
    3930              :                               }
    3931              :                           }
    3932              :                       }
    3933            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    3934              :                       {
    3935            0 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    3936              :                           {
    3937            0 :                             if (integer_all_onesp (_p1))
    3938              :                               {
    3939            0 :                                 {
    3940            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
    3941            0 :                                   tree res = generic_simplify_12 (loc, type, _p0, _p1, captures);
    3942            0 :                                   if (res) return res;
    3943              :                                 }
    3944              :                               }
    3945              :                           }
    3946              :                       }
    3947              :                     break;
    3948              :                   }
    3949              :                 default:;
    3950              :                 }
    3951              :               break;
    3952              :             }
    3953      2098015 :           default:;
    3954              :           }
    3955      2098015 :       {
    3956      2098015 :         tree _q20_pops[1];
    3957      2098015 :         if (tree_nop_convert (_q20, _q20_pops))
    3958              :           {
    3959       875685 :             tree _q30 = _q20_pops[0];
    3960       875685 :             switch (TREE_CODE (_q30))
    3961              :               {
    3962            0 :               case BIT_AND_EXPR:
    3963            0 :                 {
    3964            0 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    3965            0 :                   tree _q41 = TREE_OPERAND (_q30, 1);
    3966            0 :                   {
    3967            0 :                     tree _q21_pops[1];
    3968            0 :                     if (tree_nop_convert (_q21, _q21_pops))
    3969              :                       {
    3970            0 :                         tree _q70 = _q21_pops[0];
    3971            0 :                         switch (TREE_CODE (_q70))
    3972              :                           {
    3973            0 :                           case BIT_IOR_EXPR:
    3974            0 :                             {
    3975            0 :                               tree _q80 = TREE_OPERAND (_q70, 0);
    3976            0 :                               tree _q81 = TREE_OPERAND (_q70, 1);
    3977            0 :                               if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    3978              :                                 {
    3979            0 :                                   if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
    3980              :                                     {
    3981            0 :                                       if (integer_all_onesp (_p1))
    3982              :                                         {
    3983            0 :                                           {
    3984            0 :                                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    3985            0 :                                             tree res = generic_simplify_12 (loc, type, _p0, _p1, captures);
    3986            0 :                                             if (res) return res;
    3987              :                                           }
    3988              :                                         }
    3989              :                                     }
    3990              :                                 }
    3991            0 :                               if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
    3992              :                                 {
    3993            0 :                                   if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
    3994              :                                     {
    3995            0 :                                       if (integer_all_onesp (_p1))
    3996              :                                         {
    3997            0 :                                           {
    3998            0 :                                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
    3999            0 :                                             tree res = generic_simplify_12 (loc, type, _p0, _p1, captures);
    4000            0 :                                             if (res) return res;
    4001              :                                           }
    4002              :                                         }
    4003              :                                     }
    4004              :                                 }
    4005              :                               break;
    4006              :                             }
    4007              :                           default:;
    4008              :                           }
    4009              :                       }
    4010              :                   }
    4011            0 :                   break;
    4012              :                 }
    4013              :               default:;
    4014              :               }
    4015              :           }
    4016              :       }
    4017      2098015 :         {
    4018      2098015 :           tree _q21_pops[1];
    4019      2098015 :           if (tree_nop_convert (_q21, _q21_pops))
    4020              :             {
    4021      1109855 :               tree _q40 = _q21_pops[0];
    4022      1109855 :               if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4023              :                 {
    4024           34 :                   {
    4025           34 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    4026           34 :                     tree res = generic_simplify_13 (loc, type, _p0, _p1, captures);
    4027           34 :                     if (res) return res;
    4028              :                   }
    4029              :                 }
    4030              :             }
    4031              :         }
    4032      2097985 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4033              :           {
    4034        47493 :             {
    4035        47493 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4036        47493 :               tree res = generic_simplify_13 (loc, type, _p0, _p1, captures);
    4037        47493 :               if (res) return res;
    4038              :             }
    4039              :           }
    4040              :         break;
    4041              :       }
    4042     19230175 :     CASE_CONVERT:
    4043     19230175 :       {
    4044     19230175 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4045     19230175 :         switch (TREE_CODE (_q20))
    4046              :           {
    4047           72 :           case BIT_AND_EXPR:
    4048           72 :             {
    4049           72 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4050           72 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4051           72 :               switch (TREE_CODE (_q31))
    4052              :                 {
    4053            8 :                 case INTEGER_CST:
    4054            8 :                   {
    4055            8 :                     switch (TREE_CODE (_p1))
    4056              :                       {
    4057            0 :                       CASE_CONVERT:
    4058            0 :                         {
    4059            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4060            0 :                           switch (TREE_CODE (_q60))
    4061              :                             {
    4062            0 :                             case BIT_AND_EXPR:
    4063            0 :                               {
    4064            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    4065            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    4066            0 :                                 switch (TREE_CODE (_q71))
    4067              :                                   {
    4068            0 :                                   case INTEGER_CST:
    4069            0 :                                     {
    4070            0 :                                       {
    4071            0 :                                         tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q60, _q70, _q71 };
    4072            0 :                                         tree res = generic_simplify_11 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    4073            0 :                                         if (res) return res;
    4074              :                                       }
    4075            0 :                                       break;
    4076              :                                     }
    4077              :                                   default:;
    4078              :                                   }
    4079              :                                 break;
    4080              :                               }
    4081              :                             default:;
    4082              :                             }
    4083              :                           break;
    4084              :                         }
    4085            0 :                       case BIT_AND_EXPR:
    4086            0 :                         {
    4087            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4088            0 :                           tree _q61 = TREE_OPERAND (_p1, 1);
    4089            0 :                           switch (TREE_CODE (_q61))
    4090              :                             {
    4091            0 :                             case INTEGER_CST:
    4092            0 :                               {
    4093            0 :                                 {
    4094            0 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1, _q60, _q61 };
    4095            0 :                                   tree res = generic_simplify_11 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    4096            0 :                                   if (res) return res;
    4097              :                                 }
    4098            0 :                                 break;
    4099              :                               }
    4100              :                             default:;
    4101              :                             }
    4102              :                           break;
    4103              :                         }
    4104              :                       default:;
    4105              :                       }
    4106              :                     break;
    4107              :                   }
    4108              :                 default:;
    4109              :                 }
    4110              :               break;
    4111              :             }
    4112         4500 :           case NEGATE_EXPR:
    4113         4500 :             {
    4114         4500 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4115         4500 :               {
    4116         4500 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q30 };
    4117         4500 :                 tree res = generic_simplify_14 (loc, type, _p0, _p1, captures);
    4118         4500 :                 if (res) return res;
    4119              :               }
    4120         1708 :               break;
    4121              :             }
    4122              :           default:;
    4123              :           }
    4124              :         break;
    4125              :       }
    4126       123580 :     case COND_EXPR:
    4127       123580 :       {
    4128       123580 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4129       123580 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4130       123580 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4131       123580 :         if (integer_zerop (_q22))
    4132              :           {
    4133       114821 :             switch (TREE_CODE (_p1))
    4134              :               {
    4135           44 :               case COND_EXPR:
    4136           44 :                 {
    4137           44 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4138           44 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    4139           44 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    4140           44 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4141              :                     {
    4142            6 :                       if (integer_zerop (_q61))
    4143              :                         {
    4144            0 :                           {
    4145            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
    4146            0 :                             const enum tree_code op = PLUS_EXPR;
    4147            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1145;
    4148            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1145;
    4149            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1145;
    4150            0 :                             {
    4151            0 :                               tree res_op0;
    4152            0 :                               res_op0 = captures[1];
    4153            0 :                               tree res_op1;
    4154            0 :                               res_op1 = captures[2];
    4155            0 :                               tree res_op2;
    4156            0 :                               res_op2 = captures[4];
    4157            0 :                               tree _r;
    4158            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    4159            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 871, __FILE__, __LINE__, true);
    4160            0 :                               return _r;
    4161              :                             }
    4162            0 : next_after_fail1145:;
    4163              :                           }
    4164              :                         }
    4165              :                     }
    4166              :                   break;
    4167              :                 }
    4168              :               default:;
    4169              :               }
    4170              :           }
    4171       123580 :         if (integer_zerop (_q21))
    4172              :           {
    4173         1017 :             switch (TREE_CODE (_p1))
    4174              :               {
    4175            0 :               case COND_EXPR:
    4176            0 :                 {
    4177            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4178            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    4179            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    4180            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4181              :                     {
    4182            0 :                       if (integer_zerop (_q62))
    4183              :                         {
    4184            0 :                           {
    4185            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
    4186            0 :                             const enum tree_code op = PLUS_EXPR;
    4187            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1146;
    4188            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1146;
    4189            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1146;
    4190            0 :                             {
    4191            0 :                               tree res_op0;
    4192            0 :                               res_op0 = captures[1];
    4193            0 :                               tree res_op1;
    4194            0 :                               res_op1 = captures[2];
    4195            0 :                               tree res_op2;
    4196            0 :                               res_op2 = captures[4];
    4197            0 :                               tree _r;
    4198            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    4199            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 871, __FILE__, __LINE__, true);
    4200            0 :                               return _r;
    4201              :                             }
    4202            0 : next_after_fail1146:;
    4203              :                           }
    4204              :                         }
    4205              :                     }
    4206              :                   break;
    4207              :                 }
    4208              :               default:;
    4209              :               }
    4210              :           }
    4211       123580 :         switch (TREE_CODE (_q20))
    4212              :           {
    4213        29380 :           case LT_EXPR:
    4214        29380 :             {
    4215        29380 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4216        29380 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4217        29380 :               if (zerop (_q22))
    4218              :                 {
    4219        29318 :                   switch (TREE_CODE (_p1))
    4220              :                     {
    4221            0 :                     case COND_EXPR:
    4222            0 :                       {
    4223            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4224            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4225            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4226            0 :                         switch (TREE_CODE (_q80))
    4227              :                           {
    4228            0 :                           case GE_EXPR:
    4229            0 :                             {
    4230            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4231            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4232            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4233              :                                 {
    4234            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4235              :                                     {
    4236            0 :                                       if (zerop (_q82))
    4237              :                                         {
    4238            0 :                                           {
    4239            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4240            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, PLUS_EXPR, LT_EXPR, GE_EXPR);
    4241            0 :                                             if (res) return res;
    4242              :                                           }
    4243              :                                         }
    4244              :                                     }
    4245              :                                 }
    4246              :                               break;
    4247              :                             }
    4248              :                           default:;
    4249              :                           }
    4250              :                         break;
    4251              :                       }
    4252              :                     default:;
    4253              :                     }
    4254              :                 }
    4255              :               break;
    4256              :             }
    4257        30494 :           case LE_EXPR:
    4258        30494 :             {
    4259        30494 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4260        30494 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4261        30494 :               if (zerop (_q22))
    4262              :                 {
    4263        30236 :                   switch (TREE_CODE (_p1))
    4264              :                     {
    4265            5 :                     case COND_EXPR:
    4266            5 :                       {
    4267            5 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4268            5 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4269            5 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4270            5 :                         switch (TREE_CODE (_q80))
    4271              :                           {
    4272            0 :                           case GT_EXPR:
    4273            0 :                             {
    4274            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4275            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4276            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4277              :                                 {
    4278            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4279              :                                     {
    4280            0 :                                       if (zerop (_q82))
    4281              :                                         {
    4282            0 :                                           {
    4283            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4284            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, PLUS_EXPR, LE_EXPR, GT_EXPR);
    4285            0 :                                             if (res) return res;
    4286              :                                           }
    4287              :                                         }
    4288              :                                     }
    4289              :                                 }
    4290              :                               break;
    4291              :                             }
    4292              :                           default:;
    4293              :                           }
    4294              :                         break;
    4295              :                       }
    4296              :                     default:;
    4297              :                     }
    4298              :                 }
    4299              :               break;
    4300              :             }
    4301         1051 :           case EQ_EXPR:
    4302         1051 :             {
    4303         1051 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4304         1051 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4305         1051 :               if (zerop (_q22))
    4306              :                 {
    4307          570 :                   switch (TREE_CODE (_p1))
    4308              :                     {
    4309           32 :                     case COND_EXPR:
    4310           32 :                       {
    4311           32 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4312           32 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4313           32 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4314           32 :                         switch (TREE_CODE (_q80))
    4315              :                           {
    4316            0 :                           case NE_EXPR:
    4317            0 :                             {
    4318            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4319            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4320            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4321              :                                 {
    4322            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4323              :                                     {
    4324            0 :                                       if (zerop (_q82))
    4325              :                                         {
    4326            0 :                                           {
    4327            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4328            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, PLUS_EXPR, EQ_EXPR, NE_EXPR);
    4329            0 :                                             if (res) return res;
    4330              :                                           }
    4331              :                                         }
    4332              :                                     }
    4333              :                                 }
    4334              :                               break;
    4335              :                             }
    4336              :                           default:;
    4337              :                           }
    4338              :                         break;
    4339              :                       }
    4340              :                     default:;
    4341              :                     }
    4342              :                 }
    4343              :               break;
    4344              :             }
    4345         7944 :           case NE_EXPR:
    4346         7944 :             {
    4347         7944 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4348         7944 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4349         7944 :               if (zerop (_q22))
    4350              :                 {
    4351         5343 :                   switch (TREE_CODE (_p1))
    4352              :                     {
    4353            7 :                     case COND_EXPR:
    4354            7 :                       {
    4355            7 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4356            7 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4357            7 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4358            7 :                         switch (TREE_CODE (_q80))
    4359              :                           {
    4360            0 :                           case EQ_EXPR:
    4361            0 :                             {
    4362            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4363            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4364            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4365              :                                 {
    4366            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4367              :                                     {
    4368            0 :                                       if (zerop (_q82))
    4369              :                                         {
    4370            0 :                                           {
    4371            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4372            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, PLUS_EXPR, NE_EXPR, EQ_EXPR);
    4373            0 :                                             if (res) return res;
    4374              :                                           }
    4375              :                                         }
    4376              :                                     }
    4377              :                                 }
    4378              :                               break;
    4379              :                             }
    4380              :                           default:;
    4381              :                           }
    4382              :                         break;
    4383              :                       }
    4384              :                     default:;
    4385              :                     }
    4386              :                 }
    4387              :               break;
    4388              :             }
    4389        20204 :           case GE_EXPR:
    4390        20204 :             {
    4391        20204 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4392        20204 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4393        20204 :               if (zerop (_q22))
    4394              :                 {
    4395        18929 :                   switch (TREE_CODE (_p1))
    4396              :                     {
    4397            0 :                     case COND_EXPR:
    4398            0 :                       {
    4399            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4400            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4401            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4402            0 :                         switch (TREE_CODE (_q80))
    4403              :                           {
    4404            0 :                           case LT_EXPR:
    4405            0 :                             {
    4406            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4407            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4408            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4409              :                                 {
    4410            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4411              :                                     {
    4412            0 :                                       if (zerop (_q82))
    4413              :                                         {
    4414            0 :                                           {
    4415            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4416            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, PLUS_EXPR, GE_EXPR, LT_EXPR);
    4417            0 :                                             if (res) return res;
    4418              :                                           }
    4419              :                                         }
    4420              :                                     }
    4421              :                                 }
    4422              :                               break;
    4423              :                             }
    4424              :                           default:;
    4425              :                           }
    4426              :                         break;
    4427              :                       }
    4428              :                     default:;
    4429              :                     }
    4430              :                 }
    4431              :               break;
    4432              :             }
    4433        27714 :           case GT_EXPR:
    4434        27714 :             {
    4435        27714 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4436        27714 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4437        27714 :               if (zerop (_q22))
    4438              :                 {
    4439        27685 :                   switch (TREE_CODE (_p1))
    4440              :                     {
    4441            0 :                     case COND_EXPR:
    4442            0 :                       {
    4443            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4444            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4445            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4446            0 :                         switch (TREE_CODE (_q80))
    4447              :                           {
    4448            0 :                           case LE_EXPR:
    4449            0 :                             {
    4450            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4451            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4452            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4453              :                                 {
    4454            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4455              :                                     {
    4456            0 :                                       if (zerop (_q82))
    4457              :                                         {
    4458            0 :                                           {
    4459            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4460            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, PLUS_EXPR, GT_EXPR, LE_EXPR);
    4461            0 :                                             if (res) return res;
    4462              :                                           }
    4463              :                                         }
    4464              :                                     }
    4465              :                                 }
    4466              :                               break;
    4467              :                             }
    4468              :                           default:;
    4469              :                           }
    4470              :                         break;
    4471              :                       }
    4472              :                     default:;
    4473              :                     }
    4474              :                 }
    4475              :               break;
    4476              :             }
    4477            0 :           case UNORDERED_EXPR:
    4478            0 :             {
    4479            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4480            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4481            0 :               if (zerop (_q22))
    4482              :                 {
    4483            0 :                   switch (TREE_CODE (_p1))
    4484              :                     {
    4485            0 :                     case COND_EXPR:
    4486            0 :                       {
    4487            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4488            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4489            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4490            0 :                         switch (TREE_CODE (_q80))
    4491              :                           {
    4492            0 :                           case ORDERED_EXPR:
    4493            0 :                             {
    4494            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4495            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4496            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4497              :                                 {
    4498            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4499              :                                     {
    4500            0 :                                       if (zerop (_q82))
    4501              :                                         {
    4502            0 :                                           {
    4503            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4504            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNORDERED_EXPR, ORDERED_EXPR);
    4505            0 :                                             if (res) return res;
    4506              :                                           }
    4507              :                                         }
    4508              :                                     }
    4509              :                                 }
    4510              :                               break;
    4511              :                             }
    4512              :                           default:;
    4513              :                           }
    4514              :                         break;
    4515              :                       }
    4516              :                     default:;
    4517              :                     }
    4518              :                 }
    4519              :               break;
    4520              :             }
    4521            0 :           case ORDERED_EXPR:
    4522            0 :             {
    4523            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4524            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4525            0 :               if (zerop (_q22))
    4526              :                 {
    4527            0 :                   switch (TREE_CODE (_p1))
    4528              :                     {
    4529            0 :                     case COND_EXPR:
    4530            0 :                       {
    4531            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4532            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4533            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4534            0 :                         switch (TREE_CODE (_q80))
    4535              :                           {
    4536            0 :                           case UNORDERED_EXPR:
    4537            0 :                             {
    4538            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4539            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4540            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4541              :                                 {
    4542            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4543              :                                     {
    4544            0 :                                       if (zerop (_q82))
    4545              :                                         {
    4546            0 :                                           {
    4547            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4548            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, PLUS_EXPR, ORDERED_EXPR, UNORDERED_EXPR);
    4549            0 :                                             if (res) return res;
    4550              :                                           }
    4551              :                                         }
    4552              :                                     }
    4553              :                                 }
    4554              :                               break;
    4555              :                             }
    4556              :                           default:;
    4557              :                           }
    4558              :                         break;
    4559              :                       }
    4560              :                     default:;
    4561              :                     }
    4562              :                 }
    4563              :               break;
    4564              :             }
    4565            0 :           case UNLT_EXPR:
    4566            0 :             {
    4567            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4568            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4569            0 :               if (zerop (_q22))
    4570              :                 {
    4571            0 :                   switch (TREE_CODE (_p1))
    4572              :                     {
    4573            0 :                     case COND_EXPR:
    4574            0 :                       {
    4575            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4576            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4577            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4578            0 :                         switch (TREE_CODE (_q80))
    4579              :                           {
    4580            0 :                           case GE_EXPR:
    4581            0 :                             {
    4582            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4583            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4584            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4585              :                                 {
    4586            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4587              :                                     {
    4588            0 :                                       if (zerop (_q82))
    4589              :                                         {
    4590            0 :                                           {
    4591            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4592            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNLT_EXPR, GE_EXPR);
    4593            0 :                                             if (res) return res;
    4594              :                                           }
    4595              :                                         }
    4596              :                                     }
    4597              :                                 }
    4598              :                               break;
    4599              :                             }
    4600              :                           default:;
    4601              :                           }
    4602              :                         break;
    4603              :                       }
    4604              :                     default:;
    4605              :                     }
    4606              :                 }
    4607              :               break;
    4608              :             }
    4609            0 :           case UNLE_EXPR:
    4610            0 :             {
    4611            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4612            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4613            0 :               if (zerop (_q22))
    4614              :                 {
    4615            0 :                   switch (TREE_CODE (_p1))
    4616              :                     {
    4617            0 :                     case COND_EXPR:
    4618            0 :                       {
    4619            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4620            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4621            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4622            0 :                         switch (TREE_CODE (_q80))
    4623              :                           {
    4624            0 :                           case GT_EXPR:
    4625            0 :                             {
    4626            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4627            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4628            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4629              :                                 {
    4630            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4631              :                                     {
    4632            0 :                                       if (zerop (_q82))
    4633              :                                         {
    4634            0 :                                           {
    4635            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4636            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNLE_EXPR, GT_EXPR);
    4637            0 :                                             if (res) return res;
    4638              :                                           }
    4639              :                                         }
    4640              :                                     }
    4641              :                                 }
    4642              :                               break;
    4643              :                             }
    4644              :                           default:;
    4645              :                           }
    4646              :                         break;
    4647              :                       }
    4648              :                     default:;
    4649              :                     }
    4650              :                 }
    4651              :               break;
    4652              :             }
    4653            0 :           case UNGT_EXPR:
    4654            0 :             {
    4655            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4656            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4657            0 :               if (zerop (_q22))
    4658              :                 {
    4659            0 :                   switch (TREE_CODE (_p1))
    4660              :                     {
    4661            0 :                     case COND_EXPR:
    4662            0 :                       {
    4663            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4664            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4665            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4666            0 :                         switch (TREE_CODE (_q80))
    4667              :                           {
    4668            0 :                           case LE_EXPR:
    4669            0 :                             {
    4670            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4671            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4672            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4673              :                                 {
    4674            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4675              :                                     {
    4676            0 :                                       if (zerop (_q82))
    4677              :                                         {
    4678            0 :                                           {
    4679            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4680            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNGT_EXPR, LE_EXPR);
    4681            0 :                                             if (res) return res;
    4682              :                                           }
    4683              :                                         }
    4684              :                                     }
    4685              :                                 }
    4686              :                               break;
    4687              :                             }
    4688              :                           default:;
    4689              :                           }
    4690              :                         break;
    4691              :                       }
    4692              :                     default:;
    4693              :                     }
    4694              :                 }
    4695              :               break;
    4696              :             }
    4697            0 :           case UNGE_EXPR:
    4698            0 :             {
    4699            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4700            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4701            0 :               if (zerop (_q22))
    4702              :                 {
    4703            0 :                   switch (TREE_CODE (_p1))
    4704              :                     {
    4705            0 :                     case COND_EXPR:
    4706            0 :                       {
    4707            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4708            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4709            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4710            0 :                         switch (TREE_CODE (_q80))
    4711              :                           {
    4712            0 :                           case LT_EXPR:
    4713            0 :                             {
    4714            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4715            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4716            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4717              :                                 {
    4718            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4719              :                                     {
    4720            0 :                                       if (zerop (_q82))
    4721              :                                         {
    4722            0 :                                           {
    4723            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4724            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNGE_EXPR, LT_EXPR);
    4725            0 :                                             if (res) return res;
    4726              :                                           }
    4727              :                                         }
    4728              :                                     }
    4729              :                                 }
    4730              :                               break;
    4731              :                             }
    4732              :                           default:;
    4733              :                           }
    4734              :                         break;
    4735              :                       }
    4736              :                     default:;
    4737              :                     }
    4738              :                 }
    4739              :               break;
    4740              :             }
    4741            0 :           case UNEQ_EXPR:
    4742            0 :             {
    4743            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4744            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4745            0 :               if (zerop (_q22))
    4746              :                 {
    4747            0 :                   switch (TREE_CODE (_p1))
    4748              :                     {
    4749            0 :                     case COND_EXPR:
    4750            0 :                       {
    4751            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4752            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4753            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4754            0 :                         switch (TREE_CODE (_q80))
    4755              :                           {
    4756            0 :                           case LTGT_EXPR:
    4757            0 :                             {
    4758            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4759            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4760            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4761              :                                 {
    4762            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4763              :                                     {
    4764            0 :                                       if (zerop (_q82))
    4765              :                                         {
    4766            0 :                                           {
    4767            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4768            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNEQ_EXPR, LTGT_EXPR);
    4769            0 :                                             if (res) return res;
    4770              :                                           }
    4771              :                                         }
    4772              :                                     }
    4773              :                                 }
    4774              :                               break;
    4775              :                             }
    4776              :                           default:;
    4777              :                           }
    4778              :                         break;
    4779              :                       }
    4780              :                     default:;
    4781              :                     }
    4782              :                 }
    4783              :               break;
    4784              :             }
    4785            0 :           case LTGT_EXPR:
    4786            0 :             {
    4787            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4788            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4789            0 :               if (zerop (_q22))
    4790              :                 {
    4791            0 :                   switch (TREE_CODE (_p1))
    4792              :                     {
    4793            0 :                     case COND_EXPR:
    4794            0 :                       {
    4795            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4796            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4797            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4798            0 :                         switch (TREE_CODE (_q80))
    4799              :                           {
    4800            0 :                           case UNEQ_EXPR:
    4801            0 :                             {
    4802            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4803            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4804            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4805              :                                 {
    4806            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4807              :                                     {
    4808            0 :                                       if (zerop (_q82))
    4809              :                                         {
    4810            0 :                                           {
    4811            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4812            0 :                                             tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, PLUS_EXPR, LTGT_EXPR, UNEQ_EXPR);
    4813            0 :                                             if (res) return res;
    4814              :                                           }
    4815              :                                         }
    4816              :                                     }
    4817              :                                 }
    4818              :                               break;
    4819              :                             }
    4820              :                           default:;
    4821              :                           }
    4822              :                         break;
    4823              :                       }
    4824              :                     default:;
    4825              :                     }
    4826              :                 }
    4827              :               break;
    4828              :             }
    4829              :           default:;
    4830              :           }
    4831              :         break;
    4832              :       }
    4833          168 :     case VEC_COND_EXPR:
    4834          168 :       {
    4835          168 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4836          168 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4837          168 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4838          168 :         if (integer_zerop (_q22))
    4839              :           {
    4840          106 :             switch (TREE_CODE (_p1))
    4841              :               {
    4842           24 :               case VEC_COND_EXPR:
    4843           24 :                 {
    4844           24 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4845           24 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    4846           24 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    4847           24 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4848              :                     {
    4849            0 :                       if (integer_zerop (_q61))
    4850              :                         {
    4851            0 :                           {
    4852            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
    4853            0 :                             const enum tree_code op = PLUS_EXPR;
    4854            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1147;
    4855            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1147;
    4856            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1147;
    4857            0 :                             {
    4858            0 :                               tree res_op0;
    4859            0 :                               res_op0 = captures[1];
    4860            0 :                               tree res_op1;
    4861            0 :                               res_op1 = captures[2];
    4862            0 :                               tree res_op2;
    4863            0 :                               res_op2 = captures[4];
    4864            0 :                               tree _r;
    4865            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4866            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 871, __FILE__, __LINE__, true);
    4867            0 :                               return _r;
    4868              :                             }
    4869            0 : next_after_fail1147:;
    4870              :                           }
    4871              :                         }
    4872              :                     }
    4873              :                   break;
    4874              :                 }
    4875              :               default:;
    4876              :               }
    4877              :           }
    4878          168 :         if (integer_zerop (_q21))
    4879              :           {
    4880            0 :             switch (TREE_CODE (_p1))
    4881              :               {
    4882            0 :               case VEC_COND_EXPR:
    4883            0 :                 {
    4884            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4885            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    4886            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    4887            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4888              :                     {
    4889            0 :                       if (integer_zerop (_q62))
    4890              :                         {
    4891            0 :                           {
    4892            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
    4893            0 :                             const enum tree_code op = PLUS_EXPR;
    4894            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1148;
    4895            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1148;
    4896            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1148;
    4897            0 :                             {
    4898            0 :                               tree res_op0;
    4899            0 :                               res_op0 = captures[1];
    4900            0 :                               tree res_op1;
    4901            0 :                               res_op1 = captures[2];
    4902            0 :                               tree res_op2;
    4903            0 :                               res_op2 = captures[4];
    4904            0 :                               tree _r;
    4905            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4906            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 871, __FILE__, __LINE__, true);
    4907            0 :                               return _r;
    4908              :                             }
    4909            0 : next_after_fail1148:;
    4910              :                           }
    4911              :                         }
    4912              :                     }
    4913              :                   break;
    4914              :                 }
    4915              :               default:;
    4916              :               }
    4917              :           }
    4918          168 :         switch (TREE_CODE (_q20))
    4919              :           {
    4920            8 :           case LT_EXPR:
    4921            8 :             {
    4922            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4923            8 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4924            8 :               if (integer_zerop (_q22))
    4925              :                 {
    4926            8 :                   switch (TREE_CODE (_p1))
    4927              :                     {
    4928            0 :                     case VEC_COND_EXPR:
    4929            0 :                       {
    4930            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4931            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4932            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4933            0 :                         switch (TREE_CODE (_q80))
    4934              :                           {
    4935            0 :                           case GE_EXPR:
    4936            0 :                             {
    4937            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4938            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4939            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4940              :                                 {
    4941            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4942              :                                     {
    4943            0 :                                       if (integer_zerop (_q82))
    4944              :                                         {
    4945            0 :                                           {
    4946            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    4947            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, PLUS_EXPR, LT_EXPR, GE_EXPR);
    4948            0 :                                             if (res) return res;
    4949              :                                           }
    4950              :                                         }
    4951              :                                     }
    4952              :                                 }
    4953              :                               break;
    4954              :                             }
    4955              :                           default:;
    4956              :                           }
    4957              :                         break;
    4958              :                       }
    4959              :                     default:;
    4960              :                     }
    4961              :                 }
    4962              :               break;
    4963              :             }
    4964            8 :           case LE_EXPR:
    4965            8 :             {
    4966            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4967            8 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4968            8 :               if (integer_zerop (_q22))
    4969              :                 {
    4970            8 :                   switch (TREE_CODE (_p1))
    4971              :                     {
    4972            0 :                     case VEC_COND_EXPR:
    4973            0 :                       {
    4974            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4975            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4976            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4977            0 :                         switch (TREE_CODE (_q80))
    4978              :                           {
    4979            0 :                           case GT_EXPR:
    4980            0 :                             {
    4981            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4982            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4983            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4984              :                                 {
    4985            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4986              :                                     {
    4987            0 :                                       if (integer_zerop (_q82))
    4988              :                                         {
    4989            0 :                                           {
    4990            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    4991            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, PLUS_EXPR, LE_EXPR, GT_EXPR);
    4992            0 :                                             if (res) return res;
    4993              :                                           }
    4994              :                                         }
    4995              :                                     }
    4996              :                                 }
    4997              :                               break;
    4998              :                             }
    4999              :                           default:;
    5000              :                           }
    5001              :                         break;
    5002              :                       }
    5003              :                     default:;
    5004              :                     }
    5005              :                 }
    5006              :               break;
    5007              :             }
    5008           34 :           case EQ_EXPR:
    5009           34 :             {
    5010           34 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5011           34 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5012           34 :               if (integer_zerop (_q22))
    5013              :                 {
    5014           34 :                   switch (TREE_CODE (_p1))
    5015              :                     {
    5016           24 :                     case VEC_COND_EXPR:
    5017           24 :                       {
    5018           24 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5019           24 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5020           24 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5021           24 :                         switch (TREE_CODE (_q80))
    5022              :                           {
    5023           24 :                           case NE_EXPR:
    5024           24 :                             {
    5025           24 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5026           24 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5027           24 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5028              :                                 {
    5029           24 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5030              :                                     {
    5031           24 :                                       if (integer_zerop (_q82))
    5032              :                                         {
    5033           24 :                                           {
    5034           24 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5035           24 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, PLUS_EXPR, EQ_EXPR, NE_EXPR);
    5036           24 :                                             if (res) return res;
    5037              :                                           }
    5038              :                                         }
    5039              :                                     }
    5040              :                                 }
    5041              :                               break;
    5042              :                             }
    5043              :                           default:;
    5044              :                           }
    5045              :                         break;
    5046              :                       }
    5047              :                     default:;
    5048              :                     }
    5049              :                 }
    5050              :               break;
    5051              :             }
    5052           22 :           case NE_EXPR:
    5053           22 :             {
    5054           22 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5055           22 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5056           22 :               if (integer_zerop (_q22))
    5057              :                 {
    5058            8 :                   switch (TREE_CODE (_p1))
    5059              :                     {
    5060            0 :                     case VEC_COND_EXPR:
    5061            0 :                       {
    5062            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5063            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5064            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5065            0 :                         switch (TREE_CODE (_q80))
    5066              :                           {
    5067            0 :                           case EQ_EXPR:
    5068            0 :                             {
    5069            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5070            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5071            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5072              :                                 {
    5073            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5074              :                                     {
    5075            0 :                                       if (integer_zerop (_q82))
    5076              :                                         {
    5077            0 :                                           {
    5078            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5079            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, PLUS_EXPR, NE_EXPR, EQ_EXPR);
    5080            0 :                                             if (res) return res;
    5081              :                                           }
    5082              :                                         }
    5083              :                                     }
    5084              :                                 }
    5085              :                               break;
    5086              :                             }
    5087              :                           default:;
    5088              :                           }
    5089              :                         break;
    5090              :                       }
    5091              :                     default:;
    5092              :                     }
    5093              :                 }
    5094              :               break;
    5095              :             }
    5096           15 :           case GE_EXPR:
    5097           15 :             {
    5098           15 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5099           15 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5100           15 :               if (integer_zerop (_q22))
    5101              :                 {
    5102           15 :                   switch (TREE_CODE (_p1))
    5103              :                     {
    5104            0 :                     case VEC_COND_EXPR:
    5105            0 :                       {
    5106            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5107            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5108            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5109            0 :                         switch (TREE_CODE (_q80))
    5110              :                           {
    5111            0 :                           case LT_EXPR:
    5112            0 :                             {
    5113            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5114            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5115            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5116              :                                 {
    5117            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5118              :                                     {
    5119            0 :                                       if (integer_zerop (_q82))
    5120              :                                         {
    5121            0 :                                           {
    5122            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5123            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, PLUS_EXPR, GE_EXPR, LT_EXPR);
    5124            0 :                                             if (res) return res;
    5125              :                                           }
    5126              :                                         }
    5127              :                                     }
    5128              :                                 }
    5129              :                               break;
    5130              :                             }
    5131              :                           default:;
    5132              :                           }
    5133              :                         break;
    5134              :                       }
    5135              :                     default:;
    5136              :                     }
    5137              :                 }
    5138              :               break;
    5139              :             }
    5140           81 :           case GT_EXPR:
    5141           81 :             {
    5142           81 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5143           81 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5144           81 :               if (integer_zerop (_q22))
    5145              :                 {
    5146           33 :                   switch (TREE_CODE (_p1))
    5147              :                     {
    5148            0 :                     case VEC_COND_EXPR:
    5149            0 :                       {
    5150            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5151            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5152            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5153            0 :                         switch (TREE_CODE (_q80))
    5154              :                           {
    5155            0 :                           case LE_EXPR:
    5156            0 :                             {
    5157            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5158            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5159            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5160              :                                 {
    5161            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5162              :                                     {
    5163            0 :                                       if (integer_zerop (_q82))
    5164              :                                         {
    5165            0 :                                           {
    5166            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5167            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, PLUS_EXPR, GT_EXPR, LE_EXPR);
    5168            0 :                                             if (res) return res;
    5169              :                                           }
    5170              :                                         }
    5171              :                                     }
    5172              :                                 }
    5173              :                               break;
    5174              :                             }
    5175              :                           default:;
    5176              :                           }
    5177              :                         break;
    5178              :                       }
    5179              :                     default:;
    5180              :                     }
    5181              :                 }
    5182              :               break;
    5183              :             }
    5184            0 :           case UNORDERED_EXPR:
    5185            0 :             {
    5186            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5187            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5188            0 :               if (integer_zerop (_q22))
    5189              :                 {
    5190            0 :                   switch (TREE_CODE (_p1))
    5191              :                     {
    5192            0 :                     case VEC_COND_EXPR:
    5193            0 :                       {
    5194            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5195            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5196            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5197            0 :                         switch (TREE_CODE (_q80))
    5198              :                           {
    5199            0 :                           case ORDERED_EXPR:
    5200            0 :                             {
    5201            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5202            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5203            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5204              :                                 {
    5205            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5206              :                                     {
    5207            0 :                                       if (integer_zerop (_q82))
    5208              :                                         {
    5209            0 :                                           {
    5210            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5211            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNORDERED_EXPR, ORDERED_EXPR);
    5212            0 :                                             if (res) return res;
    5213              :                                           }
    5214              :                                         }
    5215              :                                     }
    5216              :                                 }
    5217              :                               break;
    5218              :                             }
    5219              :                           default:;
    5220              :                           }
    5221              :                         break;
    5222              :                       }
    5223              :                     default:;
    5224              :                     }
    5225              :                 }
    5226              :               break;
    5227              :             }
    5228            0 :           case ORDERED_EXPR:
    5229            0 :             {
    5230            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5231            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5232            0 :               if (integer_zerop (_q22))
    5233              :                 {
    5234            0 :                   switch (TREE_CODE (_p1))
    5235              :                     {
    5236            0 :                     case VEC_COND_EXPR:
    5237            0 :                       {
    5238            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5239            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5240            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5241            0 :                         switch (TREE_CODE (_q80))
    5242              :                           {
    5243            0 :                           case UNORDERED_EXPR:
    5244            0 :                             {
    5245            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5246            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5247            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5248              :                                 {
    5249            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5250              :                                     {
    5251            0 :                                       if (integer_zerop (_q82))
    5252              :                                         {
    5253            0 :                                           {
    5254            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5255            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, PLUS_EXPR, ORDERED_EXPR, UNORDERED_EXPR);
    5256            0 :                                             if (res) return res;
    5257              :                                           }
    5258              :                                         }
    5259              :                                     }
    5260              :                                 }
    5261              :                               break;
    5262              :                             }
    5263              :                           default:;
    5264              :                           }
    5265              :                         break;
    5266              :                       }
    5267              :                     default:;
    5268              :                     }
    5269              :                 }
    5270              :               break;
    5271              :             }
    5272            0 :           case UNLT_EXPR:
    5273            0 :             {
    5274            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5275            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5276            0 :               if (integer_zerop (_q22))
    5277              :                 {
    5278            0 :                   switch (TREE_CODE (_p1))
    5279              :                     {
    5280            0 :                     case VEC_COND_EXPR:
    5281            0 :                       {
    5282            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5283            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5284            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5285            0 :                         switch (TREE_CODE (_q80))
    5286              :                           {
    5287            0 :                           case GE_EXPR:
    5288            0 :                             {
    5289            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5290            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5291            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5292              :                                 {
    5293            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5294              :                                     {
    5295            0 :                                       if (integer_zerop (_q82))
    5296              :                                         {
    5297            0 :                                           {
    5298            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5299            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNLT_EXPR, GE_EXPR);
    5300            0 :                                             if (res) return res;
    5301              :                                           }
    5302              :                                         }
    5303              :                                     }
    5304              :                                 }
    5305              :                               break;
    5306              :                             }
    5307              :                           default:;
    5308              :                           }
    5309              :                         break;
    5310              :                       }
    5311              :                     default:;
    5312              :                     }
    5313              :                 }
    5314              :               break;
    5315              :             }
    5316            0 :           case UNLE_EXPR:
    5317            0 :             {
    5318            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5319            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5320            0 :               if (integer_zerop (_q22))
    5321              :                 {
    5322            0 :                   switch (TREE_CODE (_p1))
    5323              :                     {
    5324            0 :                     case VEC_COND_EXPR:
    5325            0 :                       {
    5326            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5327            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5328            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5329            0 :                         switch (TREE_CODE (_q80))
    5330              :                           {
    5331            0 :                           case GT_EXPR:
    5332            0 :                             {
    5333            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5334            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5335            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5336              :                                 {
    5337            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5338              :                                     {
    5339            0 :                                       if (integer_zerop (_q82))
    5340              :                                         {
    5341            0 :                                           {
    5342            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5343            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNLE_EXPR, GT_EXPR);
    5344            0 :                                             if (res) return res;
    5345              :                                           }
    5346              :                                         }
    5347              :                                     }
    5348              :                                 }
    5349              :                               break;
    5350              :                             }
    5351              :                           default:;
    5352              :                           }
    5353              :                         break;
    5354              :                       }
    5355              :                     default:;
    5356              :                     }
    5357              :                 }
    5358              :               break;
    5359              :             }
    5360            0 :           case UNGT_EXPR:
    5361            0 :             {
    5362            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5363            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5364            0 :               if (integer_zerop (_q22))
    5365              :                 {
    5366            0 :                   switch (TREE_CODE (_p1))
    5367              :                     {
    5368            0 :                     case VEC_COND_EXPR:
    5369            0 :                       {
    5370            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5371            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5372            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5373            0 :                         switch (TREE_CODE (_q80))
    5374              :                           {
    5375            0 :                           case LE_EXPR:
    5376            0 :                             {
    5377            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5378            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5379            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5380              :                                 {
    5381            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5382              :                                     {
    5383            0 :                                       if (integer_zerop (_q82))
    5384              :                                         {
    5385            0 :                                           {
    5386            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5387            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNGT_EXPR, LE_EXPR);
    5388            0 :                                             if (res) return res;
    5389              :                                           }
    5390              :                                         }
    5391              :                                     }
    5392              :                                 }
    5393              :                               break;
    5394              :                             }
    5395              :                           default:;
    5396              :                           }
    5397              :                         break;
    5398              :                       }
    5399              :                     default:;
    5400              :                     }
    5401              :                 }
    5402              :               break;
    5403              :             }
    5404            0 :           case UNGE_EXPR:
    5405            0 :             {
    5406            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5407            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5408            0 :               if (integer_zerop (_q22))
    5409              :                 {
    5410            0 :                   switch (TREE_CODE (_p1))
    5411              :                     {
    5412            0 :                     case VEC_COND_EXPR:
    5413            0 :                       {
    5414            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5415            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5416            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5417            0 :                         switch (TREE_CODE (_q80))
    5418              :                           {
    5419            0 :                           case LT_EXPR:
    5420            0 :                             {
    5421            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5422            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5423            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5424              :                                 {
    5425            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5426              :                                     {
    5427            0 :                                       if (integer_zerop (_q82))
    5428              :                                         {
    5429            0 :                                           {
    5430            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5431            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNGE_EXPR, LT_EXPR);
    5432            0 :                                             if (res) return res;
    5433              :                                           }
    5434              :                                         }
    5435              :                                     }
    5436              :                                 }
    5437              :                               break;
    5438              :                             }
    5439              :                           default:;
    5440              :                           }
    5441              :                         break;
    5442              :                       }
    5443              :                     default:;
    5444              :                     }
    5445              :                 }
    5446              :               break;
    5447              :             }
    5448            0 :           case UNEQ_EXPR:
    5449            0 :             {
    5450            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5451            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5452            0 :               if (integer_zerop (_q22))
    5453              :                 {
    5454            0 :                   switch (TREE_CODE (_p1))
    5455              :                     {
    5456            0 :                     case VEC_COND_EXPR:
    5457            0 :                       {
    5458            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5459            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5460            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5461            0 :                         switch (TREE_CODE (_q80))
    5462              :                           {
    5463            0 :                           case LTGT_EXPR:
    5464            0 :                             {
    5465            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5466            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5467            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5468              :                                 {
    5469            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5470              :                                     {
    5471            0 :                                       if (integer_zerop (_q82))
    5472              :                                         {
    5473            0 :                                           {
    5474            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5475            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNEQ_EXPR, LTGT_EXPR);
    5476            0 :                                             if (res) return res;
    5477              :                                           }
    5478              :                                         }
    5479              :                                     }
    5480              :                                 }
    5481              :                               break;
    5482              :                             }
    5483              :                           default:;
    5484              :                           }
    5485              :                         break;
    5486              :                       }
    5487              :                     default:;
    5488              :                     }
    5489              :                 }
    5490              :               break;
    5491              :             }
    5492            0 :           case LTGT_EXPR:
    5493            0 :             {
    5494            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5495            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5496            0 :               if (integer_zerop (_q22))
    5497              :                 {
    5498            0 :                   switch (TREE_CODE (_p1))
    5499              :                     {
    5500            0 :                     case VEC_COND_EXPR:
    5501            0 :                       {
    5502            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5503            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5504            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5505            0 :                         switch (TREE_CODE (_q80))
    5506              :                           {
    5507            0 :                           case UNEQ_EXPR:
    5508            0 :                             {
    5509            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5510            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5511            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5512              :                                 {
    5513            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5514              :                                     {
    5515            0 :                                       if (integer_zerop (_q82))
    5516              :                                         {
    5517            0 :                                           {
    5518            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5519            0 :                                             tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, PLUS_EXPR, LTGT_EXPR, UNEQ_EXPR);
    5520            0 :                                             if (res) return res;
    5521              :                                           }
    5522              :                                         }
    5523              :                                     }
    5524              :                                 }
    5525              :                               break;
    5526              :                             }
    5527              :                           default:;
    5528              :                           }
    5529              :                         break;
    5530              :                       }
    5531              :                     default:;
    5532              :                     }
    5533              :                 }
    5534              :               break;
    5535              :             }
    5536              :           default:;
    5537              :           }
    5538              :         break;
    5539              :       }
    5540     70301875 :     default:;
    5541              :     }
    5542     70301875 : {
    5543     70301875 :   tree _p0_pops[1];
    5544     70301875 :   if (tree_nop_convert (_p0, _p0_pops))
    5545              :     {
    5546     14153127 :       tree _q20 = _p0_pops[0];
    5547     14153127 :       switch (TREE_CODE (_q20))
    5548              :         {
    5549       142224 :         case MINUS_EXPR:
    5550       142224 :           {
    5551       142224 :             tree _q30 = TREE_OPERAND (_q20, 0);
    5552       142224 :             tree _q31 = TREE_OPERAND (_q20, 1);
    5553       142224 :             switch (TREE_CODE (_q30))
    5554              :               {
    5555            2 :               case BIT_AND_EXPR:
    5556            2 :                 {
    5557            2 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    5558            2 :                   tree _q41 = TREE_OPERAND (_q30, 1);
    5559            2 :                   switch (TREE_CODE (_q31))
    5560              :                     {
    5561            1 :                     case BIT_IOR_EXPR:
    5562            1 :                       {
    5563            1 :                         tree _q70 = TREE_OPERAND (_q31, 0);
    5564            1 :                         tree _q71 = TREE_OPERAND (_q31, 1);
    5565            1 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    5566              :                           {
    5567            1 :                             if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
    5568              :                               {
    5569            1 :                                 if (integer_all_onesp (_p1))
    5570              :                                   {
    5571            1 :                                     {
    5572            1 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
    5573            1 :                                       tree res = generic_simplify_12 (loc, type, _p0, _p1, captures);
    5574            1 :                                       if (res) return res;
    5575              :                                     }
    5576              :                                   }
    5577              :                               }
    5578              :                           }
    5579            0 :                         if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
    5580              :                           {
    5581            0 :                             if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
    5582              :                               {
    5583            0 :                                 if (integer_all_onesp (_p1))
    5584              :                                   {
    5585            0 :                                     {
    5586            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _q40 };
    5587            0 :                                       tree res = generic_simplify_12 (loc, type, _p0, _p1, captures);
    5588            0 :                                       if (res) return res;
    5589              :                                     }
    5590              :                                   }
    5591              :                               }
    5592              :                           }
    5593              :                         break;
    5594              :                       }
    5595              :                     default:;
    5596              :                     }
    5597              :                   break;
    5598              :                 }
    5599       142223 :               default:;
    5600              :               }
    5601       142223 :           {
    5602       142223 :             tree _q30_pops[1];
    5603       142223 :             if (tree_nop_convert (_q30, _q30_pops))
    5604              :               {
    5605        90815 :                 tree _q40 = _q30_pops[0];
    5606        90815 :                 switch (TREE_CODE (_q40))
    5607              :                   {
    5608            0 :                   case BIT_AND_EXPR:
    5609            0 :                     {
    5610            0 :                       tree _q50 = TREE_OPERAND (_q40, 0);
    5611            0 :                       tree _q51 = TREE_OPERAND (_q40, 1);
    5612            0 :                       {
    5613            0 :                         tree _q31_pops[1];
    5614            0 :                         if (tree_nop_convert (_q31, _q31_pops))
    5615              :                           {
    5616            0 :                             tree _q80 = _q31_pops[0];
    5617            0 :                             switch (TREE_CODE (_q80))
    5618              :                               {
    5619            0 :                               case BIT_IOR_EXPR:
    5620            0 :                                 {
    5621            0 :                                   tree _q90 = TREE_OPERAND (_q80, 0);
    5622            0 :                                   tree _q91 = TREE_OPERAND (_q80, 1);
    5623            0 :                                   if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
    5624              :                                     {
    5625            0 :                                       if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
    5626              :                                         {
    5627            0 :                                           if (integer_all_onesp (_p1))
    5628              :                                             {
    5629            0 :                                               {
    5630            0 :                                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
    5631            0 :                                                 tree res = generic_simplify_12 (loc, type, _p0, _p1, captures);
    5632            0 :                                                 if (res) return res;
    5633              :                                               }
    5634              :                                             }
    5635              :                                         }
    5636              :                                     }
    5637            0 :                                   if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
    5638              :                                     {
    5639            0 :                                       if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
    5640              :                                         {
    5641            0 :                                           if (integer_all_onesp (_p1))
    5642              :                                             {
    5643            0 :                                               {
    5644            0 :                                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
    5645            0 :                                                 tree res = generic_simplify_12 (loc, type, _p0, _p1, captures);
    5646            0 :                                                 if (res) return res;
    5647              :                                               }
    5648              :                                             }
    5649              :                                         }
    5650              :                                     }
    5651              :                                   break;
    5652              :                                 }
    5653              :                               default:;
    5654              :                               }
    5655              :                           }
    5656              :                       }
    5657            0 :                       break;
    5658              :                     }
    5659              :                   default:;
    5660              :                   }
    5661              :               }
    5662              :           }
    5663       142223 :             break;
    5664              :           }
    5665              :         default:;
    5666              :         }
    5667              :     }
    5668              : }
    5669     70301874 :   switch (TREE_CODE (_p1))
    5670              :     {
    5671      8283990 :     CASE_CONVERT:
    5672      8283990 :       {
    5673      8283990 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5674      8283990 :         switch (TREE_CODE (_q30))
    5675              :           {
    5676          353 :           case NEGATE_EXPR:
    5677          353 :             {
    5678          353 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5679          353 :               {
    5680          353 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    5681          353 :                 tree res = generic_simplify_14 (loc, type, _p0, _p1, captures);
    5682          353 :                 if (res) return res;
    5683              :               }
    5684          295 :               break;
    5685              :             }
    5686              :           default:;
    5687              :           }
    5688              :         break;
    5689              :       }
    5690         9504 :     case NEGATE_EXPR:
    5691         9504 :       {
    5692         9504 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5693         9504 :         {
    5694         9504 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5695         9504 :           tree res = generic_simplify_14 (loc, type, _p0, _p1, captures);
    5696         9504 :           if (res) return res;
    5697              :         }
    5698            0 :         break;
    5699              :       }
    5700     70292312 :     default:;
    5701              :     }
    5702     70292312 :   switch (TREE_CODE (_p0))
    5703              :     {
    5704       205369 :     case NEGATE_EXPR:
    5705       205369 :       {
    5706       205369 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5707       205369 :         {
    5708       205369 :           tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
    5709       205369 :           tree res = generic_simplify_14 (loc, type, _p0, _p1, captures);
    5710       205369 :           if (res) return res;
    5711              :         }
    5712          134 :         break;
    5713              :       }
    5714     70087077 :     default:;
    5715              :     }
    5716     70087077 : {
    5717     70087077 :   tree _p0_pops[1];
    5718     70087077 :   if (tree_nop_convert (_p0, _p0_pops))
    5719              :     {
    5720     14147158 :       tree _q20 = _p0_pops[0];
    5721     14147158 :       switch (TREE_CODE (_q20))
    5722              :         {
    5723       141795 :         case MINUS_EXPR:
    5724       141795 :           {
    5725       141795 :             tree _q30 = TREE_OPERAND (_q20, 0);
    5726       141795 :             tree _q31 = TREE_OPERAND (_q20, 1);
    5727       141795 :             {
    5728       141795 :               tree _q31_pops[1];
    5729       141795 :               if (tree_nop_convert (_q31, _q31_pops))
    5730              :                 {
    5731       104206 :                   tree _q50 = _q31_pops[0];
    5732       104206 :                   if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    5733              :                     {
    5734           30 :                       {
    5735           30 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
    5736           30 :                         tree res = generic_simplify_13 (loc, type, _p0, _p1, captures);
    5737           30 :                         if (res) return res;
    5738              :                       }
    5739              :                     }
    5740              :                 }
    5741              :             }
    5742       141765 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    5743              :               {
    5744            0 :                 {
    5745            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    5746            0 :                   tree res = generic_simplify_13 (loc, type, _p0, _p1, captures);
    5747            0 :                   if (res) return res;
    5748              :                 }
    5749              :               }
    5750       141765 :             if (CONSTANT_CLASS_P (_q31))
    5751              :               {
    5752        18234 :                 if (CONSTANT_CLASS_P (_p1))
    5753              :                   {
    5754        18074 :                     {
    5755        18074 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    5756        18074 :                       tree res = generic_simplify_17 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, PLUS_EXPR);
    5757        18074 :                       if (res) return res;
    5758              :                     }
    5759              :                   }
    5760              :               }
    5761       123691 :             if (CONSTANT_CLASS_P (_q30))
    5762              :               {
    5763        17783 :                 if (CONSTANT_CLASS_P (_p1))
    5764              :                   {
    5765         5863 :                     {
    5766         5863 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    5767         5863 :                       tree res = generic_simplify_18 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    5768         5863 :                       if (res) return res;
    5769              :                     }
    5770              :                   }
    5771              :               }
    5772              :             break;
    5773              :           }
    5774      1338727 :         case PLUS_EXPR:
    5775      1338727 :           {
    5776      1338727 :             tree _q30 = TREE_OPERAND (_q20, 0);
    5777      1338727 :             tree _q31 = TREE_OPERAND (_q20, 1);
    5778      1338727 :             if (CONSTANT_CLASS_P (_q31))
    5779              :               {
    5780      1138938 :                 if (CONSTANT_CLASS_P (_p1))
    5781              :                   {
    5782      1051318 :                     {
    5783      1051318 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    5784      1051318 :                       tree res = generic_simplify_17 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, PLUS_EXPR);
    5785      1051318 :                       if (res) return res;
    5786              :                     }
    5787              :                   }
    5788              :               }
    5789              :             break;
    5790              :           }
    5791              :         default:;
    5792              :         }
    5793              :     }
    5794              : }
    5795     69012692 :   switch (TREE_CODE (_p1))
    5796              :     {
    5797       171641 :     case MINUS_EXPR:
    5798       171641 :       {
    5799       171641 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5800       171641 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5801       171641 :         {
    5802       171641 :           tree _q31_pops[1];
    5803       171641 :           if (tree_nop_convert (_q31, _q31_pops))
    5804              :             {
    5805        60915 :               tree _q50 = _q31_pops[0];
    5806        60915 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5807              :                 {
    5808            0 :                   {
    5809            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    5810            0 :                     tree res = generic_simplify_13 (loc, type, _p0, _p1, captures);
    5811            0 :                     if (res) return res;
    5812              :                   }
    5813              :                 }
    5814              :             }
    5815              :         }
    5816       171641 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5817              :           {
    5818          329 :             {
    5819          329 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    5820          329 :               tree res = generic_simplify_13 (loc, type, _p0, _p1, captures);
    5821          329 :               if (res) return res;
    5822              :             }
    5823              :           }
    5824              :         break;
    5825              :       }
    5826     69012363 :     default:;
    5827              :     }
    5828     69012363 : {
    5829     69012363 :   tree _p1_pops[1];
    5830     69012363 :   if (tree_nop_convert (_p1, _p1_pops))
    5831              :     {
    5832      7999080 :       tree _q30 = _p1_pops[0];
    5833      7999080 :       switch (TREE_CODE (_q30))
    5834              :         {
    5835         3676 :         case MINUS_EXPR:
    5836         3676 :           {
    5837         3676 :             tree _q40 = TREE_OPERAND (_q30, 0);
    5838         3676 :             tree _q41 = TREE_OPERAND (_q30, 1);
    5839         3676 :             {
    5840         3676 :               tree _q41_pops[1];
    5841         3676 :               if (tree_nop_convert (_q41, _q41_pops))
    5842              :                 {
    5843          529 :                   tree _q60 = _q41_pops[0];
    5844          529 :                   if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    5845              :                     {
    5846            0 :                       {
    5847            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    5848            0 :                         tree res = generic_simplify_13 (loc, type, _p0, _p1, captures);
    5849            0 :                         if (res) return res;
    5850              :                       }
    5851              :                     }
    5852              :                 }
    5853              :             }
    5854         3676 :             if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    5855              :               {
    5856            0 :                 {
    5857            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    5858            0 :                   tree res = generic_simplify_13 (loc, type, _p0, _p1, captures);
    5859            0 :                   if (res) return res;
    5860              :                 }
    5861              :               }
    5862              :             break;
    5863              :           }
    5864              :         default:;
    5865              :         }
    5866              :     }
    5867              : }
    5868     69012363 :   switch (TREE_CODE (_p0))
    5869              :     {
    5870      6436636 :     case PLUS_EXPR:
    5871      6436636 :       {
    5872      6436636 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5873      6436636 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5874      6436636 :         switch (TREE_CODE (_p1))
    5875              :           {
    5876        46736 :           case MINUS_EXPR:
    5877        46736 :             {
    5878        46736 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5879        46736 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5880        46736 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5881              :                 {
    5882          143 :                   {
    5883          143 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5884          143 :                     tree res = generic_simplify_19 (loc, type, _p0, _p1, captures);
    5885          143 :                     if (res) return res;
    5886              :                   }
    5887              :                 }
    5888        46593 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5889              :                 {
    5890          311 :                   {
    5891          311 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5892          311 :                     tree res = generic_simplify_19 (loc, type, _p0, _p1, captures);
    5893          311 :                     if (res) return res;
    5894              :                   }
    5895              :                 }
    5896              :               break;
    5897              :             }
    5898      6436182 :           default:;
    5899              :           }
    5900      6436182 :         if (CONSTANT_CLASS_P (_q21))
    5901              :           {
    5902      2577962 :             if (CONSTANT_CLASS_P (_p1))
    5903              :               {
    5904      1906976 :                 {
    5905      1906976 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5906      1906976 :                   tree res = generic_simplify_17 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, PLUS_EXPR);
    5907      1906976 :                   if (res) return res;
    5908              :                 }
    5909              :               }
    5910              :           }
    5911              :         break;
    5912              :       }
    5913      2049358 :     case MINUS_EXPR:
    5914      2049358 :       {
    5915      2049358 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5916      2049358 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5917      2049358 :         switch (TREE_CODE (_p1))
    5918              :           {
    5919         1939 :           case PLUS_EXPR:
    5920         1939 :             {
    5921         1939 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5922         1939 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5923         1939 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5924              :                 {
    5925          352 :                   {
    5926          352 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
    5927          352 :                     tree res = generic_simplify_19 (loc, type, _p0, _p1, captures);
    5928          352 :                     if (res) return res;
    5929              :                   }
    5930              :                 }
    5931         1587 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5932              :                 {
    5933           27 :                   {
    5934           27 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q50, _q20 };
    5935           27 :                     tree res = generic_simplify_19 (loc, type, _p0, _p1, captures);
    5936           27 :                     if (res) return res;
    5937              :                   }
    5938              :                 }
    5939              :               break;
    5940              :             }
    5941          460 :           case MINUS_EXPR:
    5942          460 :             {
    5943          460 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5944          460 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5945          460 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5946              :                 {
    5947            1 :                   {
    5948            1 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5949            1 :                     tree res = generic_simplify_20 (loc, type, _p0, _p1, captures);
    5950            1 :                     if (res) return res;
    5951              :                   }
    5952              :                 }
    5953          459 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5954              :                 {
    5955            9 :                   {
    5956            9 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
    5957            9 :                     tree res = generic_simplify_20 (loc, type, _p0, _p1, captures);
    5958            9 :                     if (res) return res;
    5959              :                   }
    5960              :                 }
    5961              :               break;
    5962              :             }
    5963      2048969 :           default:;
    5964              :           }
    5965      2048969 :         if (CONSTANT_CLASS_P (_q21))
    5966              :           {
    5967       123287 :             if (CONSTANT_CLASS_P (_p1))
    5968              :               {
    5969        83089 :                 {
    5970        83089 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5971        83089 :                   tree res = generic_simplify_17 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, PLUS_EXPR);
    5972        83089 :                   if (res) return res;
    5973              :                 }
    5974              :               }
    5975              :           }
    5976      1966077 :         if (CONSTANT_CLASS_P (_q20))
    5977              :           {
    5978       420914 :             if (CONSTANT_CLASS_P (_p1))
    5979              :               {
    5980       236613 :                 {
    5981       236613 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5982       236613 :                   tree res = generic_simplify_18 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    5983       236613 :                   if (res) return res;
    5984              :                 }
    5985              :               }
    5986              :           }
    5987              :         break;
    5988              :       }
    5989          473 :     case POINTER_DIFF_EXPR:
    5990          473 :       {
    5991          473 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5992          473 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5993          473 :         switch (TREE_CODE (_p1))
    5994              :           {
    5995            7 :           case POINTER_DIFF_EXPR:
    5996            7 :             {
    5997            7 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5998            7 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5999            7 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6000              :                 {
    6001            7 :                   {
    6002            7 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    6003            7 :                     tree res = generic_simplify_21 (loc, type, _p0, _p1, captures);
    6004            7 :                     if (res) return res;
    6005              :                   }
    6006              :                 }
    6007            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6008              :                 {
    6009            0 :                   {
    6010            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
    6011            0 :                     tree res = generic_simplify_21 (loc, type, _p0, _p1, captures);
    6012            0 :                     if (res) return res;
    6013              :                   }
    6014              :                 }
    6015              :               break;
    6016              :             }
    6017              :           default:;
    6018              :           }
    6019              :         break;
    6020              :       }
    6021     18146522 :     CASE_CONVERT:
    6022     18146522 :       {
    6023     18146522 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6024     18146522 :         switch (TREE_CODE (_p1))
    6025              :           {
    6026      3110872 :           CASE_CONVERT:
    6027      3110872 :             {
    6028      3110872 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6029      3110872 :               {
    6030      3110872 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6031      3110872 :                 tree res = generic_simplify_22 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6032      3110872 :                 if (res) return res;
    6033              :               }
    6034      3110723 :               break;
    6035              :             }
    6036     18146373 :           default:;
    6037              :           }
    6038     18146373 :         switch (TREE_CODE (_q20))
    6039              :           {
    6040       162108 :           case BIT_NOT_EXPR:
    6041       162108 :             {
    6042       162108 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6043       162108 :               switch (TREE_CODE (_p1))
    6044              :                 {
    6045          185 :                 CASE_CONVERT:
    6046          185 :                   {
    6047          185 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    6048          185 :                     if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
    6049              :                       {
    6050            0 :                         {
    6051            0 :                           tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    6052            0 :                           tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    6053            0 :                           if (res) return res;
    6054              :                         }
    6055              :                       }
    6056              :                     break;
    6057              :                   }
    6058              :                 default:;
    6059              :                 }
    6060              :               break;
    6061              :             }
    6062     18146373 :           default:;
    6063              :           }
    6064     18146373 :         switch (TREE_CODE (_p1))
    6065              :           {
    6066      3110723 :           CASE_CONVERT:
    6067      3110723 :             {
    6068      3110723 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6069      3110723 :               switch (TREE_CODE (_q40))
    6070              :                 {
    6071          414 :                 case BIT_NOT_EXPR:
    6072          414 :                   {
    6073          414 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6074          414 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6075              :                       {
    6076            0 :                         {
    6077            0 :                           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6078            0 :                           tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    6079            0 :                           if (res) return res;
    6080              :                         }
    6081              :                       }
    6082              :                     break;
    6083              :                   }
    6084              :                 default:;
    6085              :                 }
    6086              :               break;
    6087              :             }
    6088              :           default:;
    6089              :           }
    6090              :         break;
    6091              :       }
    6092       332775 :     case BIT_NOT_EXPR:
    6093       332775 :       {
    6094       332775 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6095       332775 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6096              :           {
    6097          523 :             {
    6098          523 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6099          523 :               tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    6100          523 :               if (res) return res;
    6101              :             }
    6102              :           }
    6103       332252 :         if (integer_each_onep (_p1))
    6104              :           {
    6105         2624 :             {
    6106         2624 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6107         2624 :               tree res = generic_simplify_24 (loc, type, _p0, _p1, captures);
    6108         2624 :               if (res) return res;
    6109              :             }
    6110              :           }
    6111              :         break;
    6112              :       }
    6113     66782092 :     default:;
    6114              :     }
    6115     66782092 :   switch (TREE_CODE (_p1))
    6116              :     {
    6117        38899 :     case BIT_NOT_EXPR:
    6118        38899 :       {
    6119        38899 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6120        38899 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6121              :           {
    6122            0 :             {
    6123            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6124            0 :               tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
    6125            0 :               if (res) return res;
    6126              :             }
    6127              :           }
    6128              :         break;
    6129              :       }
    6130     66782092 :     default:;
    6131              :     }
    6132     66782092 :   switch (TREE_CODE (_p0))
    6133              :     {
    6134     18146373 :     CASE_CONVERT:
    6135     18146373 :       {
    6136     18146373 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6137     18146373 :         switch (TREE_CODE (_q20))
    6138              :           {
    6139       162108 :           case BIT_NOT_EXPR:
    6140       162108 :             {
    6141       162108 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6142       162108 :               if (integer_each_onep (_p1))
    6143              :                 {
    6144       158497 :                   {
    6145       158497 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    6146       158497 :                     tree res = generic_simplify_24 (loc, type, _p0, _p1, captures);
    6147       158497 :                     if (res) return res;
    6148              :                   }
    6149              :                 }
    6150              :               break;
    6151              :             }
    6152              :           default:;
    6153              :           }
    6154              :         break;
    6155              :       }
    6156     12865638 :     case MULT_EXPR:
    6157     12865638 :       {
    6158     12865638 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6159     12865638 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6160     12865638 :         switch (TREE_CODE (_p1))
    6161              :           {
    6162      3307458 :           case MULT_EXPR:
    6163      3307458 :             {
    6164      3307458 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6165      3307458 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6166      3307458 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6167              :                 {
    6168       792089 :                   {
    6169       792089 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
    6170       792089 :                     tree res = generic_simplify_25 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6171       792089 :                     if (res) return res;
    6172              :                   }
    6173              :                 }
    6174      3302707 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6175              :                 {
    6176           21 :                   {
    6177           21 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    6178           21 :                     tree res = generic_simplify_25 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6179           21 :                     if (res) return res;
    6180              :                   }
    6181              :                 }
    6182      3302702 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6183              :                 {
    6184          241 :                   {
    6185          241 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
    6186          241 :                     tree res = generic_simplify_25 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6187          241 :                     if (res) return res;
    6188              :                   }
    6189              :                 }
    6190      3302531 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6191              :                 {
    6192      1262346 :                   {
    6193      1262346 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
    6194      1262346 :                     tree res = generic_simplify_25 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6195      1262346 :                     if (res) return res;
    6196              :                   }
    6197              :                 }
    6198              :               break;
    6199              :             }
    6200              :           default:;
    6201              :           }
    6202              :         break;
    6203              :       }
    6204     65357414 :     default:;
    6205              :     }
    6206     65357414 :   switch (TREE_CODE (_p1))
    6207              :     {
    6208      3448286 :     case MULT_EXPR:
    6209      3448286 :       {
    6210      3448286 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6211      3448286 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6212      3448286 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6213              :           {
    6214         3853 :             {
    6215         3853 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    6216         3853 :               tree res = generic_simplify_26 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6217         3853 :               if (res) return res;
    6218              :             }
    6219              :           }
    6220      3444480 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6221              :           {
    6222            2 :             {
    6223            2 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6224            2 :               tree res = generic_simplify_26 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6225            2 :               if (res) return res;
    6226              :             }
    6227              :           }
    6228              :         break;
    6229              :       }
    6230     65353606 :     default:;
    6231              :     }
    6232     65353606 :   switch (TREE_CODE (_p0))
    6233              :     {
    6234     11598613 :     case MULT_EXPR:
    6235     11598613 :       {
    6236     11598613 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6237     11598613 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6238     11598613 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6239              :           {
    6240        33260 :             {
    6241        33260 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    6242        33260 :               tree res = generic_simplify_27 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6243        33260 :               if (res) return res;
    6244              :             }
    6245              :           }
    6246     11565999 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6247              :           {
    6248       331577 :             {
    6249       331577 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    6250       331577 :               tree res = generic_simplify_27 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6251       331577 :               if (res) return res;
    6252              :             }
    6253              :           }
    6254     11235050 :         if (integer_nonzerop (_q20))
    6255              :           {
    6256          102 :             switch (TREE_CODE (_p1))
    6257              :               {
    6258           50 :               case INTEGER_CST:
    6259           50 :                 {
    6260           50 :                   {
    6261           50 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    6262           50 :                     tree res = generic_simplify_28 (loc, type, _p0, _p1, captures);
    6263           50 :                     if (res) return res;
    6264              :                   }
    6265           50 :                   break;
    6266              :                 }
    6267              :               default:;
    6268              :               }
    6269              :           }
    6270     11235050 :         if (integer_nonzerop (_q21))
    6271              :           {
    6272      7466871 :             switch (TREE_CODE (_p1))
    6273              :               {
    6274      3708425 :               case INTEGER_CST:
    6275      3708425 :                 {
    6276      3708425 :                   {
    6277      3708425 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1 };
    6278      3708425 :                     tree res = generic_simplify_28 (loc, type, _p0, _p1, captures);
    6279      3708425 :                     if (res) return res;
    6280              :                   }
    6281      3260783 :                   break;
    6282              :                 }
    6283              :               default:;
    6284              :               }
    6285              :           }
    6286     10787408 :         switch (TREE_CODE (_q20))
    6287              :           {
    6288       201219 :           case MINUS_EXPR:
    6289       201219 :             {
    6290       201219 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6291       201219 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6292       201219 :               if (tree_zero_one_valued_p (_q21))
    6293              :                 {
    6294            0 :                   if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    6295              :                     {
    6296            0 :                       {
    6297            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q21 };
    6298            0 :                         tree res = generic_simplify_29 (loc, type, _p0, _p1, captures);
    6299            0 :                         if (res) return res;
    6300              :                       }
    6301              :                     }
    6302              :                 }
    6303              :               break;
    6304              :             }
    6305     10787408 :           default:;
    6306              :           }
    6307     10787408 :       if (tree_zero_one_valued_p (_q20))
    6308              :         {
    6309        39298 :           switch (TREE_CODE (_q21))
    6310              :             {
    6311            9 :             case MINUS_EXPR:
    6312            9 :               {
    6313            9 :                 tree _q40 = TREE_OPERAND (_q21, 0);
    6314            9 :                 tree _q41 = TREE_OPERAND (_q21, 1);
    6315            9 :                 if ((_p1 == _q41 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q41, 0) && types_match (_p1, _q41)))
    6316              :                   {
    6317            9 :                     {
    6318            9 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
    6319            9 :                       tree res = generic_simplify_29 (loc, type, _p0, _p1, captures);
    6320            9 :                       if (res) return res;
    6321              :                     }
    6322              :                   }
    6323              :                 break;
    6324              :               }
    6325              :             default:;
    6326              :             }
    6327              :         }
    6328              :         break;
    6329              :       }
    6330         3101 :     case MIN_EXPR:
    6331         3101 :       {
    6332         3101 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6333         3101 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6334         3101 :         switch (TREE_CODE (_p1))
    6335              :           {
    6336            0 :           case MAX_EXPR:
    6337            0 :             {
    6338            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6339            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6340            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6341              :                 {
    6342            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6343              :                     {
    6344            0 :                       {
    6345            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6346            0 :                         if (!HONOR_NANS (captures[0])
    6347              : )
    6348              :                           {
    6349            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1149;
    6350            0 :                             {
    6351            0 :                               tree res_op0;
    6352            0 :                               res_op0 = captures[0];
    6353            0 :                               tree res_op1;
    6354            0 :                               res_op1 = captures[1];
    6355            0 :                               tree _r;
    6356            0 :                               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    6357            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
    6358            0 :                               return _r;
    6359              :                             }
    6360            0 : next_after_fail1149:;
    6361              :                           }
    6362              :                       }
    6363              :                     }
    6364              :                 }
    6365            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6366              :                 {
    6367            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6368              :                     {
    6369            0 :                       {
    6370            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6371            0 :                         if (!HONOR_NANS (captures[0])
    6372              : )
    6373              :                           {
    6374            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1150;
    6375            0 :                             {
    6376            0 :                               tree res_op0;
    6377            0 :                               res_op0 = captures[0];
    6378            0 :                               tree res_op1;
    6379            0 :                               res_op1 = captures[1];
    6380            0 :                               tree _r;
    6381            0 :                               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    6382            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
    6383            0 :                               return _r;
    6384              :                             }
    6385            0 : next_after_fail1150:;
    6386              :                           }
    6387              :                       }
    6388              :                     }
    6389              :                 }
    6390              :               break;
    6391              :             }
    6392              :           default:;
    6393              :           }
    6394              :         break;
    6395              :       }
    6396        11995 :     case MAX_EXPR:
    6397        11995 :       {
    6398        11995 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6399        11995 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6400        11995 :         switch (TREE_CODE (_p1))
    6401              :           {
    6402            0 :           case MIN_EXPR:
    6403            0 :             {
    6404            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6405            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6406            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6407              :                 {
    6408            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6409              :                     {
    6410            0 :                       {
    6411            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6412            0 :                         if (!HONOR_NANS (captures[0])
    6413              : )
    6414              :                           {
    6415            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1151;
    6416            0 :                             {
    6417            0 :                               tree res_op0;
    6418            0 :                               res_op0 = captures[0];
    6419            0 :                               tree res_op1;
    6420            0 :                               res_op1 = captures[1];
    6421            0 :                               tree _r;
    6422            0 :                               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    6423            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
    6424            0 :                               return _r;
    6425              :                             }
    6426            0 : next_after_fail1151:;
    6427              :                           }
    6428              :                       }
    6429              :                     }
    6430              :                 }
    6431            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6432              :                 {
    6433            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6434              :                     {
    6435            0 :                       {
    6436            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6437            0 :                         if (!HONOR_NANS (captures[0])
    6438              : )
    6439              :                           {
    6440            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1152;
    6441            0 :                             {
    6442            0 :                               tree res_op0;
    6443            0 :                               res_op0 = captures[0];
    6444            0 :                               tree res_op1;
    6445            0 :                               res_op1 = captures[1];
    6446            0 :                               tree _r;
    6447            0 :                               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    6448            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
    6449            0 :                               return _r;
    6450              :                             }
    6451            0 : next_after_fail1152:;
    6452              :                           }
    6453              :                       }
    6454              :                     }
    6455              :                 }
    6456              :               break;
    6457              :             }
    6458              :           default:;
    6459              :           }
    6460              :         break;
    6461              :       }
    6462     64542399 :     default:;
    6463              :     }
    6464     64542399 :   switch (TREE_CODE (_p1))
    6465              :     {
    6466      3444414 :     case MULT_EXPR:
    6467      3444414 :       {
    6468      3444414 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6469      3444414 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6470      3444414 :         switch (TREE_CODE (_q30))
    6471              :           {
    6472       144123 :           case MINUS_EXPR:
    6473       144123 :             {
    6474       144123 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6475       144123 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6476       144123 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    6477              :                 {
    6478           16 :                   if (tree_zero_one_valued_p (_q31))
    6479              :                     {
    6480            0 :                       {
    6481            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q31 };
    6482            0 :                         tree res = generic_simplify_29 (loc, type, _p0, _p1, captures);
    6483            0 :                         if (res) return res;
    6484              :                       }
    6485              :                     }
    6486              :                 }
    6487              :               break;
    6488              :             }
    6489      3444414 :           default:;
    6490              :           }
    6491      3444414 :       if (tree_zero_one_valued_p (_q30))
    6492              :         {
    6493        13826 :           switch (TREE_CODE (_q31))
    6494              :             {
    6495            0 :             case MINUS_EXPR:
    6496            0 :               {
    6497            0 :                 tree _q50 = TREE_OPERAND (_q31, 0);
    6498            0 :                 tree _q51 = TREE_OPERAND (_q31, 1);
    6499            0 :                 if ((_q51 == _p0 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _p0, 0) && types_match (_q51, _p0)))
    6500              :                   {
    6501            0 :                     {
    6502            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q50, _q30 };
    6503            0 :                       tree res = generic_simplify_29 (loc, type, _p0, _p1, captures);
    6504            0 :                       if (res) return res;
    6505              :                     }
    6506              :                   }
    6507              :                 break;
    6508              :               }
    6509              :             default:;
    6510              :             }
    6511              :         }
    6512              :         break;
    6513              :       }
    6514     64542399 :     default:;
    6515              :     }
    6516     64542399 :   switch (TREE_CODE (_p0))
    6517              :     {
    6518     10787406 :     case MULT_EXPR:
    6519     10787406 :       {
    6520     10787406 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6521     10787406 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6522     10787406 :         switch (TREE_CODE (_q20))
    6523              :           {
    6524        18844 :           case TRUNC_DIV_EXPR:
    6525        18844 :             {
    6526        18844 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6527        18844 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6528        18844 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    6529              :                 {
    6530         2329 :                   switch (TREE_CODE (_p1))
    6531              :                     {
    6532            2 :                     case TRUNC_MOD_EXPR:
    6533            2 :                       {
    6534            2 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6535            2 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6536            2 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    6537              :                           {
    6538            2 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    6539              :                               {
    6540            2 :                                 {
    6541            2 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6542            2 :                                   tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
    6543            2 :                                   if (res) return res;
    6544              :                                 }
    6545              :                               }
    6546              :                           }
    6547              :                         break;
    6548              :                       }
    6549              :                     default:;
    6550              :                     }
    6551              :                 }
    6552              :               break;
    6553              :             }
    6554            0 :           case CEIL_DIV_EXPR:
    6555            0 :             {
    6556            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6557            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6558            0 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    6559              :                 {
    6560            0 :                   switch (TREE_CODE (_p1))
    6561              :                     {
    6562            0 :                     case CEIL_MOD_EXPR:
    6563            0 :                       {
    6564            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6565            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6566            0 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    6567              :                           {
    6568            0 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    6569              :                               {
    6570            0 :                                 {
    6571            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6572            0 :                                   tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
    6573            0 :                                   if (res) return res;
    6574              :                                 }
    6575              :                               }
    6576              :                           }
    6577              :                         break;
    6578              :                       }
    6579              :                     default:;
    6580              :                     }
    6581              :                 }
    6582              :               break;
    6583              :             }
    6584            0 :           case FLOOR_DIV_EXPR:
    6585            0 :             {
    6586            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6587            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6588            0 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    6589              :                 {
    6590            0 :                   switch (TREE_CODE (_p1))
    6591              :                     {
    6592            0 :                     case FLOOR_MOD_EXPR:
    6593            0 :                       {
    6594            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6595            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6596            0 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    6597              :                           {
    6598            0 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    6599              :                               {
    6600            0 :                                 {
    6601            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6602            0 :                                   tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
    6603            0 :                                   if (res) return res;
    6604              :                                 }
    6605              :                               }
    6606              :                           }
    6607              :                         break;
    6608              :                       }
    6609              :                     default:;
    6610              :                     }
    6611              :                 }
    6612              :               break;
    6613              :             }
    6614            0 :           case ROUND_DIV_EXPR:
    6615            0 :             {
    6616            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6617            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6618            0 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    6619              :                 {
    6620            0 :                   switch (TREE_CODE (_p1))
    6621              :                     {
    6622            0 :                     case ROUND_MOD_EXPR:
    6623            0 :                       {
    6624            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6625            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6626            0 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    6627              :                           {
    6628            0 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    6629              :                               {
    6630            0 :                                 {
    6631            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6632            0 :                                   tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
    6633            0 :                                   if (res) return res;
    6634              :                                 }
    6635              :                               }
    6636              :                           }
    6637              :                         break;
    6638              :                       }
    6639              :                     default:;
    6640              :                     }
    6641              :                 }
    6642              :               break;
    6643              :             }
    6644     10787404 :           default:;
    6645              :           }
    6646     10787404 :         switch (TREE_CODE (_q21))
    6647              :           {
    6648            6 :           case TRUNC_DIV_EXPR:
    6649            6 :             {
    6650            6 :               tree _q40 = TREE_OPERAND (_q21, 0);
    6651            6 :               tree _q41 = TREE_OPERAND (_q21, 1);
    6652            6 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    6653              :                 {
    6654            0 :                   switch (TREE_CODE (_p1))
    6655              :                     {
    6656            0 :                     case TRUNC_MOD_EXPR:
    6657            0 :                       {
    6658            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6659            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6660            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    6661              :                           {
    6662            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
    6663              :                               {
    6664            0 :                                 {
    6665            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6666            0 :                                   tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
    6667            0 :                                   if (res) return res;
    6668              :                                 }
    6669              :                               }
    6670              :                           }
    6671              :                         break;
    6672              :                       }
    6673              :                     default:;
    6674              :                     }
    6675              :                 }
    6676              :               break;
    6677              :             }
    6678            4 :           case CEIL_DIV_EXPR:
    6679            4 :             {
    6680            4 :               tree _q40 = TREE_OPERAND (_q21, 0);
    6681            4 :               tree _q41 = TREE_OPERAND (_q21, 1);
    6682            4 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    6683              :                 {
    6684            0 :                   switch (TREE_CODE (_p1))
    6685              :                     {
    6686            0 :                     case CEIL_MOD_EXPR:
    6687            0 :                       {
    6688            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6689            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6690            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    6691              :                           {
    6692            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
    6693              :                               {
    6694            0 :                                 {
    6695            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6696            0 :                                   tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
    6697            0 :                                   if (res) return res;
    6698              :                                 }
    6699              :                               }
    6700              :                           }
    6701              :                         break;
    6702              :                       }
    6703              :                     default:;
    6704              :                     }
    6705              :                 }
    6706              :               break;
    6707              :             }
    6708            0 :           case FLOOR_DIV_EXPR:
    6709            0 :             {
    6710            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    6711            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
    6712            0 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    6713              :                 {
    6714            0 :                   switch (TREE_CODE (_p1))
    6715              :                     {
    6716            0 :                     case FLOOR_MOD_EXPR:
    6717            0 :                       {
    6718            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6719            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6720            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    6721              :                           {
    6722            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
    6723              :                               {
    6724            0 :                                 {
    6725            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6726            0 :                                   tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
    6727            0 :                                   if (res) return res;
    6728              :                                 }
    6729              :                               }
    6730              :                           }
    6731              :                         break;
    6732              :                       }
    6733              :                     default:;
    6734              :                     }
    6735              :                 }
    6736              :               break;
    6737              :             }
    6738            0 :           case ROUND_DIV_EXPR:
    6739            0 :             {
    6740            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    6741            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
    6742            0 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    6743              :                 {
    6744            0 :                   switch (TREE_CODE (_p1))
    6745              :                     {
    6746            0 :                     case ROUND_MOD_EXPR:
    6747            0 :                       {
    6748            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6749            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6750            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    6751              :                           {
    6752            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
    6753              :                               {
    6754            0 :                                 {
    6755            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6756            0 :                                   tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
    6757            0 :                                   if (res) return res;
    6758              :                                 }
    6759              :                               }
    6760              :                           }
    6761              :                         break;
    6762              :                       }
    6763              :                     default:;
    6764              :                     }
    6765              :                 }
    6766              :               break;
    6767              :             }
    6768              :           default:;
    6769              :           }
    6770              :         break;
    6771              :       }
    6772        29758 :     case TRUNC_MOD_EXPR:
    6773        29758 :       {
    6774        29758 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6775        29758 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6776        29758 :         switch (TREE_CODE (_p1))
    6777              :           {
    6778          119 :           case MULT_EXPR:
    6779          119 :             {
    6780          119 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6781          119 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6782          119 :               switch (TREE_CODE (_q50))
    6783              :                 {
    6784          106 :                 case TRUNC_DIV_EXPR:
    6785          106 :                   {
    6786          106 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    6787          106 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    6788          106 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6789              :                       {
    6790          106 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    6791              :                           {
    6792           94 :                             if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6793              :                               {
    6794            0 :                                 {
    6795            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6796            0 :                                   tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
    6797            0 :                                   if (res) return res;
    6798              :                                 }
    6799              :                               }
    6800              :                           }
    6801              :                       }
    6802              :                     break;
    6803              :                   }
    6804          119 :                 default:;
    6805              :                 }
    6806          119 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6807              :                 {
    6808            0 :                   switch (TREE_CODE (_q51))
    6809              :                     {
    6810            0 :                     case TRUNC_DIV_EXPR:
    6811            0 :                       {
    6812            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    6813            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
    6814            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6815              :                           {
    6816            0 :                             if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    6817              :                               {
    6818            0 :                                 {
    6819            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6820            0 :                                   tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
    6821            0 :                                   if (res) return res;
    6822              :                                 }
    6823              :                               }
    6824              :                           }
    6825              :                         break;
    6826              :                       }
    6827              :                     default:;
    6828              :                     }
    6829              :                 }
    6830              :               break;
    6831              :             }
    6832              :           default:;
    6833              :           }
    6834              :         break;
    6835              :       }
    6836            0 :     case CEIL_MOD_EXPR:
    6837            0 :       {
    6838            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6839            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6840            0 :         switch (TREE_CODE (_p1))
    6841              :           {
    6842            0 :           case MULT_EXPR:
    6843            0 :             {
    6844            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6845            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6846            0 :               switch (TREE_CODE (_q50))
    6847              :                 {
    6848            0 :                 case CEIL_DIV_EXPR:
    6849            0 :                   {
    6850            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    6851            0 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    6852            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6853              :                       {
    6854            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    6855              :                           {
    6856            0 :                             if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6857              :                               {
    6858            0 :                                 {
    6859            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6860            0 :                                   tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
    6861            0 :                                   if (res) return res;
    6862              :                                 }
    6863              :                               }
    6864              :                           }
    6865              :                       }
    6866              :                     break;
    6867              :                   }
    6868            0 :                 default:;
    6869              :                 }
    6870            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6871              :                 {
    6872            0 :                   switch (TREE_CODE (_q51))
    6873              :                     {
    6874            0 :                     case CEIL_DIV_EXPR:
    6875            0 :                       {
    6876            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    6877            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
    6878            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6879              :                           {
    6880            0 :                             if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    6881              :                               {
    6882            0 :                                 {
    6883            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6884            0 :                                   tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
    6885            0 :                                   if (res) return res;
    6886              :                                 }
    6887              :                               }
    6888              :                           }
    6889              :                         break;
    6890              :                       }
    6891              :                     default:;
    6892              :                     }
    6893              :                 }
    6894              :               break;
    6895              :             }
    6896              :           default:;
    6897              :           }
    6898              :         break;
    6899              :       }
    6900          124 :     case FLOOR_MOD_EXPR:
    6901          124 :       {
    6902          124 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6903          124 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6904          124 :         switch (TREE_CODE (_p1))
    6905              :           {
    6906            0 :           case MULT_EXPR:
    6907            0 :             {
    6908            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6909            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6910            0 :               switch (TREE_CODE (_q50))
    6911              :                 {
    6912            0 :                 case FLOOR_DIV_EXPR:
    6913            0 :                   {
    6914            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    6915            0 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    6916            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6917              :                       {
    6918            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    6919              :                           {
    6920            0 :                             if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6921              :                               {
    6922            0 :                                 {
    6923            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6924            0 :                                   tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
    6925            0 :                                   if (res) return res;
    6926              :                                 }
    6927              :                               }
    6928              :                           }
    6929              :                       }
    6930              :                     break;
    6931              :                   }
    6932            0 :                 default:;
    6933              :                 }
    6934            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6935              :                 {
    6936            0 :                   switch (TREE_CODE (_q51))
    6937              :                     {
    6938            0 :                     case FLOOR_DIV_EXPR:
    6939            0 :                       {
    6940            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    6941            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
    6942            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6943              :                           {
    6944            0 :                             if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    6945              :                               {
    6946            0 :                                 {
    6947            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6948            0 :                                   tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
    6949            0 :                                   if (res) return res;
    6950              :                                 }
    6951              :                               }
    6952              :                           }
    6953              :                         break;
    6954              :                       }
    6955              :                     default:;
    6956              :                     }
    6957              :                 }
    6958              :               break;
    6959              :             }
    6960              :           default:;
    6961              :           }
    6962              :         break;
    6963              :       }
    6964            0 :     case ROUND_MOD_EXPR:
    6965            0 :       {
    6966            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6967            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6968            0 :         switch (TREE_CODE (_p1))
    6969              :           {
    6970            0 :           case MULT_EXPR:
    6971            0 :             {
    6972            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6973            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6974            0 :               switch (TREE_CODE (_q50))
    6975              :                 {
    6976            0 :                 case ROUND_DIV_EXPR:
    6977            0 :                   {
    6978            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    6979            0 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    6980            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6981              :                       {
    6982            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    6983              :                           {
    6984            0 :                             if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6985              :                               {
    6986            0 :                                 {
    6987            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6988            0 :                                   tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
    6989            0 :                                   if (res) return res;
    6990              :                                 }
    6991              :                               }
    6992              :                           }
    6993              :                       }
    6994              :                     break;
    6995              :                   }
    6996            0 :                 default:;
    6997              :                 }
    6998            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6999              :                 {
    7000            0 :                   switch (TREE_CODE (_q51))
    7001              :                     {
    7002            0 :                     case ROUND_DIV_EXPR:
    7003            0 :                       {
    7004            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    7005            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
    7006            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    7007              :                           {
    7008            0 :                             if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    7009              :                               {
    7010            0 :                                 {
    7011            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7012            0 :                                   tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
    7013            0 :                                   if (res) return res;
    7014              :                                 }
    7015              :                               }
    7016              :                           }
    7017              :                         break;
    7018              :                       }
    7019              :                     default:;
    7020              :                     }
    7021              :                 }
    7022              :               break;
    7023              :             }
    7024              :           default:;
    7025              :           }
    7026              :         break;
    7027              :       }
    7028     64542397 :     default:;
    7029              :     }
    7030     64542397 :   switch (TREE_CODE (_p1))
    7031              :     {
    7032      3062466 :     case REAL_CST:
    7033      3062466 :       {
    7034      3062466 :         {
    7035      3062466 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    7036      3062466 :           if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
    7037              : )
    7038              :             {
    7039       113348 :               {
    7040       113348 :  tree tem = const_unop (NEGATE_EXPR, type, captures[1]);
    7041       113348 :                   if (!TREE_OVERFLOW (tem) || !flag_trapping_math
    7042              : )
    7043              :                     {
    7044       113348 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1153;
    7045       113348 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1153;
    7046       113348 :                       {
    7047       113348 :                         tree res_op0;
    7048       113348 :                         res_op0 = captures[0];
    7049       113348 :                         tree res_op1;
    7050       113348 :                         res_op1 =  tem;
    7051       113348 :                         tree _r;
    7052       113348 :                         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    7053       113348 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 873, __FILE__, __LINE__, true);
    7054       113348 :                         return _r;
    7055              :                       }
    7056      2949118 : next_after_fail1153:;
    7057              :                     }
    7058              :               }
    7059              :             }
    7060              :         }
    7061      2949118 :         break;
    7062              :       }
    7063     64429049 :     default:;
    7064              :     }
    7065     64429049 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    7066              :     {
    7067      1596038 :       {
    7068      1596038 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7069      1596038 :         if (SCALAR_FLOAT_TYPE_P (type)
    7070              : )
    7071              :           {
    7072          691 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1154;
    7073          691 :             {
    7074          691 :               tree res_op0;
    7075          691 :               res_op0 = captures[0];
    7076          691 :               tree res_op1;
    7077          691 :               res_op1 =  build_real (type, dconst2);
    7078          691 :               tree _r;
    7079          691 :               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    7080          691 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 874, __FILE__, __LINE__, true);
    7081          691 :               return _r;
    7082              :             }
    7083            0 : next_after_fail1154:;
    7084              :           }
    7085              :         else
    7086              :           {
    7087      1595347 :             if (INTEGRAL_TYPE_P (type)
    7088              : )
    7089              :               {
    7090      1595297 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1155;
    7091      1595297 :                 {
    7092      1595297 :                   tree res_op0;
    7093      1595297 :                   res_op0 = captures[0];
    7094      1595297 :                   tree res_op1;
    7095      1595297 :                   res_op1 =  build_int_cst (type, 2);
    7096      1595297 :                   tree _r;
    7097      1595297 :                   _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    7098      1595297 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 875, __FILE__, __LINE__, true);
    7099      1595297 :                   return _r;
    7100              :                 }
    7101            0 : next_after_fail1155:;
    7102              :               }
    7103              :           }
    7104              :       }
    7105              :     }
    7106     62833061 :   switch (TREE_CODE (_p0))
    7107              :     {
    7108          144 :     case VEC_COND_EXPR:
    7109          144 :       {
    7110          144 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7111          144 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7112          144 :         tree _q22 = TREE_OPERAND (_p0, 2);
    7113          144 :         switch (TREE_CODE (_p1))
    7114              :           {
    7115           48 :           case VEC_COND_EXPR:
    7116           48 :             {
    7117           48 :               tree _q60 = TREE_OPERAND (_p1, 0);
    7118           48 :               tree _q61 = TREE_OPERAND (_p1, 1);
    7119           48 :               tree _q62 = TREE_OPERAND (_p1, 2);
    7120           48 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7121              :                 {
    7122           24 :                   {
    7123           24 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    7124           24 :                     if (VECTOR_TYPE_P (type)
    7125           24 :  && (TREE_CODE_CLASS (PLUS_EXPR) != tcc_comparison
    7126              :  || types_match (type, TREE_TYPE (captures[2]))
    7127              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7128              :  || (optimize_vectors_before_lowering_p ()
    7129              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7130              : )
    7131              :                       {
    7132           24 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1156;
    7133           24 :                         {
    7134           24 :                           tree res_op0;
    7135           24 :                           res_op0 = captures[1];
    7136           24 :                           tree res_op1;
    7137           24 :                           {
    7138           24 :                             tree _o1[2], _r1;
    7139           24 :                             _o1[0] = captures[2];
    7140           24 :                             _o1[1] = captures[5];
    7141           24 :                             _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    7142           24 :                             if (EXPR_P (_r1))
    7143            0 :                               goto next_after_fail1156;
    7144           24 :                             res_op1 = _r1;
    7145              :                           }
    7146           24 :                           tree res_op2;
    7147           24 :                           {
    7148           24 :                             tree _o1[2], _r1;
    7149           24 :                             _o1[0] = captures[3];
    7150           24 :                             _o1[1] = captures[6];
    7151           24 :                             _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    7152           24 :                             if (EXPR_P (_r1))
    7153            0 :                               goto next_after_fail1156;
    7154           24 :                             res_op2 = _r1;
    7155              :                           }
    7156           24 :                           tree _r;
    7157           24 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7158           24 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
    7159           24 :                           return _r;
    7160              :                         }
    7161            0 : next_after_fail1156:;
    7162              :                       }
    7163              :                   }
    7164              :                 }
    7165              :               break;
    7166              :             }
    7167          120 :           default:;
    7168              :           }
    7169          120 :         {
    7170          120 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    7171          120 :           if (VECTOR_TYPE_P (type)
    7172          120 :  && (TREE_CODE_CLASS (PLUS_EXPR) != tcc_comparison
    7173              :  || types_match (type, TREE_TYPE (captures[2]))
    7174              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7175              :  || (optimize_vectors_before_lowering_p ()
    7176              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7177              : )
    7178              :             {
    7179          120 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1157;
    7180          120 :               {
    7181          120 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1157;
    7182           26 :                 tree res_op0;
    7183           26 :                 res_op0 = captures[1];
    7184           26 :                 tree res_op1;
    7185           26 :                 {
    7186           26 :                   tree _o1[2], _r1;
    7187           26 :                   _o1[0] = captures[2];
    7188           26 :                   _o1[1] = unshare_expr (captures[4]);
    7189           26 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    7190           26 :                   if (EXPR_P (_r1))
    7191            0 :                     goto next_after_fail1157;
    7192           26 :                   res_op1 = _r1;
    7193              :                 }
    7194           26 :                 tree res_op2;
    7195           26 :                 {
    7196           26 :                   tree _o1[2], _r1;
    7197           26 :                   _o1[0] = captures[3];
    7198           26 :                   _o1[1] = captures[4];
    7199           26 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    7200           26 :                   if (EXPR_P (_r1))
    7201            0 :                     goto next_after_fail1157;
    7202           26 :                   res_op2 = _r1;
    7203              :                 }
    7204           26 :                 tree _r;
    7205           26 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7206           26 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
    7207           26 :                 return _r;
    7208              :               }
    7209           94 : next_after_fail1157:;
    7210              :             }
    7211              :         }
    7212           94 :         if (integer_each_onep (_q21))
    7213              :           {
    7214            0 :             if (integer_zerop (_q22))
    7215              :               {
    7216            0 :                 {
    7217            0 :                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p0, _q20, _q21, _q22 };
    7218            0 :                   tree res = generic_simplify_31 (loc, type, _p0, _p1, captures);
    7219            0 :                   if (res) return res;
    7220              :                 }
    7221              :               }
    7222              :           }
    7223              :         break;
    7224              :       }
    7225     62833011 :     default:;
    7226              :     }
    7227     62833011 :   switch (TREE_CODE (_p1))
    7228              :     {
    7229           40 :     case VEC_COND_EXPR:
    7230           40 :       {
    7231           40 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7232           40 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7233           40 :         tree _q32 = TREE_OPERAND (_p1, 2);
    7234           40 :         {
    7235           40 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    7236           40 :           if (VECTOR_TYPE_P (type)
    7237           40 :  && (TREE_CODE_CLASS (PLUS_EXPR) != tcc_comparison
    7238              :  || types_match (type, TREE_TYPE (captures[3]))
    7239              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    7240              :  || (optimize_vectors_before_lowering_p ()
    7241              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    7242              : )
    7243              :             {
    7244           40 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1158;
    7245           40 :               {
    7246           40 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1158;
    7247            0 :                 tree res_op0;
    7248            0 :                 res_op0 = captures[2];
    7249            0 :                 tree res_op1;
    7250            0 :                 {
    7251            0 :                   tree _o1[2], _r1;
    7252            0 :                   _o1[0] = unshare_expr (captures[0]);
    7253            0 :                   _o1[1] = captures[3];
    7254            0 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    7255            0 :                   if (EXPR_P (_r1))
    7256            0 :                     goto next_after_fail1158;
    7257            0 :                   res_op1 = _r1;
    7258              :                 }
    7259            0 :                 tree res_op2;
    7260            0 :                 {
    7261            0 :                   tree _o1[2], _r1;
    7262            0 :                   _o1[0] = captures[0];
    7263            0 :                   _o1[1] = captures[4];
    7264            0 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    7265            0 :                   if (EXPR_P (_r1))
    7266            0 :                     goto next_after_fail1158;
    7267            0 :                   res_op2 = _r1;
    7268              :                 }
    7269            0 :                 tree _r;
    7270            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7271            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
    7272            0 :                 return _r;
    7273              :               }
    7274           40 : next_after_fail1158:;
    7275              :             }
    7276              :         }
    7277           40 :         break;
    7278              :       }
    7279       342582 :     case VIEW_CONVERT_EXPR:
    7280       342582 :       {
    7281       342582 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7282       342582 :         switch (TREE_CODE (_q30))
    7283              :           {
    7284            0 :           case VEC_COND_EXPR:
    7285            0 :             {
    7286            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7287            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7288            0 :               tree _q42 = TREE_OPERAND (_q30, 2);
    7289            0 :               if (integer_each_onep (_q41))
    7290              :                 {
    7291            0 :                   if (integer_zerop (_q42))
    7292              :                     {
    7293            0 :                       {
    7294            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42 };
    7295            0 :                         tree res = generic_simplify_31 (loc, type, _p0, _p1, captures);
    7296            0 :                         if (res) return res;
    7297              :                       }
    7298              :                     }
    7299              :                 }
    7300              :               break;
    7301              :             }
    7302              :           default:;
    7303              :           }
    7304              :         break;
    7305              :       }
    7306     62833011 :     default:;
    7307              :     }
    7308     62833011 :   switch (TREE_CODE (_p0))
    7309              :     {
    7310       331603 :     case VIEW_CONVERT_EXPR:
    7311       331603 :       {
    7312       331603 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7313       331603 :         switch (TREE_CODE (_q20))
    7314              :           {
    7315            0 :           case VEC_COND_EXPR:
    7316            0 :             {
    7317            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7318            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7319            0 :               tree _q32 = TREE_OPERAND (_q20, 2);
    7320            0 :               if (integer_each_onep (_q31))
    7321              :                 {
    7322            0 :                   if (integer_zerop (_q32))
    7323              :                     {
    7324            0 :                       {
    7325            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q30, _q31, _q32 };
    7326            0 :                         tree res = generic_simplify_31 (loc, type, _p0, _p1, captures);
    7327            0 :                         if (res) return res;
    7328              :                       }
    7329              :                     }
    7330              :                 }
    7331              :               break;
    7332              :             }
    7333              :           default:;
    7334              :           }
    7335              :         break;
    7336              :       }
    7337     62833011 :     default:;
    7338              :     }
    7339     62833011 :   switch (TREE_CODE (_p1))
    7340              :     {
    7341           40 :     case VEC_COND_EXPR:
    7342           40 :       {
    7343           40 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7344           40 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7345           40 :         tree _q32 = TREE_OPERAND (_p1, 2);
    7346           40 :         if (integer_each_onep (_q31))
    7347              :           {
    7348            0 :             if (integer_zerop (_q32))
    7349              :               {
    7350            0 :                 {
    7351            0 :                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    7352            0 :                   tree res = generic_simplify_31 (loc, type, _p0, _p1, captures);
    7353            0 :                   if (res) return res;
    7354              :                 }
    7355              :               }
    7356              :           }
    7357              :         break;
    7358              :       }
    7359     62833011 :     default:;
    7360              :     }
    7361     62833011 :   switch (TREE_CODE (_p0))
    7362              :     {
    7363     17982170 :     CASE_CONVERT:
    7364     17982170 :       {
    7365     17982170 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7366     17982170 :         switch (TREE_CODE (_q20))
    7367              :           {
    7368            0 :           case LT_EXPR:
    7369            0 :             {
    7370            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7371            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7372            0 :               if (integer_minus_onep (_p1))
    7373              :                 {
    7374            0 :                   {
    7375            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7376            0 :                     tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    7377            0 :                     if (res) return res;
    7378              :                   }
    7379              :                 }
    7380              :               break;
    7381              :             }
    7382            0 :           case LE_EXPR:
    7383            0 :             {
    7384            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7385            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7386            0 :               if (integer_minus_onep (_p1))
    7387              :                 {
    7388            0 :                   {
    7389            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7390            0 :                     tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    7391            0 :                     if (res) return res;
    7392              :                   }
    7393              :                 }
    7394              :               break;
    7395              :             }
    7396           78 :           case EQ_EXPR:
    7397           78 :             {
    7398           78 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7399           78 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7400           78 :               if (integer_minus_onep (_p1))
    7401              :                 {
    7402            0 :                   {
    7403            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7404            0 :                     tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    7405            0 :                     if (res) return res;
    7406              :                   }
    7407              :                 }
    7408              :               break;
    7409              :             }
    7410          212 :           case NE_EXPR:
    7411          212 :             {
    7412          212 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7413          212 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7414          212 :               if (integer_minus_onep (_p1))
    7415              :                 {
    7416            0 :                   {
    7417            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7418            0 :                     tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    7419            0 :                     if (res) return res;
    7420              :                   }
    7421              :                 }
    7422              :               break;
    7423              :             }
    7424           12 :           case GE_EXPR:
    7425           12 :             {
    7426           12 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7427           12 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7428           12 :               if (integer_minus_onep (_p1))
    7429              :                 {
    7430            0 :                   {
    7431            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7432            0 :                     tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    7433            0 :                     if (res) return res;
    7434              :                   }
    7435              :                 }
    7436              :               break;
    7437              :             }
    7438            1 :           case GT_EXPR:
    7439            1 :             {
    7440            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7441            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7442            1 :               if (integer_minus_onep (_p1))
    7443              :                 {
    7444            0 :                   {
    7445            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7446            0 :                     tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    7447            0 :                     if (res) return res;
    7448              :                   }
    7449              :                 }
    7450              :               break;
    7451              :             }
    7452            0 :           case UNORDERED_EXPR:
    7453            0 :             {
    7454            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7455            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7456            0 :               if (integer_minus_onep (_p1))
    7457              :                 {
    7458            0 :                   {
    7459            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7460            0 :                     tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    7461            0 :                     if (res) return res;
    7462              :                   }
    7463              :                 }
    7464              :               break;
    7465              :             }
    7466            0 :           case ORDERED_EXPR:
    7467            0 :             {
    7468            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7469            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7470            0 :               if (integer_minus_onep (_p1))
    7471              :                 {
    7472            0 :                   {
    7473            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7474            0 :                     tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    7475            0 :                     if (res) return res;
    7476              :                   }
    7477              :                 }
    7478              :               break;
    7479              :             }
    7480            0 :           case UNLT_EXPR:
    7481            0 :             {
    7482            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7483            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7484            0 :               if (integer_minus_onep (_p1))
    7485              :                 {
    7486            0 :                   {
    7487            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7488            0 :                     tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    7489            0 :                     if (res) return res;
    7490              :                   }
    7491              :                 }
    7492              :               break;
    7493              :             }
    7494            0 :           case UNLE_EXPR:
    7495            0 :             {
    7496            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7497            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7498            0 :               if (integer_minus_onep (_p1))
    7499              :                 {
    7500            0 :                   {
    7501            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7502            0 :                     tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    7503            0 :                     if (res) return res;
    7504              :                   }
    7505              :                 }
    7506              :               break;
    7507              :             }
    7508            0 :           case UNGT_EXPR:
    7509            0 :             {
    7510            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7511            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7512            0 :               if (integer_minus_onep (_p1))
    7513              :                 {
    7514            0 :                   {
    7515            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7516            0 :                     tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    7517            0 :                     if (res) return res;
    7518              :                   }
    7519              :                 }
    7520              :               break;
    7521              :             }
    7522            0 :           case UNGE_EXPR:
    7523            0 :             {
    7524            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7525            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7526            0 :               if (integer_minus_onep (_p1))
    7527              :                 {
    7528            0 :                   {
    7529            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7530            0 :                     tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    7531            0 :                     if (res) return res;
    7532              :                   }
    7533              :                 }
    7534              :               break;
    7535              :             }
    7536            0 :           case UNEQ_EXPR:
    7537            0 :             {
    7538            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7539            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7540            0 :               if (integer_minus_onep (_p1))
    7541              :                 {
    7542            0 :                   {
    7543            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7544            0 :                     tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    7545            0 :                     if (res) return res;
    7546              :                   }
    7547              :                 }
    7548              :               break;
    7549              :             }
    7550            0 :           case LTGT_EXPR:
    7551            0 :             {
    7552            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7553            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7554            0 :               if (integer_minus_onep (_p1))
    7555              :                 {
    7556            0 :                   {
    7557            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7558            0 :                     tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    7559            0 :                     if (res) return res;
    7560              :                   }
    7561              :                 }
    7562              :               break;
    7563              :             }
    7564              :           default:;
    7565              :           }
    7566              :         break;
    7567              :       }
    7568          155 :     case LT_EXPR:
    7569          155 :       {
    7570          155 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7571          155 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7572          155 :         if (integer_minus_onep (_p1))
    7573              :           {
    7574            0 :             {
    7575            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7576            0 :               tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    7577            0 :               if (res) return res;
    7578              :             }
    7579              :           }
    7580              :         break;
    7581              :       }
    7582           49 :     case LE_EXPR:
    7583           49 :       {
    7584           49 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7585           49 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7586           49 :         if (integer_minus_onep (_p1))
    7587              :           {
    7588            0 :             {
    7589            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7590            0 :               tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    7591            0 :               if (res) return res;
    7592              :             }
    7593              :           }
    7594              :         break;
    7595              :       }
    7596       147393 :     case EQ_EXPR:
    7597       147393 :       {
    7598       147393 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7599       147393 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7600       147393 :         if (integer_minus_onep (_p1))
    7601              :           {
    7602           23 :             {
    7603           23 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7604           23 :               tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    7605           23 :               if (res) return res;
    7606              :             }
    7607              :           }
    7608              :         break;
    7609              :       }
    7610         1676 :     case NE_EXPR:
    7611         1676 :       {
    7612         1676 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7613         1676 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7614         1676 :         if (integer_minus_onep (_p1))
    7615              :           {
    7616           33 :             {
    7617           33 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7618           33 :               tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    7619           33 :               if (res) return res;
    7620              :             }
    7621              :           }
    7622              :         break;
    7623              :       }
    7624           35 :     case GE_EXPR:
    7625           35 :       {
    7626           35 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7627           35 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7628           35 :         if (integer_minus_onep (_p1))
    7629              :           {
    7630            0 :             {
    7631            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7632            0 :               tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    7633            0 :               if (res) return res;
    7634              :             }
    7635              :           }
    7636              :         break;
    7637              :       }
    7638          103 :     case GT_EXPR:
    7639          103 :       {
    7640          103 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7641          103 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7642          103 :         if (integer_minus_onep (_p1))
    7643              :           {
    7644            0 :             {
    7645            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7646            0 :               tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    7647            0 :               if (res) return res;
    7648              :             }
    7649              :           }
    7650              :         break;
    7651              :       }
    7652            0 :     case UNORDERED_EXPR:
    7653            0 :       {
    7654            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7655            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7656            0 :         if (integer_minus_onep (_p1))
    7657              :           {
    7658            0 :             {
    7659            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7660            0 :               tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    7661            0 :               if (res) return res;
    7662              :             }
    7663              :           }
    7664              :         break;
    7665              :       }
    7666            0 :     case ORDERED_EXPR:
    7667            0 :       {
    7668            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7669            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7670            0 :         if (integer_minus_onep (_p1))
    7671              :           {
    7672            0 :             {
    7673            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7674            0 :               tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    7675            0 :               if (res) return res;
    7676              :             }
    7677              :           }
    7678              :         break;
    7679              :       }
    7680            0 :     case UNLT_EXPR:
    7681            0 :       {
    7682            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7683            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7684            0 :         if (integer_minus_onep (_p1))
    7685              :           {
    7686            0 :             {
    7687            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7688            0 :               tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    7689            0 :               if (res) return res;
    7690              :             }
    7691              :           }
    7692              :         break;
    7693              :       }
    7694            0 :     case UNLE_EXPR:
    7695            0 :       {
    7696            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7697            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7698            0 :         if (integer_minus_onep (_p1))
    7699              :           {
    7700            0 :             {
    7701            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7702            0 :               tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    7703            0 :               if (res) return res;
    7704              :             }
    7705              :           }
    7706              :         break;
    7707              :       }
    7708            0 :     case UNGT_EXPR:
    7709            0 :       {
    7710            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7711            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7712            0 :         if (integer_minus_onep (_p1))
    7713              :           {
    7714            0 :             {
    7715            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7716            0 :               tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    7717            0 :               if (res) return res;
    7718              :             }
    7719              :           }
    7720              :         break;
    7721              :       }
    7722            0 :     case UNGE_EXPR:
    7723            0 :       {
    7724            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7725            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7726            0 :         if (integer_minus_onep (_p1))
    7727              :           {
    7728            0 :             {
    7729            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7730            0 :               tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    7731            0 :               if (res) return res;
    7732              :             }
    7733              :           }
    7734              :         break;
    7735              :       }
    7736            0 :     case UNEQ_EXPR:
    7737            0 :       {
    7738            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7739            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7740            0 :         if (integer_minus_onep (_p1))
    7741              :           {
    7742            0 :             {
    7743            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7744            0 :               tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    7745            0 :               if (res) return res;
    7746              :             }
    7747              :           }
    7748              :         break;
    7749              :       }
    7750            0 :     case LTGT_EXPR:
    7751            0 :       {
    7752            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7753            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7754            0 :         if (integer_minus_onep (_p1))
    7755              :           {
    7756            0 :             {
    7757            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7758            0 :               tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    7759            0 :               if (res) return res;
    7760              :             }
    7761              :           }
    7762              :         break;
    7763              :       }
    7764       519861 :     case RDIV_EXPR:
    7765       519861 :       {
    7766       519861 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7767       519861 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7768       519861 :         switch (TREE_CODE (_p1))
    7769              :           {
    7770       110718 :           case RDIV_EXPR:
    7771       110718 :             {
    7772       110718 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7773       110718 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7774       110718 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7775              :                 {
    7776            1 :                   {
    7777            1 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7778            1 :                     tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    7779            1 :                     if (res) return res;
    7780              :                   }
    7781              :                 }
    7782              :               break;
    7783              :             }
    7784              :           default:;
    7785              :           }
    7786              :         break;
    7787              :       }
    7788      1729469 :     case MINUS_EXPR:
    7789      1729469 :       {
    7790      1729469 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7791      1729469 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7792      1729469 :         switch (TREE_CODE (_q20))
    7793              :           {
    7794           41 :           case CALL_EXPR:
    7795           41 :             switch (get_call_combined_fn (_q20))
    7796              :               {
    7797            4 :               case CFN_BUILT_IN_POPCOUNT:
    7798            4 :                 if (call_expr_nargs (_q20) == 1)
    7799              :     {
    7800            4 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    7801            4 :                     switch (TREE_CODE (_q21))
    7802              :                       {
    7803            4 :                       case CALL_EXPR:
    7804            4 :                         switch (get_call_combined_fn (_q21))
    7805              :                           {
    7806            4 :                           case CFN_BUILT_IN_POPCOUNT:
    7807            4 :                             if (call_expr_nargs (_q21) == 1)
    7808              :     {
    7809            4 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    7810            4 :                                 switch (TREE_CODE (_q50))
    7811              :                                   {
    7812            2 :                                   case BIT_AND_EXPR:
    7813            2 :                                     {
    7814            2 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    7815            2 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    7816            2 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    7817              :                                         {
    7818            1 :                                           switch (TREE_CODE (_p1))
    7819              :                                             {
    7820            1 :                                             case CALL_EXPR:
    7821            1 :                                               switch (get_call_combined_fn (_p1))
    7822              :                                                 {
    7823            1 :                                                 case CFN_BUILT_IN_POPCOUNT:
    7824            1 :                                                   if (call_expr_nargs (_p1) == 1)
    7825              :     {
    7826            1 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    7827            1 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    7828              :                                                         {
    7829            1 :                                                           {
    7830            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    7831            1 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNT);
    7832            1 :                                                             if (res) return res;
    7833              :                                                           }
    7834              :                                                         }
    7835              :                                                     }
    7836              :                                                   break;
    7837              :                                                 default:;
    7838              :                                                 }
    7839              :                                               break;
    7840              :                                             default:;
    7841              :                                             }
    7842              :                                         }
    7843            1 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    7844              :                                         {
    7845            1 :                                           switch (TREE_CODE (_p1))
    7846              :                                             {
    7847            1 :                                             case CALL_EXPR:
    7848            1 :                                               switch (get_call_combined_fn (_p1))
    7849              :                                                 {
    7850            1 :                                                 case CFN_BUILT_IN_POPCOUNT:
    7851            1 :                                                   if (call_expr_nargs (_p1) == 1)
    7852              :     {
    7853            1 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    7854            1 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    7855              :                                                         {
    7856            1 :                                                           {
    7857            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    7858            1 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNT);
    7859            1 :                                                             if (res) return res;
    7860              :                                                           }
    7861              :                                                         }
    7862              :                                                     }
    7863              :                                                   break;
    7864              :                                                 default:;
    7865              :                                                 }
    7866              :                                               break;
    7867              :                                             default:;
    7868              :                                             }
    7869              :                                         }
    7870              :                                       break;
    7871              :                                     }
    7872            2 :                                   case BIT_IOR_EXPR:
    7873            2 :                                     {
    7874            2 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    7875            2 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    7876            2 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    7877              :                                         {
    7878            1 :                                           switch (TREE_CODE (_p1))
    7879              :                                             {
    7880            1 :                                             case CALL_EXPR:
    7881            1 :                                               switch (get_call_combined_fn (_p1))
    7882              :                                                 {
    7883            1 :                                                 case CFN_BUILT_IN_POPCOUNT:
    7884            1 :                                                   if (call_expr_nargs (_p1) == 1)
    7885              :     {
    7886            1 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    7887            1 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    7888              :                                                         {
    7889            1 :                                                           {
    7890            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    7891            1 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNT);
    7892            1 :                                                             if (res) return res;
    7893              :                                                           }
    7894              :                                                         }
    7895              :                                                     }
    7896              :                                                   break;
    7897              :                                                 default:;
    7898              :                                                 }
    7899              :                                               break;
    7900              :                                             default:;
    7901              :                                             }
    7902              :                                         }
    7903            1 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    7904              :                                         {
    7905            1 :                                           switch (TREE_CODE (_p1))
    7906              :                                             {
    7907            1 :                                             case CALL_EXPR:
    7908            1 :                                               switch (get_call_combined_fn (_p1))
    7909              :                                                 {
    7910            1 :                                                 case CFN_BUILT_IN_POPCOUNT:
    7911            1 :                                                   if (call_expr_nargs (_p1) == 1)
    7912              :     {
    7913            1 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    7914            1 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    7915              :                                                         {
    7916            1 :                                                           {
    7917            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    7918            1 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNT);
    7919            1 :                                                             if (res) return res;
    7920              :                                                           }
    7921              :                                                         }
    7922              :                                                     }
    7923              :                                                   break;
    7924              :                                                 default:;
    7925              :                                                 }
    7926              :                                               break;
    7927              :                                             default:;
    7928              :                                             }
    7929              :                                         }
    7930              :                                       break;
    7931              :                                     }
    7932              :                                   default:;
    7933              :                                   }
    7934              :                               }
    7935              :                             break;
    7936              :                           default:;
    7937              :                           }
    7938              :                         break;
    7939              :                       default:;
    7940              :                       }
    7941              :                   }
    7942              :                 break;
    7943            0 :               case CFN_BUILT_IN_POPCOUNTLL:
    7944            0 :                 if (call_expr_nargs (_q20) == 1)
    7945              :     {
    7946            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    7947            0 :                     switch (TREE_CODE (_q21))
    7948              :                       {
    7949            0 :                       case CALL_EXPR:
    7950            0 :                         switch (get_call_combined_fn (_q21))
    7951              :                           {
    7952            0 :                           case CFN_BUILT_IN_POPCOUNTLL:
    7953            0 :                             if (call_expr_nargs (_q21) == 1)
    7954              :     {
    7955            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    7956            0 :                                 switch (TREE_CODE (_q50))
    7957              :                                   {
    7958            0 :                                   case BIT_AND_EXPR:
    7959            0 :                                     {
    7960            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    7961            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    7962            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    7963              :                                         {
    7964            0 :                                           switch (TREE_CODE (_p1))
    7965              :                                             {
    7966            0 :                                             case CALL_EXPR:
    7967            0 :                                               switch (get_call_combined_fn (_p1))
    7968              :                                                 {
    7969            0 :                                                 case CFN_BUILT_IN_POPCOUNTLL:
    7970            0 :                                                   if (call_expr_nargs (_p1) == 1)
    7971              :     {
    7972            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    7973            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    7974              :                                                         {
    7975            0 :                                                           {
    7976            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    7977            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    7978            0 :                                                             if (res) return res;
    7979              :                                                           }
    7980              :                                                         }
    7981              :                                                     }
    7982              :                                                   break;
    7983              :                                                 default:;
    7984              :                                                 }
    7985              :                                               break;
    7986              :                                             default:;
    7987              :                                             }
    7988              :                                         }
    7989            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    7990              :                                         {
    7991            0 :                                           switch (TREE_CODE (_p1))
    7992              :                                             {
    7993            0 :                                             case CALL_EXPR:
    7994            0 :                                               switch (get_call_combined_fn (_p1))
    7995              :                                                 {
    7996            0 :                                                 case CFN_BUILT_IN_POPCOUNTLL:
    7997            0 :                                                   if (call_expr_nargs (_p1) == 1)
    7998              :     {
    7999            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8000            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8001              :                                                         {
    8002            0 :                                                           {
    8003            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8004            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    8005            0 :                                                             if (res) return res;
    8006              :                                                           }
    8007              :                                                         }
    8008              :                                                     }
    8009              :                                                   break;
    8010              :                                                 default:;
    8011              :                                                 }
    8012              :                                               break;
    8013              :                                             default:;
    8014              :                                             }
    8015              :                                         }
    8016              :                                       break;
    8017              :                                     }
    8018            0 :                                   case BIT_IOR_EXPR:
    8019            0 :                                     {
    8020            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8021            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8022            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8023              :                                         {
    8024            0 :                                           switch (TREE_CODE (_p1))
    8025              :                                             {
    8026            0 :                                             case CALL_EXPR:
    8027            0 :                                               switch (get_call_combined_fn (_p1))
    8028              :                                                 {
    8029            0 :                                                 case CFN_BUILT_IN_POPCOUNTLL:
    8030            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8031              :     {
    8032            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8033            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8034              :                                                         {
    8035            0 :                                                           {
    8036            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8037            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    8038            0 :                                                             if (res) return res;
    8039              :                                                           }
    8040              :                                                         }
    8041              :                                                     }
    8042              :                                                   break;
    8043              :                                                 default:;
    8044              :                                                 }
    8045              :                                               break;
    8046              :                                             default:;
    8047              :                                             }
    8048              :                                         }
    8049            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8050              :                                         {
    8051            0 :                                           switch (TREE_CODE (_p1))
    8052              :                                             {
    8053            0 :                                             case CALL_EXPR:
    8054            0 :                                               switch (get_call_combined_fn (_p1))
    8055              :                                                 {
    8056            0 :                                                 case CFN_BUILT_IN_POPCOUNTLL:
    8057            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8058              :     {
    8059            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8060            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8061              :                                                         {
    8062            0 :                                                           {
    8063            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8064            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    8065            0 :                                                             if (res) return res;
    8066              :                                                           }
    8067              :                                                         }
    8068              :                                                     }
    8069              :                                                   break;
    8070              :                                                 default:;
    8071              :                                                 }
    8072              :                                               break;
    8073              :                                             default:;
    8074              :                                             }
    8075              :                                         }
    8076              :                                       break;
    8077              :                                     }
    8078              :                                   default:;
    8079              :                                   }
    8080              :                               }
    8081              :                             break;
    8082              :                           default:;
    8083              :                           }
    8084              :                         break;
    8085              :                       default:;
    8086              :                       }
    8087              :                   }
    8088              :                 break;
    8089            0 :               case CFN_POPCOUNT:
    8090            0 :                 if (call_expr_nargs (_q20) == 1)
    8091              :     {
    8092            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    8093            0 :                     switch (TREE_CODE (_q21))
    8094              :                       {
    8095            0 :                       case CALL_EXPR:
    8096            0 :                         switch (get_call_combined_fn (_q21))
    8097              :                           {
    8098            0 :                           case CFN_POPCOUNT:
    8099            0 :                             if (call_expr_nargs (_q21) == 1)
    8100              :     {
    8101            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    8102            0 :                                 switch (TREE_CODE (_q50))
    8103              :                                   {
    8104            0 :                                   case BIT_AND_EXPR:
    8105            0 :                                     {
    8106            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8107            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8108            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8109              :                                         {
    8110            0 :                                           switch (TREE_CODE (_p1))
    8111              :                                             {
    8112            0 :                                             case CALL_EXPR:
    8113            0 :                                               switch (get_call_combined_fn (_p1))
    8114              :                                                 {
    8115            0 :                                                 case CFN_POPCOUNT:
    8116            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8117              :     {
    8118            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8119            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8120              :                                                         {
    8121            0 :                                                           {
    8122            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8123            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_POPCOUNT);
    8124            0 :                                                             if (res) return res;
    8125              :                                                           }
    8126              :                                                         }
    8127              :                                                     }
    8128              :                                                   break;
    8129              :                                                 default:;
    8130              :                                                 }
    8131              :                                               break;
    8132              :                                             default:;
    8133              :                                             }
    8134              :                                         }
    8135            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8136              :                                         {
    8137            0 :                                           switch (TREE_CODE (_p1))
    8138              :                                             {
    8139            0 :                                             case CALL_EXPR:
    8140            0 :                                               switch (get_call_combined_fn (_p1))
    8141              :                                                 {
    8142            0 :                                                 case CFN_POPCOUNT:
    8143            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8144              :     {
    8145            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8146            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8147              :                                                         {
    8148            0 :                                                           {
    8149            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8150            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_POPCOUNT);
    8151            0 :                                                             if (res) return res;
    8152              :                                                           }
    8153              :                                                         }
    8154              :                                                     }
    8155              :                                                   break;
    8156              :                                                 default:;
    8157              :                                                 }
    8158              :                                               break;
    8159              :                                             default:;
    8160              :                                             }
    8161              :                                         }
    8162              :                                       break;
    8163              :                                     }
    8164            0 :                                   case BIT_IOR_EXPR:
    8165            0 :                                     {
    8166            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8167            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8168            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8169              :                                         {
    8170            0 :                                           switch (TREE_CODE (_p1))
    8171              :                                             {
    8172            0 :                                             case CALL_EXPR:
    8173            0 :                                               switch (get_call_combined_fn (_p1))
    8174              :                                                 {
    8175            0 :                                                 case CFN_POPCOUNT:
    8176            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8177              :     {
    8178            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8179            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8180              :                                                         {
    8181            0 :                                                           {
    8182            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8183            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_POPCOUNT);
    8184            0 :                                                             if (res) return res;
    8185              :                                                           }
    8186              :                                                         }
    8187              :                                                     }
    8188              :                                                   break;
    8189              :                                                 default:;
    8190              :                                                 }
    8191              :                                               break;
    8192              :                                             default:;
    8193              :                                             }
    8194              :                                         }
    8195            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8196              :                                         {
    8197            0 :                                           switch (TREE_CODE (_p1))
    8198              :                                             {
    8199            0 :                                             case CALL_EXPR:
    8200            0 :                                               switch (get_call_combined_fn (_p1))
    8201              :                                                 {
    8202            0 :                                                 case CFN_POPCOUNT:
    8203            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8204              :     {
    8205            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8206            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8207              :                                                         {
    8208            0 :                                                           {
    8209            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8210            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_POPCOUNT);
    8211            0 :                                                             if (res) return res;
    8212              :                                                           }
    8213              :                                                         }
    8214              :                                                     }
    8215              :                                                   break;
    8216              :                                                 default:;
    8217              :                                                 }
    8218              :                                               break;
    8219              :                                             default:;
    8220              :                                             }
    8221              :                                         }
    8222              :                                       break;
    8223              :                                     }
    8224              :                                   default:;
    8225              :                                   }
    8226              :                               }
    8227              :                             break;
    8228              :                           default:;
    8229              :                           }
    8230              :                         break;
    8231              :                       default:;
    8232              :                       }
    8233              :                   }
    8234              :                 break;
    8235            0 :               case CFN_BUILT_IN_POPCOUNTIMAX:
    8236            0 :                 if (call_expr_nargs (_q20) == 1)
    8237              :     {
    8238            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    8239            0 :                     switch (TREE_CODE (_q21))
    8240              :                       {
    8241            0 :                       case CALL_EXPR:
    8242            0 :                         switch (get_call_combined_fn (_q21))
    8243              :                           {
    8244            0 :                           case CFN_BUILT_IN_POPCOUNTIMAX:
    8245            0 :                             if (call_expr_nargs (_q21) == 1)
    8246              :     {
    8247            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    8248            0 :                                 switch (TREE_CODE (_q50))
    8249              :                                   {
    8250            0 :                                   case BIT_AND_EXPR:
    8251            0 :                                     {
    8252            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8253            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8254            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8255              :                                         {
    8256            0 :                                           switch (TREE_CODE (_p1))
    8257              :                                             {
    8258            0 :                                             case CALL_EXPR:
    8259            0 :                                               switch (get_call_combined_fn (_p1))
    8260              :                                                 {
    8261            0 :                                                 case CFN_BUILT_IN_POPCOUNTIMAX:
    8262            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8263              :     {
    8264            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8265            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8266              :                                                         {
    8267            0 :                                                           {
    8268            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8269            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    8270            0 :                                                             if (res) return res;
    8271              :                                                           }
    8272              :                                                         }
    8273              :                                                     }
    8274              :                                                   break;
    8275              :                                                 default:;
    8276              :                                                 }
    8277              :                                               break;
    8278              :                                             default:;
    8279              :                                             }
    8280              :                                         }
    8281            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8282              :                                         {
    8283            0 :                                           switch (TREE_CODE (_p1))
    8284              :                                             {
    8285            0 :                                             case CALL_EXPR:
    8286            0 :                                               switch (get_call_combined_fn (_p1))
    8287              :                                                 {
    8288            0 :                                                 case CFN_BUILT_IN_POPCOUNTIMAX:
    8289            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8290              :     {
    8291            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8292            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8293              :                                                         {
    8294            0 :                                                           {
    8295            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8296            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    8297            0 :                                                             if (res) return res;
    8298              :                                                           }
    8299              :                                                         }
    8300              :                                                     }
    8301              :                                                   break;
    8302              :                                                 default:;
    8303              :                                                 }
    8304              :                                               break;
    8305              :                                             default:;
    8306              :                                             }
    8307              :                                         }
    8308              :                                       break;
    8309              :                                     }
    8310            0 :                                   case BIT_IOR_EXPR:
    8311            0 :                                     {
    8312            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8313            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8314            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8315              :                                         {
    8316            0 :                                           switch (TREE_CODE (_p1))
    8317              :                                             {
    8318            0 :                                             case CALL_EXPR:
    8319            0 :                                               switch (get_call_combined_fn (_p1))
    8320              :                                                 {
    8321            0 :                                                 case CFN_BUILT_IN_POPCOUNTIMAX:
    8322            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8323              :     {
    8324            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8325            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8326              :                                                         {
    8327            0 :                                                           {
    8328            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8329            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    8330            0 :                                                             if (res) return res;
    8331              :                                                           }
    8332              :                                                         }
    8333              :                                                     }
    8334              :                                                   break;
    8335              :                                                 default:;
    8336              :                                                 }
    8337              :                                               break;
    8338              :                                             default:;
    8339              :                                             }
    8340              :                                         }
    8341            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8342              :                                         {
    8343            0 :                                           switch (TREE_CODE (_p1))
    8344              :                                             {
    8345            0 :                                             case CALL_EXPR:
    8346            0 :                                               switch (get_call_combined_fn (_p1))
    8347              :                                                 {
    8348            0 :                                                 case CFN_BUILT_IN_POPCOUNTIMAX:
    8349            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8350              :     {
    8351            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8352            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8353              :                                                         {
    8354            0 :                                                           {
    8355            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8356            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    8357            0 :                                                             if (res) return res;
    8358              :                                                           }
    8359              :                                                         }
    8360              :                                                     }
    8361              :                                                   break;
    8362              :                                                 default:;
    8363              :                                                 }
    8364              :                                               break;
    8365              :                                             default:;
    8366              :                                             }
    8367              :                                         }
    8368              :                                       break;
    8369              :                                     }
    8370              :                                   default:;
    8371              :                                   }
    8372              :                               }
    8373              :                             break;
    8374              :                           default:;
    8375              :                           }
    8376              :                         break;
    8377              :                       default:;
    8378              :                       }
    8379              :                   }
    8380              :                 break;
    8381            0 :               case CFN_BUILT_IN_POPCOUNTL:
    8382            0 :                 if (call_expr_nargs (_q20) == 1)
    8383              :     {
    8384            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    8385            0 :                     switch (TREE_CODE (_q21))
    8386              :                       {
    8387            0 :                       case CALL_EXPR:
    8388            0 :                         switch (get_call_combined_fn (_q21))
    8389              :                           {
    8390            0 :                           case CFN_BUILT_IN_POPCOUNTL:
    8391            0 :                             if (call_expr_nargs (_q21) == 1)
    8392              :     {
    8393            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    8394            0 :                                 switch (TREE_CODE (_q50))
    8395              :                                   {
    8396            0 :                                   case BIT_AND_EXPR:
    8397            0 :                                     {
    8398            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8399            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8400            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8401              :                                         {
    8402            0 :                                           switch (TREE_CODE (_p1))
    8403              :                                             {
    8404            0 :                                             case CALL_EXPR:
    8405            0 :                                               switch (get_call_combined_fn (_p1))
    8406              :                                                 {
    8407            0 :                                                 case CFN_BUILT_IN_POPCOUNTL:
    8408            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8409              :     {
    8410            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8411            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8412              :                                                         {
    8413            0 :                                                           {
    8414            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8415            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTL);
    8416            0 :                                                             if (res) return res;
    8417              :                                                           }
    8418              :                                                         }
    8419              :                                                     }
    8420              :                                                   break;
    8421              :                                                 default:;
    8422              :                                                 }
    8423              :                                               break;
    8424              :                                             default:;
    8425              :                                             }
    8426              :                                         }
    8427            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8428              :                                         {
    8429            0 :                                           switch (TREE_CODE (_p1))
    8430              :                                             {
    8431            0 :                                             case CALL_EXPR:
    8432            0 :                                               switch (get_call_combined_fn (_p1))
    8433              :                                                 {
    8434            0 :                                                 case CFN_BUILT_IN_POPCOUNTL:
    8435            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8436              :     {
    8437            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8438            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8439              :                                                         {
    8440            0 :                                                           {
    8441            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8442            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTL);
    8443            0 :                                                             if (res) return res;
    8444              :                                                           }
    8445              :                                                         }
    8446              :                                                     }
    8447              :                                                   break;
    8448              :                                                 default:;
    8449              :                                                 }
    8450              :                                               break;
    8451              :                                             default:;
    8452              :                                             }
    8453              :                                         }
    8454              :                                       break;
    8455              :                                     }
    8456            0 :                                   case BIT_IOR_EXPR:
    8457            0 :                                     {
    8458            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8459            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8460            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8461              :                                         {
    8462            0 :                                           switch (TREE_CODE (_p1))
    8463              :                                             {
    8464            0 :                                             case CALL_EXPR:
    8465            0 :                                               switch (get_call_combined_fn (_p1))
    8466              :                                                 {
    8467            0 :                                                 case CFN_BUILT_IN_POPCOUNTL:
    8468            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8469              :     {
    8470            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8471            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8472              :                                                         {
    8473            0 :                                                           {
    8474            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8475            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTL);
    8476            0 :                                                             if (res) return res;
    8477              :                                                           }
    8478              :                                                         }
    8479              :                                                     }
    8480              :                                                   break;
    8481              :                                                 default:;
    8482              :                                                 }
    8483              :                                               break;
    8484              :                                             default:;
    8485              :                                             }
    8486              :                                         }
    8487            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8488              :                                         {
    8489            0 :                                           switch (TREE_CODE (_p1))
    8490              :                                             {
    8491            0 :                                             case CALL_EXPR:
    8492            0 :                                               switch (get_call_combined_fn (_p1))
    8493              :                                                 {
    8494            0 :                                                 case CFN_BUILT_IN_POPCOUNTL:
    8495            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8496              :     {
    8497            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8498            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8499              :                                                         {
    8500            0 :                                                           {
    8501            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8502            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTL);
    8503            0 :                                                             if (res) return res;
    8504              :                                                           }
    8505              :                                                         }
    8506              :                                                     }
    8507              :                                                   break;
    8508              :                                                 default:;
    8509              :                                                 }
    8510              :                                               break;
    8511              :                                             default:;
    8512              :                                             }
    8513              :                                         }
    8514              :                                       break;
    8515              :                                     }
    8516              :                                   default:;
    8517              :                                   }
    8518              :                               }
    8519              :                             break;
    8520              :                           default:;
    8521              :                           }
    8522              :                         break;
    8523              :                       default:;
    8524              :                       }
    8525              :                   }
    8526              :                 break;
    8527              :               default:;
    8528              :               }
    8529              :             break;
    8530              :           default:;
    8531              :           }
    8532              :         break;
    8533              :       }
    8534            1 :     case VEC_PERM_EXPR:
    8535            1 :       {
    8536            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8537            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8538            1 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8539            1 :         switch (TREE_CODE (_q20))
    8540              :           {
    8541            0 :           case MULT_EXPR:
    8542            0 :             {
    8543            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8544            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8545            0 :               if (tree_vec_same_elem_p (_q31))
    8546              :                 {
    8547            0 :                   if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
    8548              :                     {
    8549            0 :                       {
    8550            0 :                         tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q22, _p1 };
    8551            0 :                         tree res = generic_simplify_38 (loc, type, _p0, _p1, captures);
    8552            0 :                         if (res) return res;
    8553              :                       }
    8554              :                     }
    8555              :                 }
    8556            0 :               if (tree_vec_same_elem_p (_q30))
    8557              :                 {
    8558            0 :                   if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
    8559              :                     {
    8560            0 :                       {
    8561            0 :                         tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _q22, _p1 };
    8562            0 :                         tree res = generic_simplify_38 (loc, type, _p0, _p1, captures);
    8563            0 :                         if (res) return res;
    8564              :                       }
    8565              :                     }
    8566              :                 }
    8567              :               break;
    8568              :             }
    8569            1 :           default:;
    8570              :           }
    8571            1 :         if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
    8572              :           {
    8573            0 :             switch (TREE_CODE (_p1))
    8574              :               {
    8575            0 :               case VEC_PERM_EXPR:
    8576            0 :                 {
    8577            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    8578            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    8579            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    8580            0 :                   if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
    8581              :                     {
    8582            0 :                       if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8583              :                         {
    8584            0 :                           {
    8585            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
    8586            0 :                             if (VECTOR_INTEGER_TYPE_P (type)
    8587              : )
    8588              :                               {
    8589            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1159;
    8590            0 :                                 {
    8591            0 :                                   tree res_op0;
    8592            0 :                                   {
    8593            0 :                                     tree _o1[2], _r1;
    8594            0 :                                     _o1[0] = captures[0];
    8595            0 :                                     _o1[1] = captures[2];
    8596            0 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8597            0 :                                     captures[3] = _r1;
    8598              :                                   }
    8599            0 :                                   res_op0 = unshare_expr (captures[3]);
    8600            0 :                                   tree res_op1;
    8601            0 :                                   res_op1 = captures[3];
    8602            0 :                                   tree res_op2;
    8603            0 :                                   res_op2 = captures[1];
    8604            0 :                                   tree _r;
    8605            0 :                                   _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
    8606            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 879, __FILE__, __LINE__, true);
    8607            0 :                                   return _r;
    8608              :                                 }
    8609            0 : next_after_fail1159:;
    8610              :                               }
    8611              :                           }
    8612              :                         }
    8613              :                     }
    8614              :                   break;
    8615              :                 }
    8616            0 :               default:;
    8617              :               }
    8618            0 :             switch (TREE_CODE (_q22))
    8619              :               {
    8620            0 :               case VECTOR_CST:
    8621            0 :                 {
    8622            0 :                   switch (TREE_CODE (_p1))
    8623              :                     {
    8624            0 :                     case VEC_PERM_EXPR:
    8625            0 :                       {
    8626            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
    8627            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
    8628            0 :                         tree _q62 = TREE_OPERAND (_p1, 2);
    8629            0 :                         if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
    8630              :                           {
    8631            0 :                             if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8632              :                               {
    8633            0 :                                 switch (TREE_CODE (_q62))
    8634              :                                   {
    8635            0 :                                   case VECTOR_CST:
    8636            0 :                                     {
    8637            0 :                                       {
    8638            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
    8639            0 :                                         tree res = generic_simplify_39 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8640            0 :                                         if (res) return res;
    8641              :                                       }
    8642            0 :                                       break;
    8643              :                                     }
    8644              :                                   default:;
    8645              :                                   }
    8646              :                               }
    8647              :                           }
    8648              :                         break;
    8649              :                       }
    8650              :                     default:;
    8651              :                     }
    8652              :                   break;
    8653              :                 }
    8654              :               default:;
    8655              :               }
    8656              :           }
    8657              :         break;
    8658              :       }
    8659      1490396 :     case CALL_EXPR:
    8660      1490396 :       switch (get_call_combined_fn (_p0))
    8661              :         {
    8662            9 :         case CFN_BUILT_IN_LOG:
    8663            9 :           if (call_expr_nargs (_p0) == 1)
    8664              :     {
    8665            9 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8666            9 :               switch (TREE_CODE (_p1))
    8667              :                 {
    8668            0 :                 case CALL_EXPR:
    8669            0 :                   switch (get_call_combined_fn (_p1))
    8670              :                     {
    8671            0 :                     case CFN_BUILT_IN_LOG:
    8672            0 :                       if (call_expr_nargs (_p1) == 1)
    8673              :     {
    8674            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8675            0 :                           {
    8676            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8677            0 :                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG);
    8678            0 :                             if (res) return res;
    8679              :                           }
    8680              :                         }
    8681              :                       break;
    8682              :                     default:;
    8683              :                     }
    8684              :                   break;
    8685              :                 default:;
    8686              :                 }
    8687              :             }
    8688              :           break;
    8689          450 :         case CFN_BUILT_IN_POPCOUNT:
    8690          450 :           if (call_expr_nargs (_p0) == 1)
    8691              :     {
    8692          450 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8693          450 :               switch (TREE_CODE (_p1))
    8694              :                 {
    8695           22 :                 case CALL_EXPR:
    8696           22 :                   switch (get_call_combined_fn (_p1))
    8697              :                     {
    8698           22 :                     case CFN_BUILT_IN_POPCOUNT:
    8699           22 :                       if (call_expr_nargs (_p1) == 1)
    8700              :     {
    8701           22 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8702           22 :                           {
    8703           22 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8704           22 :                             tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    8705           22 :                             if (res) return res;
    8706              :                           }
    8707              :                         }
    8708              :                       break;
    8709              :                     default:;
    8710              :                     }
    8711              :                   break;
    8712          449 :                 default:;
    8713              :                 }
    8714          449 :               switch (TREE_CODE (_q20))
    8715              :                 {
    8716            9 :                 case BIT_AND_EXPR:
    8717            9 :                   {
    8718            9 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    8719            9 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    8720            9 :                     switch (TREE_CODE (_p1))
    8721              :                       {
    8722            9 :                       case CALL_EXPR:
    8723            9 :                         switch (get_call_combined_fn (_p1))
    8724              :                           {
    8725            9 :                           case CFN_BUILT_IN_POPCOUNT:
    8726            9 :                             if (call_expr_nargs (_p1) == 1)
    8727              :     {
    8728            9 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    8729            9 :                                 switch (TREE_CODE (_q60))
    8730              :                                   {
    8731            9 :                                   case BIT_IOR_EXPR:
    8732            9 :                                     {
    8733            9 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    8734            9 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    8735            9 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    8736              :                                         {
    8737            1 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    8738              :                                             {
    8739            1 :                                               {
    8740            1 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    8741            1 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    8742            1 :                                                 if (res) return res;
    8743              :                                               }
    8744              :                                             }
    8745              :                                         }
    8746            8 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    8747              :                                         {
    8748            1 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    8749              :                                             {
    8750            1 :                                               {
    8751            1 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    8752            1 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    8753            1 :                                                 if (res) return res;
    8754              :                                               }
    8755              :                                             }
    8756              :                                         }
    8757              :                                       break;
    8758              :                                     }
    8759              :                                   default:;
    8760              :                                   }
    8761              :                               }
    8762              :                             break;
    8763              :                           default:;
    8764              :                           }
    8765              :                         break;
    8766              :                       default:;
    8767              :                       }
    8768              :                     break;
    8769              :                   }
    8770            2 :                 case BIT_IOR_EXPR:
    8771            2 :                   {
    8772            2 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    8773            2 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    8774            2 :                     switch (TREE_CODE (_p1))
    8775              :                       {
    8776            2 :                       case CALL_EXPR:
    8777            2 :                         switch (get_call_combined_fn (_p1))
    8778              :                           {
    8779            2 :                           case CFN_BUILT_IN_POPCOUNT:
    8780            2 :                             if (call_expr_nargs (_p1) == 1)
    8781              :     {
    8782            2 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    8783            2 :                                 switch (TREE_CODE (_q60))
    8784              :                                   {
    8785            2 :                                   case BIT_AND_EXPR:
    8786            2 :                                     {
    8787            2 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    8788            2 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    8789            2 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    8790              :                                         {
    8791            1 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    8792              :                                             {
    8793            1 :                                               {
    8794            1 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
    8795            1 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    8796            1 :                                                 if (res) return res;
    8797              :                                               }
    8798              :                                             }
    8799              :                                         }
    8800            1 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    8801              :                                         {
    8802            1 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    8803              :                                             {
    8804            1 :                                               {
    8805            1 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
    8806            1 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    8807            1 :                                                 if (res) return res;
    8808              :                                               }
    8809              :                                             }
    8810              :                                         }
    8811              :                                       break;
    8812              :                                     }
    8813              :                                   default:;
    8814              :                                   }
    8815              :                               }
    8816              :                             break;
    8817              :                           default:;
    8818              :                           }
    8819              :                         break;
    8820              :                       default:;
    8821              :                       }
    8822              :                     break;
    8823              :                   }
    8824          445 :                 default:;
    8825              :                 }
    8826          445 :               switch (TREE_CODE (_p1))
    8827              :                 {
    8828            0 :                 case MINUS_EXPR:
    8829            0 :                   {
    8830            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    8831            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
    8832            0 :                     switch (TREE_CODE (_q40))
    8833              :                       {
    8834            0 :                       case CALL_EXPR:
    8835            0 :                         switch (get_call_combined_fn (_q40))
    8836              :                           {
    8837            0 :                           case CFN_BUILT_IN_POPCOUNT:
    8838            0 :                             if (call_expr_nargs (_q40) == 1)
    8839              :     {
    8840            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
    8841            0 :                                 switch (TREE_CODE (_q41))
    8842              :                                   {
    8843            0 :                                   case CALL_EXPR:
    8844            0 :                                     switch (get_call_combined_fn (_q41))
    8845              :                                       {
    8846            0 :                                       case CFN_BUILT_IN_POPCOUNT:
    8847            0 :                                         if (call_expr_nargs (_q41) == 1)
    8848              :     {
    8849            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
    8850            0 :                                             switch (TREE_CODE (_q70))
    8851              :                                               {
    8852            0 :                                               case BIT_AND_EXPR:
    8853            0 :                                                 {
    8854            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    8855            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    8856            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    8857              :                                                     {
    8858            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    8859              :                                                         {
    8860            0 :                                                           {
    8861            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    8862            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNT);
    8863            0 :                                                             if (res) return res;
    8864              :                                                           }
    8865              :                                                         }
    8866              :                                                     }
    8867            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    8868              :                                                     {
    8869            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    8870              :                                                         {
    8871            0 :                                                           {
    8872            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    8873            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNT);
    8874            0 :                                                             if (res) return res;
    8875              :                                                           }
    8876              :                                                         }
    8877              :                                                     }
    8878              :                                                   break;
    8879              :                                                 }
    8880            0 :                                               case BIT_IOR_EXPR:
    8881            0 :                                                 {
    8882            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    8883            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    8884            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    8885              :                                                     {
    8886            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    8887              :                                                         {
    8888            0 :                                                           {
    8889            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    8890            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNT);
    8891            0 :                                                             if (res) return res;
    8892              :                                                           }
    8893              :                                                         }
    8894              :                                                     }
    8895            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    8896              :                                                     {
    8897            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    8898              :                                                         {
    8899            0 :                                                           {
    8900            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    8901            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNT);
    8902            0 :                                                             if (res) return res;
    8903              :                                                           }
    8904              :                                                         }
    8905              :                                                     }
    8906              :                                                   break;
    8907              :                                                 }
    8908              :                                               default:;
    8909              :                                               }
    8910              :                                           }
    8911              :                                         break;
    8912              :                                       default:;
    8913              :                                       }
    8914              :                                     break;
    8915              :                                   default:;
    8916              :                                   }
    8917              :                               }
    8918              :                             break;
    8919              :                           default:;
    8920              :                           }
    8921              :                         break;
    8922              :                       default:;
    8923              :                       }
    8924              :                     break;
    8925              :                   }
    8926              :                 default:;
    8927              :                 }
    8928              :             }
    8929              :           break;
    8930            1 :         case CFN_BUILT_IN_LOG2:
    8931            1 :           if (call_expr_nargs (_p0) == 1)
    8932              :     {
    8933            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8934            1 :               switch (TREE_CODE (_p1))
    8935              :                 {
    8936            1 :                 case CALL_EXPR:
    8937            1 :                   switch (get_call_combined_fn (_p1))
    8938              :                     {
    8939            1 :                     case CFN_BUILT_IN_LOG2:
    8940            1 :                       if (call_expr_nargs (_p1) == 1)
    8941              :     {
    8942            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8943            1 :                           {
    8944            1 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8945            1 :                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2);
    8946            1 :                             if (res) return res;
    8947              :                           }
    8948              :                         }
    8949              :                       break;
    8950              :                     default:;
    8951              :                     }
    8952              :                   break;
    8953              :                 default:;
    8954              :                 }
    8955              :             }
    8956              :           break;
    8957            0 :         case CFN_BUILT_IN_LOGF:
    8958            0 :           if (call_expr_nargs (_p0) == 1)
    8959              :     {
    8960            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8961            0 :               switch (TREE_CODE (_p1))
    8962              :                 {
    8963            0 :                 case CALL_EXPR:
    8964            0 :                   switch (get_call_combined_fn (_p1))
    8965              :                     {
    8966            0 :                     case CFN_BUILT_IN_LOGF:
    8967            0 :                       if (call_expr_nargs (_p1) == 1)
    8968              :     {
    8969            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8970            0 :                           {
    8971            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8972            0 :                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF);
    8973            0 :                             if (res) return res;
    8974              :                           }
    8975              :                         }
    8976              :                       break;
    8977              :                     default:;
    8978              :                     }
    8979              :                   break;
    8980              :                 default:;
    8981              :                 }
    8982              :             }
    8983              :           break;
    8984            0 :         case CFN_BUILT_IN_LOGL:
    8985            0 :           if (call_expr_nargs (_p0) == 1)
    8986              :     {
    8987            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8988            0 :               switch (TREE_CODE (_p1))
    8989              :                 {
    8990            0 :                 case CALL_EXPR:
    8991            0 :                   switch (get_call_combined_fn (_p1))
    8992              :                     {
    8993            0 :                     case CFN_BUILT_IN_LOGL:
    8994            0 :                       if (call_expr_nargs (_p1) == 1)
    8995              :     {
    8996            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8997            0 :                           {
    8998            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8999            0 :                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL);
    9000            0 :                             if (res) return res;
    9001              :                           }
    9002              :                         }
    9003              :                       break;
    9004              :                     default:;
    9005              :                     }
    9006              :                   break;
    9007              :                 default:;
    9008              :                 }
    9009              :             }
    9010              :           break;
    9011           26 :         case CFN_BUILT_IN_POPCOUNTLL:
    9012           26 :           if (call_expr_nargs (_p0) == 1)
    9013              :     {
    9014           26 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9015           26 :               switch (TREE_CODE (_p1))
    9016              :                 {
    9017           24 :                 case CALL_EXPR:
    9018           24 :                   switch (get_call_combined_fn (_p1))
    9019              :                     {
    9020           24 :                     case CFN_BUILT_IN_POPCOUNTLL:
    9021           24 :                       if (call_expr_nargs (_p1) == 1)
    9022              :     {
    9023           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9024           24 :                           {
    9025           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9026           24 :                             tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
    9027           24 :                             if (res) return res;
    9028              :                           }
    9029              :                         }
    9030              :                       break;
    9031              :                     default:;
    9032              :                     }
    9033              :                   break;
    9034           26 :                 default:;
    9035              :                 }
    9036           26 :               switch (TREE_CODE (_q20))
    9037              :                 {
    9038            0 :                 case BIT_AND_EXPR:
    9039            0 :                   {
    9040            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9041            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9042            0 :                     switch (TREE_CODE (_p1))
    9043              :                       {
    9044            0 :                       case CALL_EXPR:
    9045            0 :                         switch (get_call_combined_fn (_p1))
    9046              :                           {
    9047            0 :                           case CFN_BUILT_IN_POPCOUNTLL:
    9048            0 :                             if (call_expr_nargs (_p1) == 1)
    9049              :     {
    9050            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9051            0 :                                 switch (TREE_CODE (_q60))
    9052              :                                   {
    9053            0 :                                   case BIT_IOR_EXPR:
    9054            0 :                                     {
    9055            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9056            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9057            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9058              :                                         {
    9059            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9060              :                                             {
    9061            0 :                                               {
    9062            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9063            0 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
    9064            0 :                                                 if (res) return res;
    9065              :                                               }
    9066              :                                             }
    9067              :                                         }
    9068            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9069              :                                         {
    9070            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9071              :                                             {
    9072            0 :                                               {
    9073            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9074            0 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
    9075            0 :                                                 if (res) return res;
    9076              :                                               }
    9077              :                                             }
    9078              :                                         }
    9079              :                                       break;
    9080              :                                     }
    9081              :                                   default:;
    9082              :                                   }
    9083              :                               }
    9084              :                             break;
    9085              :                           default:;
    9086              :                           }
    9087              :                         break;
    9088              :                       default:;
    9089              :                       }
    9090              :                     break;
    9091              :                   }
    9092            0 :                 case BIT_IOR_EXPR:
    9093            0 :                   {
    9094            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9095            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9096            0 :                     switch (TREE_CODE (_p1))
    9097              :                       {
    9098            0 :                       case CALL_EXPR:
    9099            0 :                         switch (get_call_combined_fn (_p1))
    9100              :                           {
    9101            0 :                           case CFN_BUILT_IN_POPCOUNTLL:
    9102            0 :                             if (call_expr_nargs (_p1) == 1)
    9103              :     {
    9104            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9105            0 :                                 switch (TREE_CODE (_q60))
    9106              :                                   {
    9107            0 :                                   case BIT_AND_EXPR:
    9108            0 :                                     {
    9109            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9110            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9111            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9112              :                                         {
    9113            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9114              :                                             {
    9115            0 :                                               {
    9116            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
    9117            0 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
    9118            0 :                                                 if (res) return res;
    9119              :                                               }
    9120              :                                             }
    9121              :                                         }
    9122            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9123              :                                         {
    9124            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9125              :                                             {
    9126            0 :                                               {
    9127            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
    9128            0 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
    9129            0 :                                                 if (res) return res;
    9130              :                                               }
    9131              :                                             }
    9132              :                                         }
    9133              :                                       break;
    9134              :                                     }
    9135              :                                   default:;
    9136              :                                   }
    9137              :                               }
    9138              :                             break;
    9139              :                           default:;
    9140              :                           }
    9141              :                         break;
    9142              :                       default:;
    9143              :                       }
    9144              :                     break;
    9145              :                   }
    9146           26 :                 default:;
    9147              :                 }
    9148           26 :               switch (TREE_CODE (_p1))
    9149              :                 {
    9150            0 :                 case MINUS_EXPR:
    9151            0 :                   {
    9152            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9153            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
    9154            0 :                     switch (TREE_CODE (_q40))
    9155              :                       {
    9156            0 :                       case CALL_EXPR:
    9157            0 :                         switch (get_call_combined_fn (_q40))
    9158              :                           {
    9159            0 :                           case CFN_BUILT_IN_POPCOUNTLL:
    9160            0 :                             if (call_expr_nargs (_q40) == 1)
    9161              :     {
    9162            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
    9163            0 :                                 switch (TREE_CODE (_q41))
    9164              :                                   {
    9165            0 :                                   case CALL_EXPR:
    9166            0 :                                     switch (get_call_combined_fn (_q41))
    9167              :                                       {
    9168            0 :                                       case CFN_BUILT_IN_POPCOUNTLL:
    9169            0 :                                         if (call_expr_nargs (_q41) == 1)
    9170              :     {
    9171            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
    9172            0 :                                             switch (TREE_CODE (_q70))
    9173              :                                               {
    9174            0 :                                               case BIT_AND_EXPR:
    9175            0 :                                                 {
    9176            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9177            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9178            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9179              :                                                     {
    9180            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9181              :                                                         {
    9182            0 :                                                           {
    9183            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9184            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    9185            0 :                                                             if (res) return res;
    9186              :                                                           }
    9187              :                                                         }
    9188              :                                                     }
    9189            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9190              :                                                     {
    9191            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9192              :                                                         {
    9193            0 :                                                           {
    9194            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9195            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    9196            0 :                                                             if (res) return res;
    9197              :                                                           }
    9198              :                                                         }
    9199              :                                                     }
    9200              :                                                   break;
    9201              :                                                 }
    9202            0 :                                               case BIT_IOR_EXPR:
    9203            0 :                                                 {
    9204            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9205            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9206            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9207              :                                                     {
    9208            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9209              :                                                         {
    9210            0 :                                                           {
    9211            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9212            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    9213            0 :                                                             if (res) return res;
    9214              :                                                           }
    9215              :                                                         }
    9216              :                                                     }
    9217            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9218              :                                                     {
    9219            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9220              :                                                         {
    9221            0 :                                                           {
    9222            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9223            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    9224            0 :                                                             if (res) return res;
    9225              :                                                           }
    9226              :                                                         }
    9227              :                                                     }
    9228              :                                                   break;
    9229              :                                                 }
    9230              :                                               default:;
    9231              :                                               }
    9232              :                                           }
    9233              :                                         break;
    9234              :                                       default:;
    9235              :                                       }
    9236              :                                     break;
    9237              :                                   default:;
    9238              :                                   }
    9239              :                               }
    9240              :                             break;
    9241              :                           default:;
    9242              :                           }
    9243              :                         break;
    9244              :                       default:;
    9245              :                       }
    9246              :                     break;
    9247              :                   }
    9248              :                 default:;
    9249              :                 }
    9250              :             }
    9251              :           break;
    9252            0 :         case CFN_BUILT_IN_LOG10F:
    9253            0 :           if (call_expr_nargs (_p0) == 1)
    9254              :     {
    9255            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9256            0 :               switch (TREE_CODE (_p1))
    9257              :                 {
    9258            0 :                 case CALL_EXPR:
    9259            0 :                   switch (get_call_combined_fn (_p1))
    9260              :                     {
    9261            0 :                     case CFN_BUILT_IN_LOG10F:
    9262            0 :                       if (call_expr_nargs (_p1) == 1)
    9263              :     {
    9264            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9265            0 :                           {
    9266            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9267            0 :                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F);
    9268            0 :                             if (res) return res;
    9269              :                           }
    9270              :                         }
    9271              :                       break;
    9272              :                     default:;
    9273              :                     }
    9274              :                   break;
    9275              :                 default:;
    9276              :                 }
    9277              :             }
    9278              :           break;
    9279            0 :         case CFN_BUILT_IN_LOG10L:
    9280            0 :           if (call_expr_nargs (_p0) == 1)
    9281              :     {
    9282            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9283            0 :               switch (TREE_CODE (_p1))
    9284              :                 {
    9285            0 :                 case CALL_EXPR:
    9286            0 :                   switch (get_call_combined_fn (_p1))
    9287              :                     {
    9288            0 :                     case CFN_BUILT_IN_LOG10L:
    9289            0 :                       if (call_expr_nargs (_p1) == 1)
    9290              :     {
    9291            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9292            0 :                           {
    9293            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9294            0 :                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L);
    9295            0 :                             if (res) return res;
    9296              :                           }
    9297              :                         }
    9298              :                       break;
    9299              :                     default:;
    9300              :                     }
    9301              :                   break;
    9302              :                 default:;
    9303              :                 }
    9304              :             }
    9305              :           break;
    9306            4 :         case CFN_POPCOUNT:
    9307            4 :           if (call_expr_nargs (_p0) == 1)
    9308              :     {
    9309            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9310            4 :               switch (TREE_CODE (_p1))
    9311              :                 {
    9312            1 :                 case CALL_EXPR:
    9313            1 :                   switch (get_call_combined_fn (_p1))
    9314              :                     {
    9315            1 :                     case CFN_POPCOUNT:
    9316            1 :                       if (call_expr_nargs (_p1) == 1)
    9317              :     {
    9318            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9319            1 :                           {
    9320            1 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9321            1 :                             tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
    9322            1 :                             if (res) return res;
    9323              :                           }
    9324              :                         }
    9325              :                       break;
    9326              :                     default:;
    9327              :                     }
    9328              :                   break;
    9329            4 :                 default:;
    9330              :                 }
    9331            4 :               switch (TREE_CODE (_q20))
    9332              :                 {
    9333            0 :                 case BIT_AND_EXPR:
    9334            0 :                   {
    9335            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9336            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9337            0 :                     switch (TREE_CODE (_p1))
    9338              :                       {
    9339            0 :                       case CALL_EXPR:
    9340            0 :                         switch (get_call_combined_fn (_p1))
    9341              :                           {
    9342            0 :                           case CFN_POPCOUNT:
    9343            0 :                             if (call_expr_nargs (_p1) == 1)
    9344              :     {
    9345            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9346            0 :                                 switch (TREE_CODE (_q60))
    9347              :                                   {
    9348            0 :                                   case BIT_IOR_EXPR:
    9349            0 :                                     {
    9350            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9351            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9352            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9353              :                                         {
    9354            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9355              :                                             {
    9356            0 :                                               {
    9357            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9358            0 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
    9359            0 :                                                 if (res) return res;
    9360              :                                               }
    9361              :                                             }
    9362              :                                         }
    9363            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9364              :                                         {
    9365            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9366              :                                             {
    9367            0 :                                               {
    9368            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9369            0 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
    9370            0 :                                                 if (res) return res;
    9371              :                                               }
    9372              :                                             }
    9373              :                                         }
    9374              :                                       break;
    9375              :                                     }
    9376              :                                   default:;
    9377              :                                   }
    9378              :                               }
    9379              :                             break;
    9380              :                           default:;
    9381              :                           }
    9382              :                         break;
    9383              :                       default:;
    9384              :                       }
    9385              :                     break;
    9386              :                   }
    9387            0 :                 case BIT_IOR_EXPR:
    9388            0 :                   {
    9389            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9390            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9391            0 :                     switch (TREE_CODE (_p1))
    9392              :                       {
    9393            0 :                       case CALL_EXPR:
    9394            0 :                         switch (get_call_combined_fn (_p1))
    9395              :                           {
    9396            0 :                           case CFN_POPCOUNT:
    9397            0 :                             if (call_expr_nargs (_p1) == 1)
    9398              :     {
    9399            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9400            0 :                                 switch (TREE_CODE (_q60))
    9401              :                                   {
    9402            0 :                                   case BIT_AND_EXPR:
    9403            0 :                                     {
    9404            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9405            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9406            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9407              :                                         {
    9408            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9409              :                                             {
    9410            0 :                                               {
    9411            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
    9412            0 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
    9413            0 :                                                 if (res) return res;
    9414              :                                               }
    9415              :                                             }
    9416              :                                         }
    9417            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9418              :                                         {
    9419            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9420              :                                             {
    9421            0 :                                               {
    9422            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
    9423            0 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
    9424            0 :                                                 if (res) return res;
    9425              :                                               }
    9426              :                                             }
    9427              :                                         }
    9428              :                                       break;
    9429              :                                     }
    9430              :                                   default:;
    9431              :                                   }
    9432              :                               }
    9433              :                             break;
    9434              :                           default:;
    9435              :                           }
    9436              :                         break;
    9437              :                       default:;
    9438              :                       }
    9439              :                     break;
    9440              :                   }
    9441            4 :                 default:;
    9442              :                 }
    9443            4 :               switch (TREE_CODE (_p1))
    9444              :                 {
    9445            0 :                 case MINUS_EXPR:
    9446            0 :                   {
    9447            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9448            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
    9449            0 :                     switch (TREE_CODE (_q40))
    9450              :                       {
    9451            0 :                       case CALL_EXPR:
    9452            0 :                         switch (get_call_combined_fn (_q40))
    9453              :                           {
    9454            0 :                           case CFN_POPCOUNT:
    9455            0 :                             if (call_expr_nargs (_q40) == 1)
    9456              :     {
    9457            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
    9458            0 :                                 switch (TREE_CODE (_q41))
    9459              :                                   {
    9460            0 :                                   case CALL_EXPR:
    9461            0 :                                     switch (get_call_combined_fn (_q41))
    9462              :                                       {
    9463            0 :                                       case CFN_POPCOUNT:
    9464            0 :                                         if (call_expr_nargs (_q41) == 1)
    9465              :     {
    9466            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
    9467            0 :                                             switch (TREE_CODE (_q70))
    9468              :                                               {
    9469            0 :                                               case BIT_AND_EXPR:
    9470            0 :                                                 {
    9471            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9472            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9473            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9474              :                                                     {
    9475            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9476              :                                                         {
    9477            0 :                                                           {
    9478            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9479            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_POPCOUNT);
    9480            0 :                                                             if (res) return res;
    9481              :                                                           }
    9482              :                                                         }
    9483              :                                                     }
    9484            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9485              :                                                     {
    9486            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9487              :                                                         {
    9488            0 :                                                           {
    9489            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9490            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_POPCOUNT);
    9491            0 :                                                             if (res) return res;
    9492              :                                                           }
    9493              :                                                         }
    9494              :                                                     }
    9495              :                                                   break;
    9496              :                                                 }
    9497            0 :                                               case BIT_IOR_EXPR:
    9498            0 :                                                 {
    9499            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9500            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9501            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9502              :                                                     {
    9503            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9504              :                                                         {
    9505            0 :                                                           {
    9506            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9507            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_POPCOUNT);
    9508            0 :                                                             if (res) return res;
    9509              :                                                           }
    9510              :                                                         }
    9511              :                                                     }
    9512            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9513              :                                                     {
    9514            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9515              :                                                         {
    9516            0 :                                                           {
    9517            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9518            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_POPCOUNT);
    9519            0 :                                                             if (res) return res;
    9520              :                                                           }
    9521              :                                                         }
    9522              :                                                     }
    9523              :                                                   break;
    9524              :                                                 }
    9525              :                                               default:;
    9526              :                                               }
    9527              :                                           }
    9528              :                                         break;
    9529              :                                       default:;
    9530              :                                       }
    9531              :                                     break;
    9532              :                                   default:;
    9533              :                                   }
    9534              :                               }
    9535              :                             break;
    9536              :                           default:;
    9537              :                           }
    9538              :                         break;
    9539              :                       default:;
    9540              :                       }
    9541              :                     break;
    9542              :                   }
    9543              :                 default:;
    9544              :                 }
    9545              :             }
    9546              :           break;
    9547            0 :         case CFN_LOG:
    9548            0 :           if (call_expr_nargs (_p0) == 1)
    9549              :     {
    9550            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9551            0 :               switch (TREE_CODE (_p1))
    9552              :                 {
    9553            0 :                 case CALL_EXPR:
    9554            0 :                   switch (get_call_combined_fn (_p1))
    9555              :                     {
    9556            0 :                     case CFN_LOG:
    9557            0 :                       if (call_expr_nargs (_p1) == 1)
    9558              :     {
    9559            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9560            0 :                           {
    9561            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9562            0 :                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, CFN_LOG);
    9563            0 :                             if (res) return res;
    9564              :                           }
    9565              :                         }
    9566              :                       break;
    9567              :                     default:;
    9568              :                     }
    9569              :                   break;
    9570              :                 default:;
    9571              :                 }
    9572              :             }
    9573              :           break;
    9574            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
    9575            0 :           if (call_expr_nargs (_p0) == 1)
    9576              :     {
    9577            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9578            0 :               switch (TREE_CODE (_p1))
    9579              :                 {
    9580            0 :                 case CALL_EXPR:
    9581            0 :                   switch (get_call_combined_fn (_p1))
    9582              :                     {
    9583            0 :                     case CFN_BUILT_IN_POPCOUNTIMAX:
    9584            0 :                       if (call_expr_nargs (_p1) == 1)
    9585              :     {
    9586            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9587            0 :                           {
    9588            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9589            0 :                             tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
    9590            0 :                             if (res) return res;
    9591              :                           }
    9592              :                         }
    9593              :                       break;
    9594              :                     default:;
    9595              :                     }
    9596              :                   break;
    9597            0 :                 default:;
    9598              :                 }
    9599            0 :               switch (TREE_CODE (_q20))
    9600              :                 {
    9601            0 :                 case BIT_AND_EXPR:
    9602            0 :                   {
    9603            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9604            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9605            0 :                     switch (TREE_CODE (_p1))
    9606              :                       {
    9607            0 :                       case CALL_EXPR:
    9608            0 :                         switch (get_call_combined_fn (_p1))
    9609              :                           {
    9610            0 :                           case CFN_BUILT_IN_POPCOUNTIMAX:
    9611            0 :                             if (call_expr_nargs (_p1) == 1)
    9612              :     {
    9613            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9614            0 :                                 switch (TREE_CODE (_q60))
    9615              :                                   {
    9616            0 :                                   case BIT_IOR_EXPR:
    9617            0 :                                     {
    9618            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9619            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9620            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9621              :                                         {
    9622            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9623              :                                             {
    9624            0 :                                               {
    9625            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9626            0 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
    9627            0 :                                                 if (res) return res;
    9628              :                                               }
    9629              :                                             }
    9630              :                                         }
    9631            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9632              :                                         {
    9633            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9634              :                                             {
    9635            0 :                                               {
    9636            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9637            0 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
    9638            0 :                                                 if (res) return res;
    9639              :                                               }
    9640              :                                             }
    9641              :                                         }
    9642              :                                       break;
    9643              :                                     }
    9644              :                                   default:;
    9645              :                                   }
    9646              :                               }
    9647              :                             break;
    9648              :                           default:;
    9649              :                           }
    9650              :                         break;
    9651              :                       default:;
    9652              :                       }
    9653              :                     break;
    9654              :                   }
    9655            0 :                 case BIT_IOR_EXPR:
    9656            0 :                   {
    9657            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9658            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9659            0 :                     switch (TREE_CODE (_p1))
    9660              :                       {
    9661            0 :                       case CALL_EXPR:
    9662            0 :                         switch (get_call_combined_fn (_p1))
    9663              :                           {
    9664            0 :                           case CFN_BUILT_IN_POPCOUNTIMAX:
    9665            0 :                             if (call_expr_nargs (_p1) == 1)
    9666              :     {
    9667            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9668            0 :                                 switch (TREE_CODE (_q60))
    9669              :                                   {
    9670            0 :                                   case BIT_AND_EXPR:
    9671            0 :                                     {
    9672            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9673            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9674            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9675              :                                         {
    9676            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9677              :                                             {
    9678            0 :                                               {
    9679            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
    9680            0 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
    9681            0 :                                                 if (res) return res;
    9682              :                                               }
    9683              :                                             }
    9684              :                                         }
    9685            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9686              :                                         {
    9687            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9688              :                                             {
    9689            0 :                                               {
    9690            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
    9691            0 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
    9692            0 :                                                 if (res) return res;
    9693              :                                               }
    9694              :                                             }
    9695              :                                         }
    9696              :                                       break;
    9697              :                                     }
    9698              :                                   default:;
    9699              :                                   }
    9700              :                               }
    9701              :                             break;
    9702              :                           default:;
    9703              :                           }
    9704              :                         break;
    9705              :                       default:;
    9706              :                       }
    9707              :                     break;
    9708              :                   }
    9709            0 :                 default:;
    9710              :                 }
    9711            0 :               switch (TREE_CODE (_p1))
    9712              :                 {
    9713            0 :                 case MINUS_EXPR:
    9714            0 :                   {
    9715            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9716            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
    9717            0 :                     switch (TREE_CODE (_q40))
    9718              :                       {
    9719            0 :                       case CALL_EXPR:
    9720            0 :                         switch (get_call_combined_fn (_q40))
    9721              :                           {
    9722            0 :                           case CFN_BUILT_IN_POPCOUNTIMAX:
    9723            0 :                             if (call_expr_nargs (_q40) == 1)
    9724              :     {
    9725            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
    9726            0 :                                 switch (TREE_CODE (_q41))
    9727              :                                   {
    9728            0 :                                   case CALL_EXPR:
    9729            0 :                                     switch (get_call_combined_fn (_q41))
    9730              :                                       {
    9731            0 :                                       case CFN_BUILT_IN_POPCOUNTIMAX:
    9732            0 :                                         if (call_expr_nargs (_q41) == 1)
    9733              :     {
    9734            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
    9735            0 :                                             switch (TREE_CODE (_q70))
    9736              :                                               {
    9737            0 :                                               case BIT_AND_EXPR:
    9738            0 :                                                 {
    9739            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9740            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9741            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9742              :                                                     {
    9743            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9744              :                                                         {
    9745            0 :                                                           {
    9746            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9747            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    9748            0 :                                                             if (res) return res;
    9749              :                                                           }
    9750              :                                                         }
    9751              :                                                     }
    9752            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9753              :                                                     {
    9754            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9755              :                                                         {
    9756            0 :                                                           {
    9757            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9758            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    9759            0 :                                                             if (res) return res;
    9760              :                                                           }
    9761              :                                                         }
    9762              :                                                     }
    9763              :                                                   break;
    9764              :                                                 }
    9765            0 :                                               case BIT_IOR_EXPR:
    9766            0 :                                                 {
    9767            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9768            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9769            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9770              :                                                     {
    9771            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9772              :                                                         {
    9773            0 :                                                           {
    9774            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9775            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    9776            0 :                                                             if (res) return res;
    9777              :                                                           }
    9778              :                                                         }
    9779              :                                                     }
    9780            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9781              :                                                     {
    9782            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9783              :                                                         {
    9784            0 :                                                           {
    9785            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9786            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    9787            0 :                                                             if (res) return res;
    9788              :                                                           }
    9789              :                                                         }
    9790              :                                                     }
    9791              :                                                   break;
    9792              :                                                 }
    9793              :                                               default:;
    9794              :                                               }
    9795              :                                           }
    9796              :                                         break;
    9797              :                                       default:;
    9798              :                                       }
    9799              :                                     break;
    9800              :                                   default:;
    9801              :                                   }
    9802              :                               }
    9803              :                             break;
    9804              :                           default:;
    9805              :                           }
    9806              :                         break;
    9807              :                       default:;
    9808              :                       }
    9809              :                     break;
    9810              :                   }
    9811              :                 default:;
    9812              :                 }
    9813              :             }
    9814              :           break;
    9815            0 :         case CFN_LOG2:
    9816            0 :           if (call_expr_nargs (_p0) == 1)
    9817              :     {
    9818            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9819            0 :               switch (TREE_CODE (_p1))
    9820              :                 {
    9821            0 :                 case CALL_EXPR:
    9822            0 :                   switch (get_call_combined_fn (_p1))
    9823              :                     {
    9824            0 :                     case CFN_LOG2:
    9825            0 :                       if (call_expr_nargs (_p1) == 1)
    9826              :     {
    9827            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9828            0 :                           {
    9829            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9830            0 :                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, CFN_LOG2);
    9831            0 :                             if (res) return res;
    9832              :                           }
    9833              :                         }
    9834              :                       break;
    9835              :                     default:;
    9836              :                     }
    9837              :                   break;
    9838              :                 default:;
    9839              :                 }
    9840              :             }
    9841              :           break;
    9842          135 :         case CFN_BUILT_IN_POPCOUNTL:
    9843          135 :           if (call_expr_nargs (_p0) == 1)
    9844              :     {
    9845          135 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9846          135 :               switch (TREE_CODE (_p1))
    9847              :                 {
    9848           69 :                 case CALL_EXPR:
    9849           69 :                   switch (get_call_combined_fn (_p1))
    9850              :                     {
    9851           69 :                     case CFN_BUILT_IN_POPCOUNTL:
    9852           69 :                       if (call_expr_nargs (_p1) == 1)
    9853              :     {
    9854           69 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9855           69 :                           {
    9856           69 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9857           69 :                             tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
    9858           69 :                             if (res) return res;
    9859              :                           }
    9860              :                         }
    9861              :                       break;
    9862              :                     default:;
    9863              :                     }
    9864              :                   break;
    9865          135 :                 default:;
    9866              :                 }
    9867          135 :               switch (TREE_CODE (_q20))
    9868              :                 {
    9869            0 :                 case BIT_AND_EXPR:
    9870            0 :                   {
    9871            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9872            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9873            0 :                     switch (TREE_CODE (_p1))
    9874              :                       {
    9875            0 :                       case CALL_EXPR:
    9876            0 :                         switch (get_call_combined_fn (_p1))
    9877              :                           {
    9878            0 :                           case CFN_BUILT_IN_POPCOUNTL:
    9879            0 :                             if (call_expr_nargs (_p1) == 1)
    9880              :     {
    9881            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9882            0 :                                 switch (TREE_CODE (_q60))
    9883              :                                   {
    9884            0 :                                   case BIT_IOR_EXPR:
    9885            0 :                                     {
    9886            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9887            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9888            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9889              :                                         {
    9890            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9891              :                                             {
    9892            0 :                                               {
    9893            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9894            0 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
    9895            0 :                                                 if (res) return res;
    9896              :                                               }
    9897              :                                             }
    9898              :                                         }
    9899            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9900              :                                         {
    9901            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9902              :                                             {
    9903            0 :                                               {
    9904            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9905            0 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
    9906            0 :                                                 if (res) return res;
    9907              :                                               }
    9908              :                                             }
    9909              :                                         }
    9910              :                                       break;
    9911              :                                     }
    9912              :                                   default:;
    9913              :                                   }
    9914              :                               }
    9915              :                             break;
    9916              :                           default:;
    9917              :                           }
    9918              :                         break;
    9919              :                       default:;
    9920              :                       }
    9921              :                     break;
    9922              :                   }
    9923            0 :                 case BIT_IOR_EXPR:
    9924            0 :                   {
    9925            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9926            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    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_POPCOUNTL:
    9933            0 :                             if (call_expr_nargs (_p1) == 1)
    9934              :     {
    9935            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9936            0 :                                 switch (TREE_CODE (_q60))
    9937              :                                   {
    9938            0 :                                   case BIT_AND_EXPR:
    9939            0 :                                     {
    9940            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9941            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9942            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9943              :                                         {
    9944            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9945              :                                             {
    9946            0 :                                               {
    9947            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
    9948            0 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
    9949            0 :                                                 if (res) return res;
    9950              :                                               }
    9951              :                                             }
    9952              :                                         }
    9953            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9954              :                                         {
    9955            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9956              :                                             {
    9957            0 :                                               {
    9958            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
    9959            0 :                                                 tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
    9960            0 :                                                 if (res) return res;
    9961              :                                               }
    9962              :                                             }
    9963              :                                         }
    9964              :                                       break;
    9965              :                                     }
    9966              :                                   default:;
    9967              :                                   }
    9968              :                               }
    9969              :                             break;
    9970              :                           default:;
    9971              :                           }
    9972              :                         break;
    9973              :                       default:;
    9974              :                       }
    9975              :                     break;
    9976              :                   }
    9977          135 :                 default:;
    9978              :                 }
    9979          135 :               switch (TREE_CODE (_p1))
    9980              :                 {
    9981            0 :                 case MINUS_EXPR:
    9982            0 :                   {
    9983            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9984            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
    9985            0 :                     switch (TREE_CODE (_q40))
    9986              :                       {
    9987            0 :                       case CALL_EXPR:
    9988            0 :                         switch (get_call_combined_fn (_q40))
    9989              :                           {
    9990            0 :                           case CFN_BUILT_IN_POPCOUNTL:
    9991            0 :                             if (call_expr_nargs (_q40) == 1)
    9992              :     {
    9993            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
    9994            0 :                                 switch (TREE_CODE (_q41))
    9995              :                                   {
    9996            0 :                                   case CALL_EXPR:
    9997            0 :                                     switch (get_call_combined_fn (_q41))
    9998              :                                       {
    9999            0 :                                       case CFN_BUILT_IN_POPCOUNTL:
   10000            0 :                                         if (call_expr_nargs (_q41) == 1)
   10001              :     {
   10002            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
   10003            0 :                                             switch (TREE_CODE (_q70))
   10004              :                                               {
   10005            0 :                                               case BIT_AND_EXPR:
   10006            0 :                                                 {
   10007            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
   10008            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
   10009            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   10010              :                                                     {
   10011            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   10012              :                                                         {
   10013            0 :                                                           {
   10014            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10015            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTL);
   10016            0 :                                                             if (res) return res;
   10017              :                                                           }
   10018              :                                                         }
   10019              :                                                     }
   10020            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   10021              :                                                     {
   10022            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   10023              :                                                         {
   10024            0 :                                                           {
   10025            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10026            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTL);
   10027            0 :                                                             if (res) return res;
   10028              :                                                           }
   10029              :                                                         }
   10030              :                                                     }
   10031              :                                                   break;
   10032              :                                                 }
   10033            0 :                                               case BIT_IOR_EXPR:
   10034            0 :                                                 {
   10035            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
   10036            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
   10037            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   10038              :                                                     {
   10039            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   10040              :                                                         {
   10041            0 :                                                           {
   10042            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10043            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTL);
   10044            0 :                                                             if (res) return res;
   10045              :                                                           }
   10046              :                                                         }
   10047              :                                                     }
   10048            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   10049              :                                                     {
   10050            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   10051              :                                                         {
   10052            0 :                                                           {
   10053            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10054            0 :                                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTL);
   10055            0 :                                                             if (res) return res;
   10056              :                                                           }
   10057              :                                                         }
   10058              :                                                     }
   10059              :                                                   break;
   10060              :                                                 }
   10061              :                                               default:;
   10062              :                                               }
   10063              :                                           }
   10064              :                                         break;
   10065              :                                       default:;
   10066              :                                       }
   10067              :                                     break;
   10068              :                                   default:;
   10069              :                                   }
   10070              :                               }
   10071              :                             break;
   10072              :                           default:;
   10073              :                           }
   10074              :                         break;
   10075              :                       default:;
   10076              :                       }
   10077              :                     break;
   10078              :                   }
   10079              :                 default:;
   10080              :                 }
   10081              :             }
   10082              :           break;
   10083            0 :         case CFN_LOG10:
   10084            0 :           if (call_expr_nargs (_p0) == 1)
   10085              :     {
   10086            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10087            0 :               switch (TREE_CODE (_p1))
   10088              :                 {
   10089            0 :                 case CALL_EXPR:
   10090            0 :                   switch (get_call_combined_fn (_p1))
   10091              :                     {
   10092            0 :                     case CFN_LOG10:
   10093            0 :                       if (call_expr_nargs (_p1) == 1)
   10094              :     {
   10095            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10096            0 :                           {
   10097            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10098            0 :                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, CFN_LOG10);
   10099            0 :                             if (res) return res;
   10100              :                           }
   10101              :                         }
   10102              :                       break;
   10103              :                     default:;
   10104              :                     }
   10105              :                   break;
   10106              :                 default:;
   10107              :                 }
   10108              :             }
   10109              :           break;
   10110            0 :         case CFN_BUILT_IN_LOG10:
   10111            0 :           if (call_expr_nargs (_p0) == 1)
   10112              :     {
   10113            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10114            0 :               switch (TREE_CODE (_p1))
   10115              :                 {
   10116            0 :                 case CALL_EXPR:
   10117            0 :                   switch (get_call_combined_fn (_p1))
   10118              :                     {
   10119            0 :                     case CFN_BUILT_IN_LOG10:
   10120            0 :                       if (call_expr_nargs (_p1) == 1)
   10121              :     {
   10122            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10123            0 :                           {
   10124            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10125            0 :                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10);
   10126            0 :                             if (res) return res;
   10127              :                           }
   10128              :                         }
   10129              :                       break;
   10130              :                     default:;
   10131              :                     }
   10132              :                   break;
   10133              :                 default:;
   10134              :                 }
   10135              :             }
   10136              :           break;
   10137            0 :         case CFN_BUILT_IN_LOG2F:
   10138            0 :           if (call_expr_nargs (_p0) == 1)
   10139              :     {
   10140            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10141            0 :               switch (TREE_CODE (_p1))
   10142              :                 {
   10143            0 :                 case CALL_EXPR:
   10144            0 :                   switch (get_call_combined_fn (_p1))
   10145              :                     {
   10146            0 :                     case CFN_BUILT_IN_LOG2F:
   10147            0 :                       if (call_expr_nargs (_p1) == 1)
   10148              :     {
   10149            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10150            0 :                           {
   10151            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10152            0 :                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F);
   10153            0 :                             if (res) return res;
   10154              :                           }
   10155              :                         }
   10156              :                       break;
   10157              :                     default:;
   10158              :                     }
   10159              :                   break;
   10160              :                 default:;
   10161              :                 }
   10162              :             }
   10163              :           break;
   10164            0 :         case CFN_BUILT_IN_LOG2L:
   10165            0 :           if (call_expr_nargs (_p0) == 1)
   10166              :     {
   10167            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10168            0 :               switch (TREE_CODE (_p1))
   10169              :                 {
   10170            0 :                 case CALL_EXPR:
   10171            0 :                   switch (get_call_combined_fn (_p1))
   10172              :                     {
   10173            0 :                     case CFN_BUILT_IN_LOG2L:
   10174            0 :                       if (call_expr_nargs (_p1) == 1)
   10175              :     {
   10176            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10177            0 :                           {
   10178            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10179            0 :                             tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L);
   10180            0 :                             if (res) return res;
   10181              :                           }
   10182              :                         }
   10183              :                       break;
   10184              :                     default:;
   10185              :                     }
   10186              :                   break;
   10187              :                 default:;
   10188              :                 }
   10189              :             }
   10190              :           break;
   10191              :         default:;
   10192              :         }
   10193              :       break;
   10194     62833000 :     default:;
   10195              :     }
   10196     62833000 :   switch (TREE_CODE (_p1))
   10197              :     {
   10198            0 :     case VEC_PERM_EXPR:
   10199            0 :       {
   10200            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10201            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10202            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   10203            0 :         switch (TREE_CODE (_q30))
   10204              :           {
   10205            0 :           case MULT_EXPR:
   10206            0 :             {
   10207            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
   10208            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
   10209            0 :               if (tree_vec_same_elem_p (_q41))
   10210              :                 {
   10211            0 :                   if ((_q31 == _q30 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q30, 0) && types_match (_q31, _q30)))
   10212              :                     {
   10213            0 :                       {
   10214            0 :                         tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q41, _q32, _p0 };
   10215            0 :                         tree res = generic_simplify_38 (loc, type, _p0, _p1, captures);
   10216            0 :                         if (res) return res;
   10217              :                       }
   10218              :                     }
   10219              :                 }
   10220            0 :               if (tree_vec_same_elem_p (_q40))
   10221              :                 {
   10222            0 :                   if ((_q31 == _q30 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q30, 0) && types_match (_q31, _q30)))
   10223              :                     {
   10224            0 :                       {
   10225            0 :                         tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q40, _q32, _p0 };
   10226            0 :                         tree res = generic_simplify_38 (loc, type, _p0, _p1, captures);
   10227            0 :                         if (res) return res;
   10228              :                       }
   10229              :                     }
   10230              :                 }
   10231              :               break;
   10232              :             }
   10233              :           default:;
   10234              :           }
   10235              :         break;
   10236              :       }
   10237              :     default:;
   10238              :     }
   10239              :   return NULL_TREE;
   10240              : }
   10241              : 
   10242              : tree
   10243       346227 : generic_simplify_UNEQ_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10244              : {
   10245       346227 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10246       346227 :   switch (TREE_CODE (_p0))
   10247              :     {
   10248            0 :     case VEC_COND_EXPR:
   10249            0 :       {
   10250            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10251            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10252            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   10253            0 :         switch (TREE_CODE (_p1))
   10254              :           {
   10255            0 :           case VEC_COND_EXPR:
   10256            0 :             {
   10257            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   10258            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   10259            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   10260            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10261              :                 {
   10262            0 :                   {
   10263            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   10264            0 :                     if (VECTOR_TYPE_P (type)
   10265            0 :  && (TREE_CODE_CLASS (UNEQ_EXPR) != tcc_comparison
   10266            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10267            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10268              :  || (optimize_vectors_before_lowering_p ()
   10269            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10270              : )
   10271              :                       {
   10272            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1759;
   10273            0 :                         {
   10274            0 :                           tree res_op0;
   10275            0 :                           res_op0 = captures[1];
   10276            0 :                           tree res_op1;
   10277            0 :                           {
   10278            0 :                             tree _o1[2], _r1;
   10279            0 :                             _o1[0] = captures[2];
   10280            0 :                             _o1[1] = captures[5];
   10281            0 :                             _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   10282            0 :                             if (EXPR_P (_r1))
   10283            0 :                               goto next_after_fail1759;
   10284            0 :                             res_op1 = _r1;
   10285              :                           }
   10286            0 :                           tree res_op2;
   10287            0 :                           {
   10288            0 :                             tree _o1[2], _r1;
   10289            0 :                             _o1[0] = captures[3];
   10290            0 :                             _o1[1] = captures[6];
   10291            0 :                             _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   10292            0 :                             if (EXPR_P (_r1))
   10293            0 :                               goto next_after_fail1759;
   10294            0 :                             res_op2 = _r1;
   10295              :                           }
   10296            0 :                           tree _r;
   10297            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10298            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
   10299            0 :                           return _r;
   10300              :                         }
   10301            0 : next_after_fail1759:;
   10302              :                       }
   10303              :                   }
   10304              :                 }
   10305              :               break;
   10306              :             }
   10307            0 :           default:;
   10308              :           }
   10309            0 :         {
   10310            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   10311            0 :           if (VECTOR_TYPE_P (type)
   10312            0 :  && (TREE_CODE_CLASS (UNEQ_EXPR) != tcc_comparison
   10313            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10314            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10315              :  || (optimize_vectors_before_lowering_p ()
   10316            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10317              : )
   10318              :             {
   10319            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1760;
   10320            0 :               {
   10321            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1760;
   10322            0 :                 tree res_op0;
   10323            0 :                 res_op0 = captures[1];
   10324            0 :                 tree res_op1;
   10325            0 :                 {
   10326            0 :                   tree _o1[2], _r1;
   10327            0 :                   _o1[0] = captures[2];
   10328            0 :                   _o1[1] = unshare_expr (captures[4]);
   10329            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   10330            0 :                   if (EXPR_P (_r1))
   10331            0 :                     goto next_after_fail1760;
   10332            0 :                   res_op1 = _r1;
   10333              :                 }
   10334            0 :                 tree res_op2;
   10335            0 :                 {
   10336            0 :                   tree _o1[2], _r1;
   10337            0 :                   _o1[0] = captures[3];
   10338            0 :                   _o1[1] = captures[4];
   10339            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   10340            0 :                   if (EXPR_P (_r1))
   10341            0 :                     goto next_after_fail1760;
   10342            0 :                   res_op2 = _r1;
   10343              :                 }
   10344            0 :                 tree _r;
   10345            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10346            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
   10347            0 :                 return _r;
   10348              :               }
   10349            0 : next_after_fail1760:;
   10350              :             }
   10351              :         }
   10352            0 :         break;
   10353              :       }
   10354       346227 :     default:;
   10355              :     }
   10356       346227 :   switch (TREE_CODE (_p1))
   10357              :     {
   10358            0 :     case VEC_COND_EXPR:
   10359            0 :       {
   10360            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10361            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10362            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   10363            0 :         {
   10364            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   10365            0 :           if (VECTOR_TYPE_P (type)
   10366            0 :  && (TREE_CODE_CLASS (UNEQ_EXPR) != tcc_comparison
   10367            0 :  || types_match (type, TREE_TYPE (captures[3]))
   10368            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   10369              :  || (optimize_vectors_before_lowering_p ()
   10370            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   10371              : )
   10372              :             {
   10373            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1761;
   10374            0 :               {
   10375            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1761;
   10376            0 :                 tree res_op0;
   10377            0 :                 res_op0 = captures[2];
   10378            0 :                 tree res_op1;
   10379            0 :                 {
   10380            0 :                   tree _o1[2], _r1;
   10381            0 :                   _o1[0] = unshare_expr (captures[0]);
   10382            0 :                   _o1[1] = captures[3];
   10383            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   10384            0 :                   if (EXPR_P (_r1))
   10385            0 :                     goto next_after_fail1761;
   10386            0 :                   res_op1 = _r1;
   10387              :                 }
   10388            0 :                 tree res_op2;
   10389            0 :                 {
   10390            0 :                   tree _o1[2], _r1;
   10391            0 :                   _o1[0] = captures[0];
   10392            0 :                   _o1[1] = captures[4];
   10393            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   10394            0 :                   if (EXPR_P (_r1))
   10395            0 :                     goto next_after_fail1761;
   10396            0 :                   res_op2 = _r1;
   10397              :                 }
   10398            0 :                 tree _r;
   10399            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10400            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
   10401            0 :                 return _r;
   10402              :               }
   10403            0 : next_after_fail1761:;
   10404              :             }
   10405              :         }
   10406            0 :         break;
   10407              :       }
   10408       346227 :     default:;
   10409              :     }
   10410       346227 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10411              :     {
   10412            0 :       {
   10413            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10414            0 :         tree res = generic_simplify_551 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
   10415            0 :         if (res) return res;
   10416              :       }
   10417              :     }
   10418       346227 :   switch (TREE_CODE (_p0))
   10419              :     {
   10420            0 :     case FLOAT_EXPR:
   10421            0 :       {
   10422            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10423            0 :         switch (TREE_CODE (_p1))
   10424              :           {
   10425            0 :           case FLOAT_EXPR:
   10426            0 :             {
   10427            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10428            0 :               {
   10429            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   10430            0 :                 tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, UNEQ_EXPR, EQ_EXPR);
   10431            0 :                 if (res) return res;
   10432              :               }
   10433            0 :               break;
   10434              :             }
   10435              :           default:;
   10436              :           }
   10437              :         break;
   10438              :       }
   10439            0 :     case NEGATE_EXPR:
   10440            0 :       {
   10441            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10442            0 :         switch (TREE_CODE (_p1))
   10443              :           {
   10444            0 :           case NEGATE_EXPR:
   10445            0 :             {
   10446            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10447            0 :               {
   10448            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   10449            0 :                 tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, UNEQ_EXPR, UNEQ_EXPR);
   10450            0 :                 if (res) return res;
   10451              :               }
   10452            0 :               break;
   10453              :             }
   10454            0 :           default:;
   10455              :           }
   10456            0 :       if (CONSTANT_CLASS_P (_p1))
   10457              :         {
   10458            0 :           {
   10459            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10460            0 :             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, UNEQ_EXPR, UNEQ_EXPR);
   10461            0 :             if (res) return res;
   10462              :           }
   10463              :         }
   10464              :         break;
   10465              :       }
   10466       346227 :     default:;
   10467              :     }
   10468       346227 :   switch (TREE_CODE (_p1))
   10469              :     {
   10470          154 :     case REAL_CST:
   10471          154 :       {
   10472          154 :         {
   10473          154 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10474          154 :           tree res = generic_simplify_549 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
   10475          154 :           if (res) return res;
   10476              :         }
   10477          152 :         break;
   10478              :       }
   10479              :     default:;
   10480              :     }
   10481              :   return NULL_TREE;
   10482              : }
   10483              : 
   10484              : tree
   10485     14158214 : 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)
   10486              : {
   10487     14158214 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10488     14158214 :   switch (TREE_CODE (_p0))
   10489              :     {
   10490      1765285 :     case LT_EXPR:
   10491      1765285 :       {
   10492      1765285 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10493      1765285 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10494      1765285 :         switch (TREE_CODE (_q20))
   10495              :           {
   10496        11147 :           case MINUS_EXPR:
   10497        11147 :             {
   10498        11147 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10499        11147 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10500        11147 :               switch (TREE_CODE (_q30))
   10501              :                 {
   10502          485 :                 case SSA_NAME:
   10503          485 :                   {
   10504          485 :                     switch (TREE_CODE (_q31))
   10505              :                       {
   10506            0 :                       case CALL_EXPR:
   10507            0 :                         switch (get_call_combined_fn (_q31))
   10508              :                           {
   10509            0 :                           case CFN_BUILT_IN_FLOORF:
   10510            0 :                             if (call_expr_nargs (_q31) == 1)
   10511              :     {
   10512            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   10513            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   10514              :                                   {
   10515            0 :                                     switch (TREE_CODE (_q50))
   10516              :                                       {
   10517            0 :                                       case SSA_NAME:
   10518            0 :                                         {
   10519            0 :                                           switch (TREE_CODE (_q21))
   10520              :                                             {
   10521            0 :                                             case MINUS_EXPR:
   10522            0 :                                               {
   10523            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   10524            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   10525            0 :                                                 switch (TREE_CODE (_q80))
   10526              :                                                   {
   10527            0 :                                                   case CALL_EXPR:
   10528            0 :                                                     switch (get_call_combined_fn (_q80))
   10529              :                                                       {
   10530            0 :                                                       case CFN_BUILT_IN_CEILF:
   10531            0 :                                                         if (call_expr_nargs (_q80) == 1)
   10532              :     {
   10533            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   10534            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   10535              :                                                               {
   10536            0 :                                                                 switch (TREE_CODE (_q90))
   10537              :                                                                   {
   10538            0 :                                                                   case SSA_NAME:
   10539            0 :                                                                     {
   10540            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   10541              :                                                                         {
   10542            0 :                                                                           switch (TREE_CODE (_q81))
   10543              :                                                                             {
   10544            0 :                                                                             case SSA_NAME:
   10545            0 :                                                                               {
   10546            0 :                                                                                 switch (TREE_CODE (_p1))
   10547              :                                                                                   {
   10548            0 :                                                                                   case CALL_EXPR:
   10549            0 :                                                                                     switch (get_call_combined_fn (_p1))
   10550              :                                                                                       {
   10551            0 :                                                                                       case CFN_BUILT_IN_FLOORF:
   10552            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   10553              :     {
   10554            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   10555            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   10556              :                                                                                               {
   10557            0 :                                                                                                 switch (TREE_CODE (_q140))
   10558              :                                                                                                   {
   10559            0 :                                                                                                   case SSA_NAME:
   10560            0 :                                                                                                     {
   10561            0 :                                                                                                       switch (TREE_CODE (_p2))
   10562              :                                                                                                         {
   10563            0 :                                                                                                         case CALL_EXPR:
   10564            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   10565              :                                                                                                             {
   10566            0 :                                                                                                             case CFN_BUILT_IN_CEILF:
   10567            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   10568              :     {
   10569            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   10570            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   10571              :                                                                                                                     {
   10572            0 :                                                                                                                       switch (TREE_CODE (_q170))
   10573              :                                                                                                                         {
   10574            0 :                                                                                                                         case SSA_NAME:
   10575            0 :                                                                                                                           {
   10576            0 :                                                                                                                             {
   10577            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   10578            0 :                                                                                                                               tree res = generic_simplify_339 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   10579            0 :                                                                                                                               if (res) return res;
   10580              :                                                                                                                             }
   10581            0 :                                                                                                                             break;
   10582              :                                                                                                                           }
   10583              :                                                                                                                         default:;
   10584              :                                                                                                                         }
   10585              :                                                                                                                     }
   10586              :                                                                                                                 }
   10587              :                                                                                                               break;
   10588              :                                                                                                             default:;
   10589              :                                                                                                             }
   10590              :                                                                                                           break;
   10591              :                                                                                                         default:;
   10592              :                                                                                                         }
   10593              :                                                                                                       break;
   10594              :                                                                                                     }
   10595              :                                                                                                   default:;
   10596              :                                                                                                   }
   10597              :                                                                                               }
   10598              :                                                                                           }
   10599              :                                                                                         break;
   10600              :                                                                                       default:;
   10601              :                                                                                       }
   10602              :                                                                                     break;
   10603              :                                                                                   default:;
   10604              :                                                                                   }
   10605              :                                                                                 break;
   10606              :                                                                               }
   10607              :                                                                             default:;
   10608              :                                                                             }
   10609              :                                                                         }
   10610              :                                                                       break;
   10611              :                                                                     }
   10612              :                                                                   default:;
   10613              :                                                                   }
   10614              :                                                               }
   10615              :                                                           }
   10616              :                                                         break;
   10617              :                                                       default:;
   10618              :                                                       }
   10619              :                                                     break;
   10620              :                                                   default:;
   10621              :                                                   }
   10622              :                                                 break;
   10623              :                                               }
   10624              :                                             default:;
   10625              :                                             }
   10626              :                                           break;
   10627              :                                         }
   10628              :                                       default:;
   10629              :                                       }
   10630              :                                   }
   10631              :                               }
   10632              :                             break;
   10633            0 :                           case CFN_BUILT_IN_FLOORL:
   10634            0 :                             if (call_expr_nargs (_q31) == 1)
   10635              :     {
   10636            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   10637            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   10638              :                                   {
   10639            0 :                                     switch (TREE_CODE (_q50))
   10640              :                                       {
   10641            0 :                                       case SSA_NAME:
   10642            0 :                                         {
   10643            0 :                                           switch (TREE_CODE (_q21))
   10644              :                                             {
   10645            0 :                                             case MINUS_EXPR:
   10646            0 :                                               {
   10647            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   10648            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   10649            0 :                                                 switch (TREE_CODE (_q80))
   10650              :                                                   {
   10651            0 :                                                   case CALL_EXPR:
   10652            0 :                                                     switch (get_call_combined_fn (_q80))
   10653              :                                                       {
   10654            0 :                                                       case CFN_BUILT_IN_CEILL:
   10655            0 :                                                         if (call_expr_nargs (_q80) == 1)
   10656              :     {
   10657            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   10658            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   10659              :                                                               {
   10660            0 :                                                                 switch (TREE_CODE (_q90))
   10661              :                                                                   {
   10662            0 :                                                                   case SSA_NAME:
   10663            0 :                                                                     {
   10664            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   10665              :                                                                         {
   10666            0 :                                                                           switch (TREE_CODE (_q81))
   10667              :                                                                             {
   10668            0 :                                                                             case SSA_NAME:
   10669            0 :                                                                               {
   10670            0 :                                                                                 switch (TREE_CODE (_p1))
   10671              :                                                                                   {
   10672            0 :                                                                                   case CALL_EXPR:
   10673            0 :                                                                                     switch (get_call_combined_fn (_p1))
   10674              :                                                                                       {
   10675            0 :                                                                                       case CFN_BUILT_IN_FLOORL:
   10676            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   10677              :     {
   10678            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   10679            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   10680              :                                                                                               {
   10681            0 :                                                                                                 switch (TREE_CODE (_q140))
   10682              :                                                                                                   {
   10683            0 :                                                                                                   case SSA_NAME:
   10684            0 :                                                                                                     {
   10685            0 :                                                                                                       switch (TREE_CODE (_p2))
   10686              :                                                                                                         {
   10687            0 :                                                                                                         case CALL_EXPR:
   10688            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   10689              :                                                                                                             {
   10690            0 :                                                                                                             case CFN_BUILT_IN_CEILL:
   10691            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   10692              :     {
   10693            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   10694            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   10695              :                                                                                                                     {
   10696            0 :                                                                                                                       switch (TREE_CODE (_q170))
   10697              :                                                                                                                         {
   10698            0 :                                                                                                                         case SSA_NAME:
   10699            0 :                                                                                                                           {
   10700            0 :                                                                                                                             {
   10701            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   10702            0 :                                                                                                                               tree res = generic_simplify_339 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   10703            0 :                                                                                                                               if (res) return res;
   10704              :                                                                                                                             }
   10705            0 :                                                                                                                             break;
   10706              :                                                                                                                           }
   10707              :                                                                                                                         default:;
   10708              :                                                                                                                         }
   10709              :                                                                                                                     }
   10710              :                                                                                                                 }
   10711              :                                                                                                               break;
   10712              :                                                                                                             default:;
   10713              :                                                                                                             }
   10714              :                                                                                                           break;
   10715              :                                                                                                         default:;
   10716              :                                                                                                         }
   10717              :                                                                                                       break;
   10718              :                                                                                                     }
   10719              :                                                                                                   default:;
   10720              :                                                                                                   }
   10721              :                                                                                               }
   10722              :                                                                                           }
   10723              :                                                                                         break;
   10724              :                                                                                       default:;
   10725              :                                                                                       }
   10726              :                                                                                     break;
   10727              :                                                                                   default:;
   10728              :                                                                                   }
   10729              :                                                                                 break;
   10730              :                                                                               }
   10731              :                                                                             default:;
   10732              :                                                                             }
   10733              :                                                                         }
   10734              :                                                                       break;
   10735              :                                                                     }
   10736              :                                                                   default:;
   10737              :                                                                   }
   10738              :                                                               }
   10739              :                                                           }
   10740              :                                                         break;
   10741              :                                                       default:;
   10742              :                                                       }
   10743              :                                                     break;
   10744              :                                                   default:;
   10745              :                                                   }
   10746              :                                                 break;
   10747              :                                               }
   10748              :                                             default:;
   10749              :                                             }
   10750              :                                           break;
   10751              :                                         }
   10752              :                                       default:;
   10753              :                                       }
   10754              :                                   }
   10755              :                               }
   10756              :                             break;
   10757            0 :                           case CFN_FLOOR:
   10758            0 :                             if (call_expr_nargs (_q31) == 1)
   10759              :     {
   10760            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   10761            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   10762              :                                   {
   10763            0 :                                     switch (TREE_CODE (_q50))
   10764              :                                       {
   10765            0 :                                       case SSA_NAME:
   10766            0 :                                         {
   10767            0 :                                           switch (TREE_CODE (_q21))
   10768              :                                             {
   10769            0 :                                             case MINUS_EXPR:
   10770            0 :                                               {
   10771            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   10772            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   10773            0 :                                                 switch (TREE_CODE (_q80))
   10774              :                                                   {
   10775            0 :                                                   case CALL_EXPR:
   10776            0 :                                                     switch (get_call_combined_fn (_q80))
   10777              :                                                       {
   10778            0 :                                                       case CFN_CEIL:
   10779            0 :                                                         if (call_expr_nargs (_q80) == 1)
   10780              :     {
   10781            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   10782            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   10783              :                                                               {
   10784            0 :                                                                 switch (TREE_CODE (_q90))
   10785              :                                                                   {
   10786            0 :                                                                   case SSA_NAME:
   10787            0 :                                                                     {
   10788            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   10789              :                                                                         {
   10790            0 :                                                                           switch (TREE_CODE (_q81))
   10791              :                                                                             {
   10792            0 :                                                                             case SSA_NAME:
   10793            0 :                                                                               {
   10794            0 :                                                                                 switch (TREE_CODE (_p1))
   10795              :                                                                                   {
   10796            0 :                                                                                   case CALL_EXPR:
   10797            0 :                                                                                     switch (get_call_combined_fn (_p1))
   10798              :                                                                                       {
   10799            0 :                                                                                       case CFN_FLOOR:
   10800            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   10801              :     {
   10802            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   10803            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   10804              :                                                                                               {
   10805            0 :                                                                                                 switch (TREE_CODE (_q140))
   10806              :                                                                                                   {
   10807            0 :                                                                                                   case SSA_NAME:
   10808            0 :                                                                                                     {
   10809            0 :                                                                                                       switch (TREE_CODE (_p2))
   10810              :                                                                                                         {
   10811            0 :                                                                                                         case CALL_EXPR:
   10812            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   10813              :                                                                                                             {
   10814            0 :                                                                                                             case CFN_CEIL:
   10815            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   10816              :     {
   10817            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   10818            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   10819              :                                                                                                                     {
   10820            0 :                                                                                                                       switch (TREE_CODE (_q170))
   10821              :                                                                                                                         {
   10822            0 :                                                                                                                         case SSA_NAME:
   10823            0 :                                                                                                                           {
   10824            0 :                                                                                                                             {
   10825            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   10826            0 :                                                                                                                               tree res = generic_simplify_339 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_FLOOR, CFN_CEIL, CFN_FLOOR, CFN_CEIL);
   10827            0 :                                                                                                                               if (res) return res;
   10828              :                                                                                                                             }
   10829            0 :                                                                                                                             break;
   10830              :                                                                                                                           }
   10831              :                                                                                                                         default:;
   10832              :                                                                                                                         }
   10833              :                                                                                                                     }
   10834              :                                                                                                                 }
   10835              :                                                                                                               break;
   10836              :                                                                                                             default:;
   10837              :                                                                                                             }
   10838              :                                                                                                           break;
   10839              :                                                                                                         default:;
   10840              :                                                                                                         }
   10841              :                                                                                                       break;
   10842              :                                                                                                     }
   10843              :                                                                                                   default:;
   10844              :                                                                                                   }
   10845              :                                                                                               }
   10846              :                                                                                           }
   10847              :                                                                                         break;
   10848              :                                                                                       default:;
   10849              :                                                                                       }
   10850              :                                                                                     break;
   10851              :                                                                                   default:;
   10852              :                                                                                   }
   10853              :                                                                                 break;
   10854              :                                                                               }
   10855              :                                                                             default:;
   10856              :                                                                             }
   10857              :                                                                         }
   10858              :                                                                       break;
   10859              :                                                                     }
   10860              :                                                                   default:;
   10861              :                                                                   }
   10862              :                                                               }
   10863              :                                                           }
   10864              :                                                         break;
   10865              :                                                       default:;
   10866              :                                                       }
   10867              :                                                     break;
   10868              :                                                   default:;
   10869              :                                                   }
   10870              :                                                 break;
   10871              :                                               }
   10872              :                                             default:;
   10873              :                                             }
   10874              :                                           break;
   10875              :                                         }
   10876              :                                       default:;
   10877              :                                       }
   10878              :                                   }
   10879              :                               }
   10880              :                             break;
   10881            0 :                           case CFN_BUILT_IN_FLOOR:
   10882            0 :                             if (call_expr_nargs (_q31) == 1)
   10883              :     {
   10884            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   10885            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   10886              :                                   {
   10887            0 :                                     switch (TREE_CODE (_q50))
   10888              :                                       {
   10889            0 :                                       case SSA_NAME:
   10890            0 :                                         {
   10891            0 :                                           switch (TREE_CODE (_q21))
   10892              :                                             {
   10893            0 :                                             case MINUS_EXPR:
   10894            0 :                                               {
   10895            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   10896            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   10897            0 :                                                 switch (TREE_CODE (_q80))
   10898              :                                                   {
   10899            0 :                                                   case CALL_EXPR:
   10900            0 :                                                     switch (get_call_combined_fn (_q80))
   10901              :                                                       {
   10902            0 :                                                       case CFN_BUILT_IN_CEIL:
   10903            0 :                                                         if (call_expr_nargs (_q80) == 1)
   10904              :     {
   10905            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   10906            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   10907              :                                                               {
   10908            0 :                                                                 switch (TREE_CODE (_q90))
   10909              :                                                                   {
   10910            0 :                                                                   case SSA_NAME:
   10911            0 :                                                                     {
   10912            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   10913              :                                                                         {
   10914            0 :                                                                           switch (TREE_CODE (_q81))
   10915              :                                                                             {
   10916            0 :                                                                             case SSA_NAME:
   10917            0 :                                                                               {
   10918            0 :                                                                                 switch (TREE_CODE (_p1))
   10919              :                                                                                   {
   10920            0 :                                                                                   case CALL_EXPR:
   10921            0 :                                                                                     switch (get_call_combined_fn (_p1))
   10922              :                                                                                       {
   10923            0 :                                                                                       case CFN_BUILT_IN_FLOOR:
   10924            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   10925              :     {
   10926            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   10927            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   10928              :                                                                                               {
   10929            0 :                                                                                                 switch (TREE_CODE (_q140))
   10930              :                                                                                                   {
   10931            0 :                                                                                                   case SSA_NAME:
   10932            0 :                                                                                                     {
   10933            0 :                                                                                                       switch (TREE_CODE (_p2))
   10934              :                                                                                                         {
   10935            0 :                                                                                                         case CALL_EXPR:
   10936            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   10937              :                                                                                                             {
   10938            0 :                                                                                                             case CFN_BUILT_IN_CEIL:
   10939            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   10940              :     {
   10941            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   10942            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   10943              :                                                                                                                     {
   10944            0 :                                                                                                                       switch (TREE_CODE (_q170))
   10945              :                                                                                                                         {
   10946            0 :                                                                                                                         case SSA_NAME:
   10947            0 :                                                                                                                           {
   10948            0 :                                                                                                                             {
   10949            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   10950            0 :                                                                                                                               tree res = generic_simplify_339 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   10951            0 :                                                                                                                               if (res) return res;
   10952              :                                                                                                                             }
   10953            0 :                                                                                                                             break;
   10954              :                                                                                                                           }
   10955              :                                                                                                                         default:;
   10956              :                                                                                                                         }
   10957              :                                                                                                                     }
   10958              :                                                                                                                 }
   10959              :                                                                                                               break;
   10960              :                                                                                                             default:;
   10961              :                                                                                                             }
   10962              :                                                                                                           break;
   10963              :                                                                                                         default:;
   10964              :                                                                                                         }
   10965              :                                                                                                       break;
   10966              :                                                                                                     }
   10967              :                                                                                                   default:;
   10968              :                                                                                                   }
   10969              :                                                                                               }
   10970              :                                                                                           }
   10971              :                                                                                         break;
   10972              :                                                                                       default:;
   10973              :                                                                                       }
   10974              :                                                                                     break;
   10975              :                                                                                   default:;
   10976              :                                                                                   }
   10977              :                                                                                 break;
   10978              :                                                                               }
   10979              :                                                                             default:;
   10980              :                                                                             }
   10981              :                                                                         }
   10982              :                                                                       break;
   10983              :                                                                     }
   10984              :                                                                   default:;
   10985              :                                                                   }
   10986              :                                                               }
   10987              :                                                           }
   10988              :                                                         break;
   10989              :                                                       default:;
   10990              :                                                       }
   10991              :                                                     break;
   10992              :                                                   default:;
   10993              :                                                   }
   10994              :                                                 break;
   10995              :                                               }
   10996              :                                             default:;
   10997              :                                             }
   10998              :                                           break;
   10999              :                                         }
   11000              :                                       default:;
   11001              :                                       }
   11002              :                                   }
   11003              :                               }
   11004              :                             break;
   11005              :                           default:;
   11006              :                           }
   11007              :                         break;
   11008              :                       default:;
   11009              :                       }
   11010              :                     break;
   11011              :                   }
   11012              :                 default:;
   11013              :                 }
   11014              :               break;
   11015              :             }
   11016       109280 :           CASE_CONVERT:
   11017       109280 :             {
   11018       109280 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11019       109280 :               switch (TREE_CODE (_q21))
   11020              :                 {
   11021        15656 :                 case INTEGER_CST:
   11022        15656 :                   {
   11023        15656 :                     switch (TREE_CODE (_p1))
   11024              :                       {
   11025           15 :                       CASE_CONVERT:
   11026           15 :                         {
   11027           15 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   11028           15 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   11029              :                             {
   11030            0 :                               switch (TREE_CODE (_p2))
   11031              :                                 {
   11032            0 :                                 case INTEGER_CST:
   11033            0 :                                   {
   11034            0 :                                     {
   11035            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   11036            0 :                                       tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   11037            0 :                                       if (res) return res;
   11038              :                                     }
   11039            0 :                                     break;
   11040              :                                   }
   11041              :                                 default:;
   11042              :                                 }
   11043              :                             }
   11044              :                           break;
   11045              :                         }
   11046        15656 :                       default:;
   11047              :                       }
   11048        15656 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   11049              :                       {
   11050            6 :                         switch (TREE_CODE (_p2))
   11051              :                           {
   11052            6 :                           case INTEGER_CST:
   11053            6 :                             {
   11054            6 :                               {
   11055            6 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   11056            6 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   11057            6 :                                 if (res) return res;
   11058              :                               }
   11059            6 :                               break;
   11060              :                             }
   11061              :                           default:;
   11062              :                           }
   11063              :                       }
   11064        15656 :                     switch (TREE_CODE (_p1))
   11065              :                       {
   11066           25 :                       case PLUS_EXPR:
   11067           25 :                         {
   11068           25 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   11069           25 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   11070           25 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   11071              :                             {
   11072            7 :                               switch (TREE_CODE (_q61))
   11073              :                                 {
   11074            7 :                                 case INTEGER_CST:
   11075            7 :                                   {
   11076            7 :                                     switch (TREE_CODE (_p2))
   11077              :                                       {
   11078            7 :                                       case INTEGER_CST:
   11079            7 :                                         {
   11080            7 :                                           {
   11081            7 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   11082            7 :                                             tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, PLUS_EXPR);
   11083            7 :                                             if (res) return res;
   11084              :                                           }
   11085            0 :                                           break;
   11086              :                                         }
   11087              :                                       default:;
   11088              :                                       }
   11089              :                                     break;
   11090              :                                   }
   11091              :                                 default:;
   11092              :                                 }
   11093              :                             }
   11094              :                           break;
   11095              :                         }
   11096            0 :                       case MINUS_EXPR:
   11097            0 :                         {
   11098            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   11099            0 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   11100            0 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   11101              :                             {
   11102            0 :                               switch (TREE_CODE (_q61))
   11103              :                                 {
   11104            0 :                                 case INTEGER_CST:
   11105            0 :                                   {
   11106            0 :                                     switch (TREE_CODE (_p2))
   11107              :                                       {
   11108            0 :                                       case INTEGER_CST:
   11109            0 :                                         {
   11110            0 :                                           {
   11111            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   11112            0 :                                             tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MINUS_EXPR);
   11113            0 :                                             if (res) return res;
   11114              :                                           }
   11115            0 :                                           break;
   11116              :                                         }
   11117              :                                       default:;
   11118              :                                       }
   11119              :                                     break;
   11120              :                                   }
   11121              :                                 default:;
   11122              :                                 }
   11123              :                             }
   11124              :                           break;
   11125              :                         }
   11126              :                       default:;
   11127              :                       }
   11128              :                     break;
   11129              :                   }
   11130              :                 default:;
   11131              :                 }
   11132              :               break;
   11133              :             }
   11134      1765278 :           default:;
   11135              :           }
   11136      1765278 :         switch (TREE_CODE (_q21))
   11137              :           {
   11138       360515 :           case INTEGER_CST:
   11139       360515 :             {
   11140       360515 :               switch (TREE_CODE (_p1))
   11141              :                 {
   11142         1118 :                 CASE_CONVERT:
   11143         1118 :                   {
   11144         1118 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   11145         1118 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11146              :                       {
   11147           36 :                         switch (TREE_CODE (_p2))
   11148              :                           {
   11149            5 :                           case INTEGER_CST:
   11150            5 :                             {
   11151            5 :                               {
   11152            5 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   11153            5 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   11154            5 :                                 if (res) return res;
   11155              :                               }
   11156            5 :                               break;
   11157              :                             }
   11158              :                           default:;
   11159              :                           }
   11160              :                       }
   11161              :                     break;
   11162              :                   }
   11163       360515 :                 default:;
   11164              :                 }
   11165       360515 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   11166              :                 {
   11167           81 :                   switch (TREE_CODE (_p2))
   11168              :                     {
   11169            8 :                     case INTEGER_CST:
   11170            8 :                       {
   11171            8 :                         {
   11172            8 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   11173            8 :                           tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   11174            8 :                           if (res) return res;
   11175              :                         }
   11176            0 :                         break;
   11177              :                       }
   11178              :                     default:;
   11179              :                     }
   11180              :                 }
   11181       360507 :               switch (TREE_CODE (_p1))
   11182              :                 {
   11183         9050 :                 case PLUS_EXPR:
   11184         9050 :                   {
   11185         9050 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   11186         9050 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   11187         9050 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11188              :                       {
   11189         9015 :                         switch (TREE_CODE (_q51))
   11190              :                           {
   11191         9015 :                           case INTEGER_CST:
   11192         9015 :                             {
   11193         9015 :                               switch (TREE_CODE (_p2))
   11194              :                                 {
   11195           36 :                                 case INTEGER_CST:
   11196           36 :                                   {
   11197           36 :                                     {
   11198           36 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   11199           36 :                                       tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, PLUS_EXPR);
   11200           36 :                                       if (res) return res;
   11201              :                                     }
   11202           36 :                                     break;
   11203              :                                   }
   11204              :                                 default:;
   11205              :                                 }
   11206              :                               break;
   11207              :                             }
   11208              :                           default:;
   11209              :                           }
   11210              :                       }
   11211              :                     break;
   11212              :                   }
   11213           62 :                 case MINUS_EXPR:
   11214           62 :                   {
   11215           62 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   11216           62 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   11217           62 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11218              :                       {
   11219            0 :                         switch (TREE_CODE (_q51))
   11220              :                           {
   11221            0 :                           case INTEGER_CST:
   11222            0 :                             {
   11223            0 :                               switch (TREE_CODE (_p2))
   11224              :                                 {
   11225            0 :                                 case INTEGER_CST:
   11226            0 :                                   {
   11227            0 :                                     {
   11228            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   11229            0 :                                       tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MINUS_EXPR);
   11230            0 :                                       if (res) return res;
   11231              :                                     }
   11232            0 :                                     break;
   11233              :                                   }
   11234              :                                 default:;
   11235              :                                 }
   11236              :                               break;
   11237              :                             }
   11238              :                           default:;
   11239              :                           }
   11240              :                       }
   11241              :                     break;
   11242              :                   }
   11243              :                 default:;
   11244              :                 }
   11245              :               break;
   11246              :             }
   11247      1765270 :           default:;
   11248              :           }
   11249      1765270 :         switch (TREE_CODE (_p1))
   11250              :           {
   11251            0 :           case MIN_EXPR:
   11252            0 :             {
   11253            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11254            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11255            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11256              :                 {
   11257            0 :                   switch (TREE_CODE (_p2))
   11258              :                     {
   11259            0 :                     case MIN_EXPR:
   11260            0 :                       {
   11261            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   11262            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   11263            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   11264              :                           {
   11265            0 :                             {
   11266            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   11267            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   11268            0 :                               if (res) return res;
   11269              :                             }
   11270              :                           }
   11271            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   11272              :                           {
   11273            0 :                             {
   11274            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   11275            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   11276            0 :                               if (res) return res;
   11277              :                             }
   11278              :                           }
   11279              :                         break;
   11280              :                       }
   11281              :                     default:;
   11282              :                     }
   11283              :                 }
   11284            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11285              :                 {
   11286            0 :                   switch (TREE_CODE (_p2))
   11287              :                     {
   11288            0 :                     case MIN_EXPR:
   11289            0 :                       {
   11290            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   11291            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   11292            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   11293              :                           {
   11294            0 :                             {
   11295            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   11296            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   11297            0 :                               if (res) return res;
   11298              :                             }
   11299              :                           }
   11300            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   11301              :                           {
   11302            0 :                             {
   11303            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   11304            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   11305            0 :                               if (res) return res;
   11306              :                             }
   11307              :                           }
   11308              :                         break;
   11309              :                       }
   11310              :                     default:;
   11311              :                     }
   11312              :                 }
   11313            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11314              :                 {
   11315            0 :                   switch (TREE_CODE (_p2))
   11316              :                     {
   11317            0 :                     case MIN_EXPR:
   11318            0 :                       {
   11319            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   11320            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   11321            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   11322              :                           {
   11323            0 :                             {
   11324            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   11325            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   11326            0 :                               if (res) return res;
   11327              :                             }
   11328              :                           }
   11329            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   11330              :                           {
   11331            0 :                             {
   11332            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   11333            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   11334            0 :                               if (res) return res;
   11335              :                             }
   11336              :                           }
   11337              :                         break;
   11338              :                       }
   11339            0 :                     default:;
   11340              :                     }
   11341            0 :                   {
   11342            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   11343            0 :                     tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   11344            0 :                     if (res) return res;
   11345              :                   }
   11346              :                 }
   11347            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11348              :                 {
   11349            0 :                   switch (TREE_CODE (_p2))
   11350              :                     {
   11351            0 :                     case MIN_EXPR:
   11352            0 :                       {
   11353            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   11354            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   11355            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   11356              :                           {
   11357            0 :                             {
   11358            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   11359            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   11360            0 :                               if (res) return res;
   11361              :                             }
   11362              :                           }
   11363            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   11364              :                           {
   11365            0 :                             {
   11366            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   11367            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   11368            0 :                               if (res) return res;
   11369              :                             }
   11370              :                           }
   11371              :                         break;
   11372              :                       }
   11373            0 :                     default:;
   11374              :                     }
   11375            0 :                   {
   11376            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   11377            0 :                     tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   11378            0 :                     if (res) return res;
   11379              :                   }
   11380              :                 }
   11381              :               break;
   11382              :             }
   11383           21 :           case MAX_EXPR:
   11384           21 :             {
   11385           21 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11386           21 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11387           21 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11388              :                 {
   11389            1 :                   switch (TREE_CODE (_p2))
   11390              :                     {
   11391            0 :                     case MAX_EXPR:
   11392            0 :                       {
   11393            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   11394            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   11395            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   11396              :                           {
   11397            0 :                             {
   11398            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   11399            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   11400            0 :                               if (res) return res;
   11401              :                             }
   11402              :                           }
   11403            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   11404              :                           {
   11405            0 :                             {
   11406            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   11407            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   11408            0 :                               if (res) return res;
   11409              :                             }
   11410              :                           }
   11411              :                         break;
   11412              :                       }
   11413            1 :                     default:;
   11414              :                     }
   11415            1 :                   {
   11416            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   11417            1 :                     tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   11418            1 :                     if (res) return res;
   11419              :                   }
   11420              :                 }
   11421           20 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11422              :                 {
   11423            4 :                   switch (TREE_CODE (_p2))
   11424              :                     {
   11425            0 :                     case MAX_EXPR:
   11426            0 :                       {
   11427            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   11428            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   11429            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   11430              :                           {
   11431            0 :                             {
   11432            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   11433            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   11434            0 :                               if (res) return res;
   11435              :                             }
   11436              :                           }
   11437            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   11438              :                           {
   11439            0 :                             {
   11440            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   11441            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   11442            0 :                               if (res) return res;
   11443              :                             }
   11444              :                           }
   11445              :                         break;
   11446              :                       }
   11447              :                     default:;
   11448              :                     }
   11449              :                 }
   11450           20 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11451              :                 {
   11452            8 :                   switch (TREE_CODE (_p2))
   11453              :                     {
   11454            0 :                     case MAX_EXPR:
   11455            0 :                       {
   11456            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   11457            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   11458            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   11459              :                           {
   11460            0 :                             {
   11461            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   11462            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   11463            0 :                               if (res) return res;
   11464              :                             }
   11465              :                           }
   11466            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   11467              :                           {
   11468            0 :                             {
   11469            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   11470            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   11471            0 :                               if (res) return res;
   11472              :                             }
   11473              :                           }
   11474              :                         break;
   11475              :                       }
   11476              :                     default:;
   11477              :                     }
   11478              :                 }
   11479           20 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11480              :                 {
   11481            1 :                   switch (TREE_CODE (_p2))
   11482              :                     {
   11483            1 :                     case MAX_EXPR:
   11484            1 :                       {
   11485            1 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   11486            1 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   11487            1 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   11488              :                           {
   11489            0 :                             {
   11490            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   11491            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   11492            0 :                               if (res) return res;
   11493              :                             }
   11494              :                           }
   11495            1 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   11496              :                           {
   11497            1 :                             {
   11498            1 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   11499            1 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   11500            1 :                               if (res) return res;
   11501              :                             }
   11502              :                           }
   11503              :                         break;
   11504              :                       }
   11505              :                     default:;
   11506              :                     }
   11507              :                 }
   11508           19 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11509              :                 {
   11510            4 :                   {
   11511            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   11512            4 :                     tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   11513            4 :                     if (res) return res;
   11514              :                   }
   11515              :                 }
   11516              :               break;
   11517              :             }
   11518      1765268 :           default:;
   11519              :           }
   11520      1765268 :         {
   11521      1765268 :           tree _q20_pops[1];
   11522      1765268 :           if (tree_nop_convert (_q20, _q20_pops))
   11523              :             {
   11524        63984 :               tree _q30 = _q20_pops[0];
   11525        63984 :               if (integer_zerop (_q21))
   11526              :                 {
   11527         7509 :                   switch (TREE_CODE (_p1))
   11528              :                     {
   11529            0 :                     case MIN_EXPR:
   11530            0 :                       {
   11531            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   11532            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   11533            0 :                         if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   11534              :                           {
   11535            0 :                             switch (TREE_CODE (_q61))
   11536              :                               {
   11537            0 :                               case INTEGER_CST:
   11538            0 :                                 {
   11539            0 :                                   switch (TREE_CODE (_p2))
   11540              :                                     {
   11541            0 :                                     case INTEGER_CST:
   11542            0 :                                       {
   11543            0 :                                         {
   11544            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q30, _q21, _p1, _q61, _p2 };
   11545            0 :                                           tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   11546            0 :                                           if (res) return res;
   11547              :                                         }
   11548            0 :                                         break;
   11549              :                                       }
   11550              :                                     default:;
   11551              :                                     }
   11552              :                                   break;
   11553              :                                 }
   11554              :                               default:;
   11555              :                               }
   11556              :                           }
   11557              :                         break;
   11558              :                       }
   11559              :                     default:;
   11560              :                     }
   11561              :                 }
   11562              :             }
   11563              :         }
   11564      1765268 :         if (tree_expr_nonnegative_p (_q20))
   11565              :           {
   11566       513418 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   11567              :               {
   11568          166 :                 switch (TREE_CODE (_p2))
   11569              :                   {
   11570            5 :                   case ABS_EXPR:
   11571            5 :                     {
   11572            5 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   11573            5 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   11574              :                         {
   11575            0 :                           {
   11576            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   11577            0 :                             tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   11578            0 :                             if (res) return res;
   11579              :                           }
   11580              :                         }
   11581              :                       break;
   11582              :                     }
   11583              :                   default:;
   11584              :                   }
   11585              :               }
   11586              :           }
   11587              :         break;
   11588              :       }
   11589       543803 :     case GE_EXPR:
   11590       543803 :       {
   11591       543803 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11592       543803 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11593       543803 :         switch (TREE_CODE (_q20))
   11594              :           {
   11595        37653 :           case MINUS_EXPR:
   11596        37653 :             {
   11597        37653 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11598        37653 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11599        37653 :               switch (TREE_CODE (_q30))
   11600              :                 {
   11601          258 :                 case SSA_NAME:
   11602          258 :                   {
   11603          258 :                     switch (TREE_CODE (_q31))
   11604              :                       {
   11605            0 :                       case CALL_EXPR:
   11606            0 :                         switch (get_call_combined_fn (_q31))
   11607              :                           {
   11608            0 :                           case CFN_BUILT_IN_FLOORF:
   11609            0 :                             if (call_expr_nargs (_q31) == 1)
   11610              :     {
   11611            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11612            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11613              :                                   {
   11614            0 :                                     switch (TREE_CODE (_q50))
   11615              :                                       {
   11616            0 :                                       case SSA_NAME:
   11617            0 :                                         {
   11618            0 :                                           switch (TREE_CODE (_q21))
   11619              :                                             {
   11620            0 :                                             case MINUS_EXPR:
   11621            0 :                                               {
   11622            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11623            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11624            0 :                                                 switch (TREE_CODE (_q80))
   11625              :                                                   {
   11626            0 :                                                   case CALL_EXPR:
   11627            0 :                                                     switch (get_call_combined_fn (_q80))
   11628              :                                                       {
   11629            0 :                                                       case CFN_BUILT_IN_CEILF:
   11630            0 :                                                         if (call_expr_nargs (_q80) == 1)
   11631              :     {
   11632            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   11633            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   11634              :                                                               {
   11635            0 :                                                                 switch (TREE_CODE (_q90))
   11636              :                                                                   {
   11637            0 :                                                                   case SSA_NAME:
   11638            0 :                                                                     {
   11639            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11640              :                                                                         {
   11641            0 :                                                                           switch (TREE_CODE (_q81))
   11642              :                                                                             {
   11643            0 :                                                                             case SSA_NAME:
   11644            0 :                                                                               {
   11645            0 :                                                                                 switch (TREE_CODE (_p1))
   11646              :                                                                                   {
   11647            0 :                                                                                   case CALL_EXPR:
   11648            0 :                                                                                     switch (get_call_combined_fn (_p1))
   11649              :                                                                                       {
   11650            0 :                                                                                       case CFN_BUILT_IN_CEILF:
   11651            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   11652              :     {
   11653            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   11654            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   11655              :                                                                                               {
   11656            0 :                                                                                                 switch (TREE_CODE (_q140))
   11657              :                                                                                                   {
   11658            0 :                                                                                                   case SSA_NAME:
   11659            0 :                                                                                                     {
   11660            0 :                                                                                                       switch (TREE_CODE (_p2))
   11661              :                                                                                                         {
   11662            0 :                                                                                                         case CALL_EXPR:
   11663            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   11664              :                                                                                                             {
   11665            0 :                                                                                                             case CFN_BUILT_IN_FLOORF:
   11666            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   11667              :     {
   11668            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   11669            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   11670              :                                                                                                                     {
   11671            0 :                                                                                                                       switch (TREE_CODE (_q170))
   11672              :                                                                                                                         {
   11673            0 :                                                                                                                         case SSA_NAME:
   11674            0 :                                                                                                                           {
   11675            0 :                                                                                                                             {
   11676            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   11677            0 :                                                                                                                               tree res = generic_simplify_339 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   11678            0 :                                                                                                                               if (res) return res;
   11679              :                                                                                                                             }
   11680            0 :                                                                                                                             break;
   11681              :                                                                                                                           }
   11682              :                                                                                                                         default:;
   11683              :                                                                                                                         }
   11684              :                                                                                                                     }
   11685              :                                                                                                                 }
   11686              :                                                                                                               break;
   11687              :                                                                                                             default:;
   11688              :                                                                                                             }
   11689              :                                                                                                           break;
   11690              :                                                                                                         default:;
   11691              :                                                                                                         }
   11692              :                                                                                                       break;
   11693              :                                                                                                     }
   11694              :                                                                                                   default:;
   11695              :                                                                                                   }
   11696              :                                                                                               }
   11697              :                                                                                           }
   11698              :                                                                                         break;
   11699              :                                                                                       default:;
   11700              :                                                                                       }
   11701              :                                                                                     break;
   11702              :                                                                                   default:;
   11703              :                                                                                   }
   11704              :                                                                                 break;
   11705              :                                                                               }
   11706              :                                                                             default:;
   11707              :                                                                             }
   11708              :                                                                         }
   11709              :                                                                       break;
   11710              :                                                                     }
   11711              :                                                                   default:;
   11712              :                                                                   }
   11713              :                                                               }
   11714              :                                                           }
   11715              :                                                         break;
   11716              :                                                       default:;
   11717              :                                                       }
   11718              :                                                     break;
   11719              :                                                   default:;
   11720              :                                                   }
   11721              :                                                 break;
   11722              :                                               }
   11723              :                                             default:;
   11724              :                                             }
   11725              :                                           break;
   11726              :                                         }
   11727              :                                       default:;
   11728              :                                       }
   11729              :                                   }
   11730              :                               }
   11731              :                             break;
   11732            0 :                           case CFN_BUILT_IN_FLOORL:
   11733            0 :                             if (call_expr_nargs (_q31) == 1)
   11734              :     {
   11735            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11736            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11737              :                                   {
   11738            0 :                                     switch (TREE_CODE (_q50))
   11739              :                                       {
   11740            0 :                                       case SSA_NAME:
   11741            0 :                                         {
   11742            0 :                                           switch (TREE_CODE (_q21))
   11743              :                                             {
   11744            0 :                                             case MINUS_EXPR:
   11745            0 :                                               {
   11746            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11747            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11748            0 :                                                 switch (TREE_CODE (_q80))
   11749              :                                                   {
   11750            0 :                                                   case CALL_EXPR:
   11751            0 :                                                     switch (get_call_combined_fn (_q80))
   11752              :                                                       {
   11753            0 :                                                       case CFN_BUILT_IN_CEILL:
   11754            0 :                                                         if (call_expr_nargs (_q80) == 1)
   11755              :     {
   11756            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   11757            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   11758              :                                                               {
   11759            0 :                                                                 switch (TREE_CODE (_q90))
   11760              :                                                                   {
   11761            0 :                                                                   case SSA_NAME:
   11762            0 :                                                                     {
   11763            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11764              :                                                                         {
   11765            0 :                                                                           switch (TREE_CODE (_q81))
   11766              :                                                                             {
   11767            0 :                                                                             case SSA_NAME:
   11768            0 :                                                                               {
   11769            0 :                                                                                 switch (TREE_CODE (_p1))
   11770              :                                                                                   {
   11771            0 :                                                                                   case CALL_EXPR:
   11772            0 :                                                                                     switch (get_call_combined_fn (_p1))
   11773              :                                                                                       {
   11774            0 :                                                                                       case CFN_BUILT_IN_CEILL:
   11775            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   11776              :     {
   11777            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   11778            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   11779              :                                                                                               {
   11780            0 :                                                                                                 switch (TREE_CODE (_q140))
   11781              :                                                                                                   {
   11782            0 :                                                                                                   case SSA_NAME:
   11783            0 :                                                                                                     {
   11784            0 :                                                                                                       switch (TREE_CODE (_p2))
   11785              :                                                                                                         {
   11786            0 :                                                                                                         case CALL_EXPR:
   11787            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   11788              :                                                                                                             {
   11789            0 :                                                                                                             case CFN_BUILT_IN_FLOORL:
   11790            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   11791              :     {
   11792            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   11793            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   11794              :                                                                                                                     {
   11795            0 :                                                                                                                       switch (TREE_CODE (_q170))
   11796              :                                                                                                                         {
   11797            0 :                                                                                                                         case SSA_NAME:
   11798            0 :                                                                                                                           {
   11799            0 :                                                                                                                             {
   11800            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   11801            0 :                                                                                                                               tree res = generic_simplify_339 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   11802            0 :                                                                                                                               if (res) return res;
   11803              :                                                                                                                             }
   11804            0 :                                                                                                                             break;
   11805              :                                                                                                                           }
   11806              :                                                                                                                         default:;
   11807              :                                                                                                                         }
   11808              :                                                                                                                     }
   11809              :                                                                                                                 }
   11810              :                                                                                                               break;
   11811              :                                                                                                             default:;
   11812              :                                                                                                             }
   11813              :                                                                                                           break;
   11814              :                                                                                                         default:;
   11815              :                                                                                                         }
   11816              :                                                                                                       break;
   11817              :                                                                                                     }
   11818              :                                                                                                   default:;
   11819              :                                                                                                   }
   11820              :                                                                                               }
   11821              :                                                                                           }
   11822              :                                                                                         break;
   11823              :                                                                                       default:;
   11824              :                                                                                       }
   11825              :                                                                                     break;
   11826              :                                                                                   default:;
   11827              :                                                                                   }
   11828              :                                                                                 break;
   11829              :                                                                               }
   11830              :                                                                             default:;
   11831              :                                                                             }
   11832              :                                                                         }
   11833              :                                                                       break;
   11834              :                                                                     }
   11835              :                                                                   default:;
   11836              :                                                                   }
   11837              :                                                               }
   11838              :                                                           }
   11839              :                                                         break;
   11840              :                                                       default:;
   11841              :                                                       }
   11842              :                                                     break;
   11843              :                                                   default:;
   11844              :                                                   }
   11845              :                                                 break;
   11846              :                                               }
   11847              :                                             default:;
   11848              :                                             }
   11849              :                                           break;
   11850              :                                         }
   11851              :                                       default:;
   11852              :                                       }
   11853              :                                   }
   11854              :                               }
   11855              :                             break;
   11856            0 :                           case CFN_FLOOR:
   11857            0 :                             if (call_expr_nargs (_q31) == 1)
   11858              :     {
   11859            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11860            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11861              :                                   {
   11862            0 :                                     switch (TREE_CODE (_q50))
   11863              :                                       {
   11864            0 :                                       case SSA_NAME:
   11865            0 :                                         {
   11866            0 :                                           switch (TREE_CODE (_q21))
   11867              :                                             {
   11868            0 :                                             case MINUS_EXPR:
   11869            0 :                                               {
   11870            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11871            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11872            0 :                                                 switch (TREE_CODE (_q80))
   11873              :                                                   {
   11874            0 :                                                   case CALL_EXPR:
   11875            0 :                                                     switch (get_call_combined_fn (_q80))
   11876              :                                                       {
   11877            0 :                                                       case CFN_CEIL:
   11878            0 :                                                         if (call_expr_nargs (_q80) == 1)
   11879              :     {
   11880            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   11881            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   11882              :                                                               {
   11883            0 :                                                                 switch (TREE_CODE (_q90))
   11884              :                                                                   {
   11885            0 :                                                                   case SSA_NAME:
   11886            0 :                                                                     {
   11887            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11888              :                                                                         {
   11889            0 :                                                                           switch (TREE_CODE (_q81))
   11890              :                                                                             {
   11891            0 :                                                                             case SSA_NAME:
   11892            0 :                                                                               {
   11893            0 :                                                                                 switch (TREE_CODE (_p1))
   11894              :                                                                                   {
   11895            0 :                                                                                   case CALL_EXPR:
   11896            0 :                                                                                     switch (get_call_combined_fn (_p1))
   11897              :                                                                                       {
   11898            0 :                                                                                       case CFN_CEIL:
   11899            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   11900              :     {
   11901            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   11902            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   11903              :                                                                                               {
   11904            0 :                                                                                                 switch (TREE_CODE (_q140))
   11905              :                                                                                                   {
   11906            0 :                                                                                                   case SSA_NAME:
   11907            0 :                                                                                                     {
   11908            0 :                                                                                                       switch (TREE_CODE (_p2))
   11909              :                                                                                                         {
   11910            0 :                                                                                                         case CALL_EXPR:
   11911            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   11912              :                                                                                                             {
   11913            0 :                                                                                                             case CFN_FLOOR:
   11914            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   11915              :     {
   11916            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   11917            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   11918              :                                                                                                                     {
   11919            0 :                                                                                                                       switch (TREE_CODE (_q170))
   11920              :                                                                                                                         {
   11921            0 :                                                                                                                         case SSA_NAME:
   11922            0 :                                                                                                                           {
   11923            0 :                                                                                                                             {
   11924            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   11925            0 :                                                                                                                               tree res = generic_simplify_339 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_CEIL, CFN_FLOOR, CFN_FLOOR, CFN_CEIL);
   11926            0 :                                                                                                                               if (res) return res;
   11927              :                                                                                                                             }
   11928            0 :                                                                                                                             break;
   11929              :                                                                                                                           }
   11930              :                                                                                                                         default:;
   11931              :                                                                                                                         }
   11932              :                                                                                                                     }
   11933              :                                                                                                                 }
   11934              :                                                                                                               break;
   11935              :                                                                                                             default:;
   11936              :                                                                                                             }
   11937              :                                                                                                           break;
   11938              :                                                                                                         default:;
   11939              :                                                                                                         }
   11940              :                                                                                                       break;
   11941              :                                                                                                     }
   11942              :                                                                                                   default:;
   11943              :                                                                                                   }
   11944              :                                                                                               }
   11945              :                                                                                           }
   11946              :                                                                                         break;
   11947              :                                                                                       default:;
   11948              :                                                                                       }
   11949              :                                                                                     break;
   11950              :                                                                                   default:;
   11951              :                                                                                   }
   11952              :                                                                                 break;
   11953              :                                                                               }
   11954              :                                                                             default:;
   11955              :                                                                             }
   11956              :                                                                         }
   11957              :                                                                       break;
   11958              :                                                                     }
   11959              :                                                                   default:;
   11960              :                                                                   }
   11961              :                                                               }
   11962              :                                                           }
   11963              :                                                         break;
   11964              :                                                       default:;
   11965              :                                                       }
   11966              :                                                     break;
   11967              :                                                   default:;
   11968              :                                                   }
   11969              :                                                 break;
   11970              :                                               }
   11971              :                                             default:;
   11972              :                                             }
   11973              :                                           break;
   11974              :                                         }
   11975              :                                       default:;
   11976              :                                       }
   11977              :                                   }
   11978              :                               }
   11979              :                             break;
   11980            0 :                           case CFN_BUILT_IN_FLOOR:
   11981            0 :                             if (call_expr_nargs (_q31) == 1)
   11982              :     {
   11983            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11984            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11985              :                                   {
   11986            0 :                                     switch (TREE_CODE (_q50))
   11987              :                                       {
   11988            0 :                                       case SSA_NAME:
   11989            0 :                                         {
   11990            0 :                                           switch (TREE_CODE (_q21))
   11991              :                                             {
   11992            0 :                                             case MINUS_EXPR:
   11993            0 :                                               {
   11994            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11995            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11996            0 :                                                 switch (TREE_CODE (_q80))
   11997              :                                                   {
   11998            0 :                                                   case CALL_EXPR:
   11999            0 :                                                     switch (get_call_combined_fn (_q80))
   12000              :                                                       {
   12001            0 :                                                       case CFN_BUILT_IN_CEIL:
   12002            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12003              :     {
   12004            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12005            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12006              :                                                               {
   12007            0 :                                                                 switch (TREE_CODE (_q90))
   12008              :                                                                   {
   12009            0 :                                                                   case SSA_NAME:
   12010            0 :                                                                     {
   12011            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12012              :                                                                         {
   12013            0 :                                                                           switch (TREE_CODE (_q81))
   12014              :                                                                             {
   12015            0 :                                                                             case SSA_NAME:
   12016            0 :                                                                               {
   12017            0 :                                                                                 switch (TREE_CODE (_p1))
   12018              :                                                                                   {
   12019            0 :                                                                                   case CALL_EXPR:
   12020            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12021              :                                                                                       {
   12022            0 :                                                                                       case CFN_BUILT_IN_CEIL:
   12023            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12024              :     {
   12025            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12026            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12027              :                                                                                               {
   12028            0 :                                                                                                 switch (TREE_CODE (_q140))
   12029              :                                                                                                   {
   12030            0 :                                                                                                   case SSA_NAME:
   12031            0 :                                                                                                     {
   12032            0 :                                                                                                       switch (TREE_CODE (_p2))
   12033              :                                                                                                         {
   12034            0 :                                                                                                         case CALL_EXPR:
   12035            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12036              :                                                                                                             {
   12037            0 :                                                                                                             case CFN_BUILT_IN_FLOOR:
   12038            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12039              :     {
   12040            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12041            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12042              :                                                                                                                     {
   12043            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12044              :                                                                                                                         {
   12045            0 :                                                                                                                         case SSA_NAME:
   12046            0 :                                                                                                                           {
   12047            0 :                                                                                                                             {
   12048            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12049            0 :                                                                                                                               tree res = generic_simplify_339 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   12050            0 :                                                                                                                               if (res) return res;
   12051              :                                                                                                                             }
   12052            0 :                                                                                                                             break;
   12053              :                                                                                                                           }
   12054              :                                                                                                                         default:;
   12055              :                                                                                                                         }
   12056              :                                                                                                                     }
   12057              :                                                                                                                 }
   12058              :                                                                                                               break;
   12059              :                                                                                                             default:;
   12060              :                                                                                                             }
   12061              :                                                                                                           break;
   12062              :                                                                                                         default:;
   12063              :                                                                                                         }
   12064              :                                                                                                       break;
   12065              :                                                                                                     }
   12066              :                                                                                                   default:;
   12067              :                                                                                                   }
   12068              :                                                                                               }
   12069              :                                                                                           }
   12070              :                                                                                         break;
   12071              :                                                                                       default:;
   12072              :                                                                                       }
   12073              :                                                                                     break;
   12074              :                                                                                   default:;
   12075              :                                                                                   }
   12076              :                                                                                 break;
   12077              :                                                                               }
   12078              :                                                                             default:;
   12079              :                                                                             }
   12080              :                                                                         }
   12081              :                                                                       break;
   12082              :                                                                     }
   12083              :                                                                   default:;
   12084              :                                                                   }
   12085              :                                                               }
   12086              :                                                           }
   12087              :                                                         break;
   12088              :                                                       default:;
   12089              :                                                       }
   12090              :                                                     break;
   12091              :                                                   default:;
   12092              :                                                   }
   12093              :                                                 break;
   12094              :                                               }
   12095              :                                             default:;
   12096              :                                             }
   12097              :                                           break;
   12098              :                                         }
   12099              :                                       default:;
   12100              :                                       }
   12101              :                                   }
   12102              :                               }
   12103              :                             break;
   12104              :                           default:;
   12105              :                           }
   12106              :                         break;
   12107              :                       default:;
   12108              :                       }
   12109              :                     break;
   12110              :                   }
   12111              :                 default:;
   12112              :                 }
   12113              :               break;
   12114              :             }
   12115        53965 :           CASE_CONVERT:
   12116        53965 :             {
   12117        53965 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12118        53965 :               switch (TREE_CODE (_q21))
   12119              :                 {
   12120        25108 :                 case INTEGER_CST:
   12121        25108 :                   {
   12122        25108 :                     switch (TREE_CODE (_p1))
   12123              :                       {
   12124         9064 :                       CASE_CONVERT:
   12125         9064 :                         {
   12126         9064 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   12127         9064 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12128              :                             {
   12129         5349 :                               switch (TREE_CODE (_p2))
   12130              :                                 {
   12131         5341 :                                 case INTEGER_CST:
   12132         5341 :                                   {
   12133         5341 :                                     {
   12134         5341 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   12135         5341 :                                       tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   12136         5341 :                                       if (res) return res;
   12137              :                                     }
   12138         5341 :                                     break;
   12139              :                                   }
   12140              :                                 default:;
   12141              :                                 }
   12142              :                             }
   12143              :                           break;
   12144              :                         }
   12145        25108 :                       default:;
   12146              :                       }
   12147        25108 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   12148              :                       {
   12149          312 :                         switch (TREE_CODE (_p2))
   12150              :                           {
   12151          299 :                           case INTEGER_CST:
   12152          299 :                             {
   12153          299 :                               {
   12154          299 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   12155          299 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   12156          299 :                                 if (res) return res;
   12157              :                               }
   12158          294 :                               break;
   12159              :                             }
   12160              :                           default:;
   12161              :                           }
   12162              :                       }
   12163        25103 :                     switch (TREE_CODE (_p1))
   12164              :                       {
   12165          415 :                       case PLUS_EXPR:
   12166          415 :                         {
   12167          415 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   12168          415 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   12169          415 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12170              :                             {
   12171            0 :                               switch (TREE_CODE (_q61))
   12172              :                                 {
   12173            0 :                                 case INTEGER_CST:
   12174            0 :                                   {
   12175            0 :                                     switch (TREE_CODE (_p2))
   12176              :                                       {
   12177            0 :                                       case INTEGER_CST:
   12178            0 :                                         {
   12179            0 :                                           {
   12180            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   12181            0 :                                             tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, PLUS_EXPR);
   12182            0 :                                             if (res) return res;
   12183              :                                           }
   12184            0 :                                           break;
   12185              :                                         }
   12186              :                                       default:;
   12187              :                                       }
   12188              :                                     break;
   12189              :                                   }
   12190              :                                 default:;
   12191              :                                 }
   12192              :                             }
   12193              :                           break;
   12194              :                         }
   12195           76 :                       case MINUS_EXPR:
   12196           76 :                         {
   12197           76 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   12198           76 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   12199           76 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12200              :                             {
   12201            0 :                               switch (TREE_CODE (_q61))
   12202              :                                 {
   12203            0 :                                 case INTEGER_CST:
   12204            0 :                                   {
   12205            0 :                                     switch (TREE_CODE (_p2))
   12206              :                                       {
   12207            0 :                                       case INTEGER_CST:
   12208            0 :                                         {
   12209            0 :                                           {
   12210            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   12211            0 :                                             tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MINUS_EXPR);
   12212            0 :                                             if (res) return res;
   12213              :                                           }
   12214            0 :                                           break;
   12215              :                                         }
   12216              :                                       default:;
   12217              :                                       }
   12218              :                                     break;
   12219              :                                   }
   12220              :                                 default:;
   12221              :                                 }
   12222              :                             }
   12223              :                           break;
   12224              :                         }
   12225              :                       default:;
   12226              :                       }
   12227              :                     break;
   12228              :                   }
   12229              :                 default:;
   12230              :                 }
   12231              :               break;
   12232              :             }
   12233       543798 :           default:;
   12234              :           }
   12235       543798 :         switch (TREE_CODE (_q21))
   12236              :           {
   12237       201432 :           case INTEGER_CST:
   12238       201432 :             {
   12239       201432 :               switch (TREE_CODE (_p1))
   12240              :                 {
   12241        52863 :                 CASE_CONVERT:
   12242        52863 :                   {
   12243        52863 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12244        52863 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12245              :                       {
   12246          150 :                         switch (TREE_CODE (_p2))
   12247              :                           {
   12248           45 :                           case INTEGER_CST:
   12249           45 :                             {
   12250           45 :                               {
   12251           45 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   12252           45 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   12253           45 :                                 if (res) return res;
   12254              :                               }
   12255           45 :                               break;
   12256              :                             }
   12257              :                           default:;
   12258              :                           }
   12259              :                       }
   12260              :                     break;
   12261              :                   }
   12262       201432 :                 default:;
   12263              :                 }
   12264       201432 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12265              :                 {
   12266        40343 :                   switch (TREE_CODE (_p2))
   12267              :                     {
   12268        10469 :                     case INTEGER_CST:
   12269        10469 :                       {
   12270        10469 :                         {
   12271        10469 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   12272        10469 :                           tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   12273        10469 :                           if (res) return res;
   12274              :                         }
   12275           15 :                         break;
   12276              :                       }
   12277              :                     default:;
   12278              :                     }
   12279              :                 }
   12280       190978 :               switch (TREE_CODE (_p1))
   12281              :                 {
   12282        16630 :                 case PLUS_EXPR:
   12283        16630 :                   {
   12284        16630 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12285        16630 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   12286        16630 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12287              :                       {
   12288         6430 :                         switch (TREE_CODE (_q51))
   12289              :                           {
   12290         6430 :                           case INTEGER_CST:
   12291         6430 :                             {
   12292         6430 :                               switch (TREE_CODE (_p2))
   12293              :                                 {
   12294         6430 :                                 case INTEGER_CST:
   12295         6430 :                                   {
   12296         6430 :                                     {
   12297         6430 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   12298         6430 :                                       tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, PLUS_EXPR);
   12299         6430 :                                       if (res) return res;
   12300              :                                     }
   12301            0 :                                     break;
   12302              :                                   }
   12303              :                                 default:;
   12304              :                                 }
   12305              :                               break;
   12306              :                             }
   12307              :                           default:;
   12308              :                           }
   12309              :                       }
   12310              :                     break;
   12311              :                   }
   12312          218 :                 case MINUS_EXPR:
   12313          218 :                   {
   12314          218 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12315          218 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   12316          218 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12317              :                       {
   12318            0 :                         switch (TREE_CODE (_q51))
   12319              :                           {
   12320            0 :                           case INTEGER_CST:
   12321            0 :                             {
   12322            0 :                               switch (TREE_CODE (_p2))
   12323              :                                 {
   12324            0 :                                 case INTEGER_CST:
   12325            0 :                                   {
   12326            0 :                                     {
   12327            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   12328            0 :                                       tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MINUS_EXPR);
   12329            0 :                                       if (res) return res;
   12330              :                                     }
   12331            0 :                                     break;
   12332              :                                   }
   12333              :                                 default:;
   12334              :                                 }
   12335              :                               break;
   12336              :                             }
   12337              :                           default:;
   12338              :                           }
   12339              :                       }
   12340              :                     break;
   12341              :                   }
   12342              :                 default:;
   12343              :                 }
   12344              :               break;
   12345              :             }
   12346       526914 :           default:;
   12347              :           }
   12348       526914 :         switch (TREE_CODE (_p1))
   12349              :           {
   12350           24 :           case MIN_EXPR:
   12351           24 :             {
   12352           24 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12353           24 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12354           24 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12355              :                 {
   12356           23 :                   switch (TREE_CODE (_p2))
   12357              :                     {
   12358            0 :                     case MIN_EXPR:
   12359            0 :                       {
   12360            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12361            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12362            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12363              :                           {
   12364            0 :                             {
   12365            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   12366            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   12367            0 :                               if (res) return res;
   12368              :                             }
   12369              :                           }
   12370            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12371              :                           {
   12372            0 :                             {
   12373            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   12374            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   12375            0 :                               if (res) return res;
   12376              :                             }
   12377              :                           }
   12378              :                         break;
   12379              :                       }
   12380           23 :                     default:;
   12381              :                     }
   12382           23 :                   {
   12383           23 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   12384           23 :                     tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   12385           23 :                     if (res) return res;
   12386              :                   }
   12387              :                 }
   12388           16 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12389              :                 {
   12390            0 :                   switch (TREE_CODE (_p2))
   12391              :                     {
   12392            0 :                     case MIN_EXPR:
   12393            0 :                       {
   12394            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12395            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12396            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12397              :                           {
   12398            0 :                             {
   12399            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   12400            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   12401            0 :                               if (res) return res;
   12402              :                             }
   12403              :                           }
   12404            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12405              :                           {
   12406            0 :                             {
   12407            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   12408            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   12409            0 :                               if (res) return res;
   12410              :                             }
   12411              :                           }
   12412              :                         break;
   12413              :                       }
   12414              :                     default:;
   12415              :                     }
   12416              :                 }
   12417           16 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12418              :                 {
   12419            0 :                   switch (TREE_CODE (_p2))
   12420              :                     {
   12421            0 :                     case MIN_EXPR:
   12422            0 :                       {
   12423            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12424            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12425            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12426              :                           {
   12427            0 :                             {
   12428            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   12429            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   12430            0 :                               if (res) return res;
   12431              :                             }
   12432              :                           }
   12433            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12434              :                           {
   12435            0 :                             {
   12436            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   12437            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   12438            0 :                               if (res) return res;
   12439              :                             }
   12440              :                           }
   12441              :                         break;
   12442              :                       }
   12443              :                     default:;
   12444              :                     }
   12445              :                 }
   12446           16 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12447              :                 {
   12448            0 :                   switch (TREE_CODE (_p2))
   12449              :                     {
   12450            0 :                     case MIN_EXPR:
   12451            0 :                       {
   12452            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12453            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12454            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12455              :                           {
   12456            0 :                             {
   12457            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   12458            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   12459            0 :                               if (res) return res;
   12460              :                             }
   12461              :                           }
   12462            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12463              :                           {
   12464            0 :                             {
   12465            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   12466            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   12467            0 :                               if (res) return res;
   12468              :                             }
   12469              :                           }
   12470              :                         break;
   12471              :                       }
   12472              :                     default:;
   12473              :                     }
   12474              :                 }
   12475           16 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12476              :                 {
   12477            0 :                   {
   12478            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   12479            0 :                     tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   12480            0 :                     if (res) return res;
   12481              :                   }
   12482              :                 }
   12483              :               break;
   12484              :             }
   12485            9 :           case MAX_EXPR:
   12486            9 :             {
   12487            9 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12488            9 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12489            9 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12490              :                 {
   12491            1 :                   switch (TREE_CODE (_p2))
   12492              :                     {
   12493            0 :                     case MAX_EXPR:
   12494            0 :                       {
   12495            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12496            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12497            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12498              :                           {
   12499            0 :                             {
   12500            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   12501            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   12502            0 :                               if (res) return res;
   12503              :                             }
   12504              :                           }
   12505            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12506              :                           {
   12507            0 :                             {
   12508            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   12509            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   12510            0 :                               if (res) return res;
   12511              :                             }
   12512              :                           }
   12513              :                         break;
   12514              :                       }
   12515              :                     default:;
   12516              :                     }
   12517              :                 }
   12518            9 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12519              :                 {
   12520            1 :                   switch (TREE_CODE (_p2))
   12521              :                     {
   12522            0 :                     case MAX_EXPR:
   12523            0 :                       {
   12524            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12525            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12526            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12527              :                           {
   12528            0 :                             {
   12529            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   12530            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   12531            0 :                               if (res) return res;
   12532              :                             }
   12533              :                           }
   12534            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12535              :                           {
   12536            0 :                             {
   12537            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   12538            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   12539            0 :                               if (res) return res;
   12540              :                             }
   12541              :                           }
   12542              :                         break;
   12543              :                       }
   12544              :                     default:;
   12545              :                     }
   12546              :                 }
   12547            9 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12548              :                 {
   12549            1 :                   switch (TREE_CODE (_p2))
   12550              :                     {
   12551            0 :                     case MAX_EXPR:
   12552            0 :                       {
   12553            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12554            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12555            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12556              :                           {
   12557            0 :                             {
   12558            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   12559            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   12560            0 :                               if (res) return res;
   12561              :                             }
   12562              :                           }
   12563            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12564              :                           {
   12565            0 :                             {
   12566            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   12567            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   12568            0 :                               if (res) return res;
   12569              :                             }
   12570              :                           }
   12571              :                         break;
   12572              :                       }
   12573            1 :                     default:;
   12574              :                     }
   12575            1 :                   {
   12576            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   12577            1 :                     tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   12578            1 :                     if (res) return res;
   12579              :                   }
   12580              :                 }
   12581            8 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12582              :                 {
   12583            8 :                   switch (TREE_CODE (_p2))
   12584              :                     {
   12585            0 :                     case MAX_EXPR:
   12586            0 :                       {
   12587            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12588            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12589            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12590              :                           {
   12591            0 :                             {
   12592            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   12593            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   12594            0 :                               if (res) return res;
   12595              :                             }
   12596              :                           }
   12597            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12598              :                           {
   12599            0 :                             {
   12600            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   12601            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   12602            0 :                               if (res) return res;
   12603              :                             }
   12604              :                           }
   12605              :                         break;
   12606              :                       }
   12607            8 :                     default:;
   12608              :                     }
   12609            8 :                   {
   12610            8 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   12611            8 :                     tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   12612            8 :                     if (res) return res;
   12613              :                   }
   12614              :                 }
   12615              :               break;
   12616              :             }
   12617       526904 :           default:;
   12618              :           }
   12619       526904 :         {
   12620       526904 :           tree _q20_pops[1];
   12621       526904 :           if (tree_nop_convert (_q20, _q20_pops))
   12622              :             {
   12623        21206 :               tree _q30 = _q20_pops[0];
   12624        21206 :               if (integer_zerop (_q21))
   12625              :                 {
   12626        18022 :                   switch (TREE_CODE (_p1))
   12627              :                     {
   12628            0 :                     case MAX_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[5] ATTRIBUTE_UNUSED = { _q30, _q21, _p1, _q61, _p2 };
   12644            0 :                                           tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_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              :                 }
   12661              :             }
   12662              :         }
   12663       526904 :         if (tree_expr_nonnegative_p (_q21))
   12664              :           {
   12665       377503 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12666              :               {
   12667        29947 :                 switch (TREE_CODE (_p2))
   12668              :                   {
   12669            0 :                   case ABS_EXPR:
   12670            0 :                     {
   12671            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   12672            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   12673              :                         {
   12674            0 :                           {
   12675            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   12676            0 :                             tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   12677            0 :                             if (res) return res;
   12678              :                           }
   12679              :                         }
   12680              :                       break;
   12681              :                     }
   12682              :                   default:;
   12683              :                   }
   12684              :               }
   12685              :           }
   12686              :         break;
   12687              :       }
   12688       949727 :     case GT_EXPR:
   12689       949727 :       {
   12690       949727 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12691       949727 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12692       949727 :         switch (TREE_CODE (_q20))
   12693              :           {
   12694          962 :           case MINUS_EXPR:
   12695          962 :             {
   12696          962 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12697          962 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12698          962 :               switch (TREE_CODE (_q30))
   12699              :                 {
   12700            0 :                 case CALL_EXPR:
   12701            0 :                   switch (get_call_combined_fn (_q30))
   12702              :                     {
   12703            0 :                     case CFN_BUILT_IN_CEIL:
   12704            0 :                       if (call_expr_nargs (_q30) == 1)
   12705              :     {
   12706            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   12707            0 :                           switch (TREE_CODE (_q40))
   12708              :                             {
   12709            0 :                             case SSA_NAME:
   12710            0 :                               {
   12711            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   12712              :                                   {
   12713            0 :                                     switch (TREE_CODE (_q31))
   12714              :                                       {
   12715            0 :                                       case SSA_NAME:
   12716            0 :                                         {
   12717            0 :                                           switch (TREE_CODE (_q21))
   12718              :                                             {
   12719            0 :                                             case MINUS_EXPR:
   12720            0 :                                               {
   12721            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12722            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12723            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   12724              :                                                   {
   12725            0 :                                                     switch (TREE_CODE (_q80))
   12726              :                                                       {
   12727            0 :                                                       case SSA_NAME:
   12728            0 :                                                         {
   12729            0 :                                                           switch (TREE_CODE (_q81))
   12730              :                                                             {
   12731            0 :                                                             case CALL_EXPR:
   12732            0 :                                                               switch (get_call_combined_fn (_q81))
   12733              :                                                                 {
   12734            0 :                                                                 case CFN_BUILT_IN_FLOOR:
   12735            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   12736              :     {
   12737            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   12738            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   12739              :                                                                         {
   12740            0 :                                                                           switch (TREE_CODE (_q110))
   12741              :                                                                             {
   12742            0 :                                                                             case SSA_NAME:
   12743            0 :                                                                               {
   12744            0 :                                                                                 switch (TREE_CODE (_p1))
   12745              :                                                                                   {
   12746            0 :                                                                                   case CALL_EXPR:
   12747            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12748              :                                                                                       {
   12749            0 :                                                                                       case CFN_BUILT_IN_FLOOR:
   12750            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12751              :     {
   12752            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12753            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   12754              :                                                                                               {
   12755            0 :                                                                                                 switch (TREE_CODE (_q140))
   12756              :                                                                                                   {
   12757            0 :                                                                                                   case SSA_NAME:
   12758            0 :                                                                                                     {
   12759            0 :                                                                                                       switch (TREE_CODE (_p2))
   12760              :                                                                                                         {
   12761            0 :                                                                                                         case CALL_EXPR:
   12762            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12763              :                                                                                                             {
   12764            0 :                                                                                                             case CFN_BUILT_IN_CEIL:
   12765            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12766              :     {
   12767            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12768            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   12769              :                                                                                                                     {
   12770            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12771              :                                                                                                                         {
   12772            0 :                                                                                                                         case SSA_NAME:
   12773            0 :                                                                                                                           {
   12774            0 :                                                                                                                             {
   12775            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   12776            0 :                                                                                                                               tree res = generic_simplify_339 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   12777            0 :                                                                                                                               if (res) return res;
   12778              :                                                                                                                             }
   12779            0 :                                                                                                                             break;
   12780              :                                                                                                                           }
   12781              :                                                                                                                         default:;
   12782              :                                                                                                                         }
   12783              :                                                                                                                     }
   12784              :                                                                                                                 }
   12785              :                                                                                                               break;
   12786              :                                                                                                             default:;
   12787              :                                                                                                             }
   12788              :                                                                                                           break;
   12789              :                                                                                                         default:;
   12790              :                                                                                                         }
   12791              :                                                                                                       break;
   12792              :                                                                                                     }
   12793              :                                                                                                   default:;
   12794              :                                                                                                   }
   12795              :                                                                                               }
   12796              :                                                                                           }
   12797              :                                                                                         break;
   12798              :                                                                                       default:;
   12799              :                                                                                       }
   12800              :                                                                                     break;
   12801              :                                                                                   default:;
   12802              :                                                                                   }
   12803              :                                                                                 break;
   12804              :                                                                               }
   12805              :                                                                             default:;
   12806              :                                                                             }
   12807              :                                                                         }
   12808              :                                                                     }
   12809              :                                                                   break;
   12810              :                                                                 default:;
   12811              :                                                                 }
   12812              :                                                               break;
   12813              :                                                             default:;
   12814              :                                                             }
   12815              :                                                           break;
   12816              :                                                         }
   12817              :                                                       default:;
   12818              :                                                       }
   12819              :                                                   }
   12820              :                                                 break;
   12821              :                                               }
   12822              :                                             default:;
   12823              :                                             }
   12824              :                                           break;
   12825              :                                         }
   12826              :                                       default:;
   12827              :                                       }
   12828              :                                   }
   12829              :                                 break;
   12830              :                               }
   12831              :                             default:;
   12832              :                             }
   12833              :                         }
   12834              :                       break;
   12835            0 :                     case CFN_CEIL:
   12836            0 :                       if (call_expr_nargs (_q30) == 1)
   12837              :     {
   12838            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   12839            0 :                           switch (TREE_CODE (_q40))
   12840              :                             {
   12841            0 :                             case SSA_NAME:
   12842            0 :                               {
   12843            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   12844              :                                   {
   12845            0 :                                     switch (TREE_CODE (_q31))
   12846              :                                       {
   12847            0 :                                       case SSA_NAME:
   12848            0 :                                         {
   12849            0 :                                           switch (TREE_CODE (_q21))
   12850              :                                             {
   12851            0 :                                             case MINUS_EXPR:
   12852            0 :                                               {
   12853            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12854            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12855            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   12856              :                                                   {
   12857            0 :                                                     switch (TREE_CODE (_q80))
   12858              :                                                       {
   12859            0 :                                                       case SSA_NAME:
   12860            0 :                                                         {
   12861            0 :                                                           switch (TREE_CODE (_q81))
   12862              :                                                             {
   12863            0 :                                                             case CALL_EXPR:
   12864            0 :                                                               switch (get_call_combined_fn (_q81))
   12865              :                                                                 {
   12866            0 :                                                                 case CFN_FLOOR:
   12867            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   12868              :     {
   12869            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   12870            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   12871              :                                                                         {
   12872            0 :                                                                           switch (TREE_CODE (_q110))
   12873              :                                                                             {
   12874            0 :                                                                             case SSA_NAME:
   12875            0 :                                                                               {
   12876            0 :                                                                                 switch (TREE_CODE (_p1))
   12877              :                                                                                   {
   12878            0 :                                                                                   case CALL_EXPR:
   12879            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12880              :                                                                                       {
   12881            0 :                                                                                       case CFN_FLOOR:
   12882            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12883              :     {
   12884            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12885            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   12886              :                                                                                               {
   12887            0 :                                                                                                 switch (TREE_CODE (_q140))
   12888              :                                                                                                   {
   12889            0 :                                                                                                   case SSA_NAME:
   12890            0 :                                                                                                     {
   12891            0 :                                                                                                       switch (TREE_CODE (_p2))
   12892              :                                                                                                         {
   12893            0 :                                                                                                         case CALL_EXPR:
   12894            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12895              :                                                                                                             {
   12896            0 :                                                                                                             case CFN_CEIL:
   12897            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12898              :     {
   12899            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12900            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   12901              :                                                                                                                     {
   12902            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12903              :                                                                                                                         {
   12904            0 :                                                                                                                         case SSA_NAME:
   12905            0 :                                                                                                                           {
   12906            0 :                                                                                                                             {
   12907            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   12908            0 :                                                                                                                               tree res = generic_simplify_339 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_FLOOR, CFN_CEIL, CFN_FLOOR, CFN_CEIL);
   12909            0 :                                                                                                                               if (res) return res;
   12910              :                                                                                                                             }
   12911            0 :                                                                                                                             break;
   12912              :                                                                                                                           }
   12913              :                                                                                                                         default:;
   12914              :                                                                                                                         }
   12915              :                                                                                                                     }
   12916              :                                                                                                                 }
   12917              :                                                                                                               break;
   12918              :                                                                                                             default:;
   12919              :                                                                                                             }
   12920              :                                                                                                           break;
   12921              :                                                                                                         default:;
   12922              :                                                                                                         }
   12923              :                                                                                                       break;
   12924              :                                                                                                     }
   12925              :                                                                                                   default:;
   12926              :                                                                                                   }
   12927              :                                                                                               }
   12928              :                                                                                           }
   12929              :                                                                                         break;
   12930              :                                                                                       default:;
   12931              :                                                                                       }
   12932              :                                                                                     break;
   12933              :                                                                                   default:;
   12934              :                                                                                   }
   12935              :                                                                                 break;
   12936              :                                                                               }
   12937              :                                                                             default:;
   12938              :                                                                             }
   12939              :                                                                         }
   12940              :                                                                     }
   12941              :                                                                   break;
   12942              :                                                                 default:;
   12943              :                                                                 }
   12944              :                                                               break;
   12945              :                                                             default:;
   12946              :                                                             }
   12947              :                                                           break;
   12948              :                                                         }
   12949              :                                                       default:;
   12950              :                                                       }
   12951              :                                                   }
   12952              :                                                 break;
   12953              :                                               }
   12954              :                                             default:;
   12955              :                                             }
   12956              :                                           break;
   12957              :                                         }
   12958              :                                       default:;
   12959              :                                       }
   12960              :                                   }
   12961              :                                 break;
   12962              :                               }
   12963              :                             default:;
   12964              :                             }
   12965              :                         }
   12966              :                       break;
   12967            0 :                     case CFN_BUILT_IN_CEILF:
   12968            0 :                       if (call_expr_nargs (_q30) == 1)
   12969              :     {
   12970            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   12971            0 :                           switch (TREE_CODE (_q40))
   12972              :                             {
   12973            0 :                             case SSA_NAME:
   12974            0 :                               {
   12975            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   12976              :                                   {
   12977            0 :                                     switch (TREE_CODE (_q31))
   12978              :                                       {
   12979            0 :                                       case SSA_NAME:
   12980            0 :                                         {
   12981            0 :                                           switch (TREE_CODE (_q21))
   12982              :                                             {
   12983            0 :                                             case MINUS_EXPR:
   12984            0 :                                               {
   12985            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12986            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12987            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   12988              :                                                   {
   12989            0 :                                                     switch (TREE_CODE (_q80))
   12990              :                                                       {
   12991            0 :                                                       case SSA_NAME:
   12992            0 :                                                         {
   12993            0 :                                                           switch (TREE_CODE (_q81))
   12994              :                                                             {
   12995            0 :                                                             case CALL_EXPR:
   12996            0 :                                                               switch (get_call_combined_fn (_q81))
   12997              :                                                                 {
   12998            0 :                                                                 case CFN_BUILT_IN_FLOORF:
   12999            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   13000              :     {
   13001            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   13002            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   13003              :                                                                         {
   13004            0 :                                                                           switch (TREE_CODE (_q110))
   13005              :                                                                             {
   13006            0 :                                                                             case SSA_NAME:
   13007            0 :                                                                               {
   13008            0 :                                                                                 switch (TREE_CODE (_p1))
   13009              :                                                                                   {
   13010            0 :                                                                                   case CALL_EXPR:
   13011            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13012              :                                                                                       {
   13013            0 :                                                                                       case CFN_BUILT_IN_FLOORF:
   13014            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13015              :     {
   13016            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13017            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   13018              :                                                                                               {
   13019            0 :                                                                                                 switch (TREE_CODE (_q140))
   13020              :                                                                                                   {
   13021            0 :                                                                                                   case SSA_NAME:
   13022            0 :                                                                                                     {
   13023            0 :                                                                                                       switch (TREE_CODE (_p2))
   13024              :                                                                                                         {
   13025            0 :                                                                                                         case CALL_EXPR:
   13026            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13027              :                                                                                                             {
   13028            0 :                                                                                                             case CFN_BUILT_IN_CEILF:
   13029            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13030              :     {
   13031            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13032            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   13033              :                                                                                                                     {
   13034            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13035              :                                                                                                                         {
   13036            0 :                                                                                                                         case SSA_NAME:
   13037            0 :                                                                                                                           {
   13038            0 :                                                                                                                             {
   13039            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   13040            0 :                                                                                                                               tree res = generic_simplify_339 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   13041            0 :                                                                                                                               if (res) return res;
   13042              :                                                                                                                             }
   13043            0 :                                                                                                                             break;
   13044              :                                                                                                                           }
   13045              :                                                                                                                         default:;
   13046              :                                                                                                                         }
   13047              :                                                                                                                     }
   13048              :                                                                                                                 }
   13049              :                                                                                                               break;
   13050              :                                                                                                             default:;
   13051              :                                                                                                             }
   13052              :                                                                                                           break;
   13053              :                                                                                                         default:;
   13054              :                                                                                                         }
   13055              :                                                                                                       break;
   13056              :                                                                                                     }
   13057              :                                                                                                   default:;
   13058              :                                                                                                   }
   13059              :                                                                                               }
   13060              :                                                                                           }
   13061              :                                                                                         break;
   13062              :                                                                                       default:;
   13063              :                                                                                       }
   13064              :                                                                                     break;
   13065              :                                                                                   default:;
   13066              :                                                                                   }
   13067              :                                                                                 break;
   13068              :                                                                               }
   13069              :                                                                             default:;
   13070              :                                                                             }
   13071              :                                                                         }
   13072              :                                                                     }
   13073              :                                                                   break;
   13074              :                                                                 default:;
   13075              :                                                                 }
   13076              :                                                               break;
   13077              :                                                             default:;
   13078              :                                                             }
   13079              :                                                           break;
   13080              :                                                         }
   13081              :                                                       default:;
   13082              :                                                       }
   13083              :                                                   }
   13084              :                                                 break;
   13085              :                                               }
   13086              :                                             default:;
   13087              :                                             }
   13088              :                                           break;
   13089              :                                         }
   13090              :                                       default:;
   13091              :                                       }
   13092              :                                   }
   13093              :                                 break;
   13094              :                               }
   13095              :                             default:;
   13096              :                             }
   13097              :                         }
   13098              :                       break;
   13099            0 :                     case CFN_BUILT_IN_CEILL:
   13100            0 :                       if (call_expr_nargs (_q30) == 1)
   13101              :     {
   13102            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13103            0 :                           switch (TREE_CODE (_q40))
   13104              :                             {
   13105            0 :                             case SSA_NAME:
   13106            0 :                               {
   13107            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   13108              :                                   {
   13109            0 :                                     switch (TREE_CODE (_q31))
   13110              :                                       {
   13111            0 :                                       case SSA_NAME:
   13112            0 :                                         {
   13113            0 :                                           switch (TREE_CODE (_q21))
   13114              :                                             {
   13115            0 :                                             case MINUS_EXPR:
   13116            0 :                                               {
   13117            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13118            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13119            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   13120              :                                                   {
   13121            0 :                                                     switch (TREE_CODE (_q80))
   13122              :                                                       {
   13123            0 :                                                       case SSA_NAME:
   13124            0 :                                                         {
   13125            0 :                                                           switch (TREE_CODE (_q81))
   13126              :                                                             {
   13127            0 :                                                             case CALL_EXPR:
   13128            0 :                                                               switch (get_call_combined_fn (_q81))
   13129              :                                                                 {
   13130            0 :                                                                 case CFN_BUILT_IN_FLOORL:
   13131            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   13132              :     {
   13133            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   13134            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   13135              :                                                                         {
   13136            0 :                                                                           switch (TREE_CODE (_q110))
   13137              :                                                                             {
   13138            0 :                                                                             case SSA_NAME:
   13139            0 :                                                                               {
   13140            0 :                                                                                 switch (TREE_CODE (_p1))
   13141              :                                                                                   {
   13142            0 :                                                                                   case CALL_EXPR:
   13143            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13144              :                                                                                       {
   13145            0 :                                                                                       case CFN_BUILT_IN_FLOORL:
   13146            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13147              :     {
   13148            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13149            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   13150              :                                                                                               {
   13151            0 :                                                                                                 switch (TREE_CODE (_q140))
   13152              :                                                                                                   {
   13153            0 :                                                                                                   case SSA_NAME:
   13154            0 :                                                                                                     {
   13155            0 :                                                                                                       switch (TREE_CODE (_p2))
   13156              :                                                                                                         {
   13157            0 :                                                                                                         case CALL_EXPR:
   13158            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13159              :                                                                                                             {
   13160            0 :                                                                                                             case CFN_BUILT_IN_CEILL:
   13161            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13162              :     {
   13163            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13164            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   13165              :                                                                                                                     {
   13166            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13167              :                                                                                                                         {
   13168            0 :                                                                                                                         case SSA_NAME:
   13169            0 :                                                                                                                           {
   13170            0 :                                                                                                                             {
   13171            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   13172            0 :                                                                                                                               tree res = generic_simplify_339 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   13173            0 :                                                                                                                               if (res) return res;
   13174              :                                                                                                                             }
   13175            0 :                                                                                                                             break;
   13176              :                                                                                                                           }
   13177              :                                                                                                                         default:;
   13178              :                                                                                                                         }
   13179              :                                                                                                                     }
   13180              :                                                                                                                 }
   13181              :                                                                                                               break;
   13182              :                                                                                                             default:;
   13183              :                                                                                                             }
   13184              :                                                                                                           break;
   13185              :                                                                                                         default:;
   13186              :                                                                                                         }
   13187              :                                                                                                       break;
   13188              :                                                                                                     }
   13189              :                                                                                                   default:;
   13190              :                                                                                                   }
   13191              :                                                                                               }
   13192              :                                                                                           }
   13193              :                                                                                         break;
   13194              :                                                                                       default:;
   13195              :                                                                                       }
   13196              :                                                                                     break;
   13197              :                                                                                   default:;
   13198              :                                                                                   }
   13199              :                                                                                 break;
   13200              :                                                                               }
   13201              :                                                                             default:;
   13202              :                                                                             }
   13203              :                                                                         }
   13204              :                                                                     }
   13205              :                                                                   break;
   13206              :                                                                 default:;
   13207              :                                                                 }
   13208              :                                                               break;
   13209              :                                                             default:;
   13210              :                                                             }
   13211              :                                                           break;
   13212              :                                                         }
   13213              :                                                       default:;
   13214              :                                                       }
   13215              :                                                   }
   13216              :                                                 break;
   13217              :                                               }
   13218              :                                             default:;
   13219              :                                             }
   13220              :                                           break;
   13221              :                                         }
   13222              :                                       default:;
   13223              :                                       }
   13224              :                                   }
   13225              :                                 break;
   13226              :                               }
   13227              :                             default:;
   13228              :                             }
   13229              :                         }
   13230              :                       break;
   13231              :                     default:;
   13232              :                     }
   13233              :                   break;
   13234              :                 default:;
   13235              :                 }
   13236              :               break;
   13237              :             }
   13238        93410 :           CASE_CONVERT:
   13239        93410 :             {
   13240        93410 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13241        93410 :               switch (TREE_CODE (_q21))
   13242              :                 {
   13243         4137 :                 case INTEGER_CST:
   13244         4137 :                   {
   13245         4137 :                     switch (TREE_CODE (_p1))
   13246              :                       {
   13247          169 :                       CASE_CONVERT:
   13248          169 :                         {
   13249          169 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13250          169 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13251              :                             {
   13252           63 :                               switch (TREE_CODE (_p2))
   13253              :                                 {
   13254           62 :                                 case INTEGER_CST:
   13255           62 :                                   {
   13256           62 :                                     {
   13257           62 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   13258           62 :                                       tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   13259           62 :                                       if (res) return res;
   13260              :                                     }
   13261           62 :                                     break;
   13262              :                                   }
   13263              :                                 default:;
   13264              :                                 }
   13265              :                             }
   13266              :                           break;
   13267              :                         }
   13268         4137 :                       default:;
   13269              :                       }
   13270         4137 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   13271              :                       {
   13272            5 :                         switch (TREE_CODE (_p2))
   13273              :                           {
   13274            3 :                           case INTEGER_CST:
   13275            3 :                             {
   13276            3 :                               {
   13277            3 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   13278            3 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   13279            3 :                                 if (res) return res;
   13280              :                               }
   13281            3 :                               break;
   13282              :                             }
   13283              :                           default:;
   13284              :                           }
   13285              :                       }
   13286         4137 :                     switch (TREE_CODE (_p1))
   13287              :                       {
   13288         1266 :                       case PLUS_EXPR:
   13289         1266 :                         {
   13290         1266 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13291         1266 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   13292         1266 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13293              :                             {
   13294           24 :                               switch (TREE_CODE (_q61))
   13295              :                                 {
   13296           24 :                                 case INTEGER_CST:
   13297           24 :                                   {
   13298           24 :                                     switch (TREE_CODE (_p2))
   13299              :                                       {
   13300           24 :                                       case INTEGER_CST:
   13301           24 :                                         {
   13302           24 :                                           {
   13303           24 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   13304           24 :                                             tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, PLUS_EXPR);
   13305           24 :                                             if (res) return res;
   13306              :                                           }
   13307           24 :                                           break;
   13308              :                                         }
   13309              :                                       default:;
   13310              :                                       }
   13311              :                                     break;
   13312              :                                   }
   13313              :                                 default:;
   13314              :                                 }
   13315              :                             }
   13316              :                           break;
   13317              :                         }
   13318            0 :                       case MINUS_EXPR:
   13319            0 :                         {
   13320            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13321            0 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   13322            0 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13323              :                             {
   13324            0 :                               switch (TREE_CODE (_q61))
   13325              :                                 {
   13326            0 :                                 case INTEGER_CST:
   13327            0 :                                   {
   13328            0 :                                     switch (TREE_CODE (_p2))
   13329              :                                       {
   13330            0 :                                       case INTEGER_CST:
   13331            0 :                                         {
   13332            0 :                                           {
   13333            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   13334            0 :                                             tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MINUS_EXPR);
   13335            0 :                                             if (res) return res;
   13336              :                                           }
   13337            0 :                                           break;
   13338              :                                         }
   13339              :                                       default:;
   13340              :                                       }
   13341              :                                     break;
   13342              :                                   }
   13343              :                                 default:;
   13344              :                                 }
   13345              :                             }
   13346              :                           break;
   13347              :                         }
   13348              :                       default:;
   13349              :                       }
   13350              :                     break;
   13351              :                   }
   13352              :                 default:;
   13353              :                 }
   13354              :               break;
   13355              :             }
   13356       949727 :           default:;
   13357              :           }
   13358       949727 :         switch (TREE_CODE (_q21))
   13359              :           {
   13360       512495 :           case INTEGER_CST:
   13361       512495 :             {
   13362       512495 :               switch (TREE_CODE (_p1))
   13363              :                 {
   13364        49961 :                 CASE_CONVERT:
   13365        49961 :                   {
   13366        49961 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13367        49961 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13368              :                       {
   13369         9920 :                         switch (TREE_CODE (_p2))
   13370              :                           {
   13371         9885 :                           case INTEGER_CST:
   13372         9885 :                             {
   13373         9885 :                               {
   13374         9885 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13375         9885 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   13376         9885 :                                 if (res) return res;
   13377              :                               }
   13378         9619 :                               break;
   13379              :                             }
   13380              :                           default:;
   13381              :                           }
   13382              :                       }
   13383              :                     break;
   13384              :                   }
   13385       512229 :                 default:;
   13386              :                 }
   13387       512229 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13388              :                 {
   13389         8805 :                   switch (TREE_CODE (_p2))
   13390              :                     {
   13391         8655 :                     case INTEGER_CST:
   13392         8655 :                       {
   13393         8655 :                         {
   13394         8655 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13395         8655 :                           tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   13396         8655 :                           if (res) return res;
   13397              :                         }
   13398           31 :                         break;
   13399              :                       }
   13400              :                     default:;
   13401              :                     }
   13402              :                 }
   13403       503605 :               switch (TREE_CODE (_p1))
   13404              :                 {
   13405        42761 :                 case PLUS_EXPR:
   13406        42761 :                   {
   13407        42761 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13408        42761 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   13409        42761 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13410              :                       {
   13411          735 :                         switch (TREE_CODE (_q51))
   13412              :                           {
   13413          735 :                           case INTEGER_CST:
   13414          735 :                             {
   13415          735 :                               switch (TREE_CODE (_p2))
   13416              :                                 {
   13417          727 :                                 case INTEGER_CST:
   13418          727 :                                   {
   13419          727 :                                     {
   13420          727 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   13421          727 :                                       tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, PLUS_EXPR);
   13422          727 :                                       if (res) return res;
   13423              :                                     }
   13424           17 :                                     break;
   13425              :                                   }
   13426              :                                 default:;
   13427              :                                 }
   13428              :                               break;
   13429              :                             }
   13430              :                           default:;
   13431              :                           }
   13432              :                       }
   13433              :                     break;
   13434              :                   }
   13435          200 :                 case MINUS_EXPR:
   13436          200 :                   {
   13437          200 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13438          200 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   13439          200 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13440              :                       {
   13441            4 :                         switch (TREE_CODE (_q51))
   13442              :                           {
   13443            0 :                           case INTEGER_CST:
   13444            0 :                             {
   13445            0 :                               switch (TREE_CODE (_p2))
   13446              :                                 {
   13447            0 :                                 case INTEGER_CST:
   13448            0 :                                   {
   13449            0 :                                     {
   13450            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   13451            0 :                                       tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MINUS_EXPR);
   13452            0 :                                       if (res) return res;
   13453              :                                     }
   13454            0 :                                     break;
   13455              :                                   }
   13456              :                                 default:;
   13457              :                                 }
   13458              :                               break;
   13459              :                             }
   13460              :                           default:;
   13461              :                           }
   13462              :                       }
   13463              :                     break;
   13464              :                   }
   13465              :                 default:;
   13466              :                 }
   13467              :               break;
   13468              :             }
   13469       940127 :           default:;
   13470              :           }
   13471       940127 :         switch (TREE_CODE (_p1))
   13472              :           {
   13473           18 :           case MIN_EXPR:
   13474           18 :             {
   13475           18 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13476           18 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13477           18 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13478              :                 {
   13479            7 :                   switch (TREE_CODE (_p2))
   13480              :                     {
   13481            0 :                     case MIN_EXPR:
   13482            0 :                       {
   13483            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13484            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13485            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13486              :                           {
   13487            0 :                             {
   13488            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   13489            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   13490            0 :                               if (res) return res;
   13491              :                             }
   13492              :                           }
   13493            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13494              :                           {
   13495            0 :                             {
   13496            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   13497            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   13498            0 :                               if (res) return res;
   13499              :                             }
   13500              :                           }
   13501              :                         break;
   13502              :                       }
   13503            7 :                     default:;
   13504              :                     }
   13505            7 :                   {
   13506            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   13507            7 :                     tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   13508            7 :                     if (res) return res;
   13509              :                   }
   13510              :                 }
   13511           18 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13512              :                 {
   13513            0 :                   switch (TREE_CODE (_p2))
   13514              :                     {
   13515            0 :                     case MIN_EXPR:
   13516            0 :                       {
   13517            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13518            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13519            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13520              :                           {
   13521            0 :                             {
   13522            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   13523            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   13524            0 :                               if (res) return res;
   13525              :                             }
   13526              :                           }
   13527            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13528              :                           {
   13529            0 :                             {
   13530            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   13531            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   13532            0 :                               if (res) return res;
   13533              :                             }
   13534              :                           }
   13535              :                         break;
   13536              :                       }
   13537              :                     default:;
   13538              :                     }
   13539              :                 }
   13540           18 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13541              :                 {
   13542            8 :                   switch (TREE_CODE (_p2))
   13543              :                     {
   13544            0 :                     case MIN_EXPR:
   13545            0 :                       {
   13546            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13547            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13548            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13549              :                           {
   13550            0 :                             {
   13551            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   13552            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   13553            0 :                               if (res) return res;
   13554              :                             }
   13555              :                           }
   13556            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13557              :                           {
   13558            0 :                             {
   13559            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   13560            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   13561            0 :                               if (res) return res;
   13562              :                             }
   13563              :                           }
   13564              :                         break;
   13565              :                       }
   13566              :                     default:;
   13567              :                     }
   13568              :                 }
   13569           18 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13570              :                 {
   13571            7 :                   switch (TREE_CODE (_p2))
   13572              :                     {
   13573            0 :                     case MIN_EXPR:
   13574            0 :                       {
   13575            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13576            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13577            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13578              :                           {
   13579            0 :                             {
   13580            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   13581            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   13582            0 :                               if (res) return res;
   13583              :                             }
   13584              :                           }
   13585            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13586              :                           {
   13587            0 :                             {
   13588            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   13589            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   13590            0 :                               if (res) return res;
   13591              :                             }
   13592              :                           }
   13593              :                         break;
   13594              :                       }
   13595              :                     default:;
   13596              :                     }
   13597              :                 }
   13598           18 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13599              :                 {
   13600            0 :                   {
   13601            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   13602            0 :                     tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   13603            0 :                     if (res) return res;
   13604              :                   }
   13605              :                 }
   13606              :               break;
   13607              :             }
   13608          100 :           case MAX_EXPR:
   13609          100 :             {
   13610          100 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13611          100 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13612          100 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13613              :                 {
   13614            0 :                   switch (TREE_CODE (_p2))
   13615              :                     {
   13616            0 :                     case MAX_EXPR:
   13617            0 :                       {
   13618            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13619            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13620            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13621              :                           {
   13622            0 :                             {
   13623            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   13624            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   13625            0 :                               if (res) return res;
   13626              :                             }
   13627              :                           }
   13628            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13629              :                           {
   13630            0 :                             {
   13631            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   13632            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   13633            0 :                               if (res) return res;
   13634              :                             }
   13635              :                           }
   13636              :                         break;
   13637              :                       }
   13638              :                     default:;
   13639              :                     }
   13640              :                 }
   13641          100 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13642              :                 {
   13643            2 :                   switch (TREE_CODE (_p2))
   13644              :                     {
   13645            1 :                     case MAX_EXPR:
   13646            1 :                       {
   13647            1 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13648            1 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13649            1 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13650              :                           {
   13651            0 :                             {
   13652            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   13653            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   13654            0 :                               if (res) return res;
   13655              :                             }
   13656              :                           }
   13657            1 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13658              :                           {
   13659            1 :                             {
   13660            1 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   13661            1 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   13662            1 :                               if (res) return res;
   13663              :                             }
   13664              :                           }
   13665              :                         break;
   13666              :                       }
   13667              :                     default:;
   13668              :                     }
   13669              :                 }
   13670           99 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13671              :                 {
   13672            1 :                   switch (TREE_CODE (_p2))
   13673              :                     {
   13674            0 :                     case MAX_EXPR:
   13675            0 :                       {
   13676            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13677            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13678            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13679              :                           {
   13680            0 :                             {
   13681            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   13682            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   13683            0 :                               if (res) return res;
   13684              :                             }
   13685              :                           }
   13686            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13687              :                           {
   13688            0 :                             {
   13689            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   13690            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   13691            0 :                               if (res) return res;
   13692              :                             }
   13693              :                           }
   13694              :                         break;
   13695              :                       }
   13696            1 :                     default:;
   13697              :                     }
   13698            1 :                   {
   13699            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   13700            1 :                     tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   13701            1 :                     if (res) return res;
   13702              :                   }
   13703              :                 }
   13704           98 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13705              :                 {
   13706            0 :                   switch (TREE_CODE (_p2))
   13707              :                     {
   13708            0 :                     case MAX_EXPR:
   13709            0 :                       {
   13710            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13711            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13712            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13713              :                           {
   13714            0 :                             {
   13715            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   13716            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   13717            0 :                               if (res) return res;
   13718              :                             }
   13719              :                           }
   13720            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13721              :                           {
   13722            0 :                             {
   13723            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   13724            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   13725            0 :                               if (res) return res;
   13726              :                             }
   13727              :                           }
   13728              :                         break;
   13729              :                       }
   13730            0 :                     default:;
   13731              :                     }
   13732            0 :                   {
   13733            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   13734            0 :                     tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   13735            0 :                     if (res) return res;
   13736              :                   }
   13737              :                 }
   13738              :               break;
   13739              :             }
   13740       940125 :           default:;
   13741              :           }
   13742       940125 :         if (integer_zerop (_q20))
   13743              :           {
   13744            0 :             {
   13745            0 :               tree _q21_pops[1];
   13746            0 :               if (tree_nop_convert (_q21, _q21_pops))
   13747              :                 {
   13748            0 :                   tree _q40 = _q21_pops[0];
   13749            0 :                   switch (TREE_CODE (_p1))
   13750              :                     {
   13751            0 :                     case MIN_EXPR:
   13752            0 :                       {
   13753            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   13754            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   13755            0 :                         if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   13756              :                           {
   13757            0 :                             switch (TREE_CODE (_q61))
   13758              :                               {
   13759            0 :                               case INTEGER_CST:
   13760            0 :                                 {
   13761            0 :                                   switch (TREE_CODE (_p2))
   13762              :                                     {
   13763            0 :                                     case INTEGER_CST:
   13764            0 :                                       {
   13765            0 :                                         {
   13766            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q20, _p1, _q61, _p2 };
   13767            0 :                                           tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   13768            0 :                                           if (res) return res;
   13769              :                                         }
   13770            0 :                                         break;
   13771              :                                       }
   13772              :                                     default:;
   13773              :                                     }
   13774              :                                   break;
   13775              :                                 }
   13776              :                               default:;
   13777              :                               }
   13778              :                           }
   13779              :                         break;
   13780              :                       }
   13781              :                     default:;
   13782              :                     }
   13783              :                 }
   13784              :             }
   13785              :           }
   13786       940125 :         if (tree_expr_nonnegative_p (_q21))
   13787              :           {
   13788       627358 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13789              :               {
   13790          574 :                 switch (TREE_CODE (_p2))
   13791              :                   {
   13792            0 :                   case ABS_EXPR:
   13793            0 :                     {
   13794            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   13795            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13796              :                         {
   13797            0 :                           {
   13798            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13799            0 :                             tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   13800            0 :                             if (res) return res;
   13801              :                           }
   13802              :                         }
   13803              :                       break;
   13804              :                     }
   13805              :                   default:;
   13806              :                   }
   13807              :               }
   13808              :           }
   13809       940125 :         switch (TREE_CODE (_q20))
   13810              :           {
   13811        56739 :           case PLUS_EXPR:
   13812        56739 :             {
   13813        56739 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13814        56739 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13815        56739 :               if (integer_onep (_q31))
   13816              :                 {
   13817        28654 :                   switch (TREE_CODE (_p1))
   13818              :                     {
   13819            2 :                     case NEGATE_EXPR:
   13820            2 :                       {
   13821            2 :                         tree _q70 = TREE_OPERAND (_p1, 0);
   13822            2 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   13823              :                           {
   13824            2 :                             if (integer_onep (_p2))
   13825              :                               {
   13826            2 :                                 {
   13827            2 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   13828            2 :                                   if (TYPE_UNSIGNED (type)
   13829              : )
   13830              :                                     {
   13831            2 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1798;
   13832            2 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1798;
   13833            2 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1798;
   13834            2 :                                       {
   13835            2 :                                         tree res_op0;
   13836            2 :                                         {
   13837            2 :                                           tree _o1[2], _r1;
   13838            2 :                                           _o1[0] = unshare_expr (captures[0]);
   13839            2 :                                           _o1[1] = captures[1];
   13840            2 :                                           _r1 = fold_build2_loc (loc, GE_EXPR, boolean_type_node, _o1[0], _o1[1]);
   13841            2 :                                           res_op0 = _r1;
   13842              :                                         }
   13843            2 :                                         tree res_op1;
   13844            2 :                                         {
   13845            2 :                                           tree _o1[1], _r1;
   13846            2 :                                           _o1[0] = captures[0];
   13847            2 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13848            2 :                                           res_op1 = _r1;
   13849              :                                         }
   13850            2 :                                         tree res_op2;
   13851            2 :                                         res_op2 = captures[2];
   13852            2 :                                         tree _r;
   13853            2 :                                         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   13854            2 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1021, __FILE__, __LINE__, true);
   13855            2 :                                         return _r;
   13856              :                                       }
   13857            0 : next_after_fail1798:;
   13858              :                                     }
   13859              :                                 }
   13860              :                               }
   13861              :                           }
   13862              :                         break;
   13863              :                       }
   13864              :                     default:;
   13865              :                     }
   13866              :                 }
   13867              :               break;
   13868              :             }
   13869              :           default:;
   13870              :           }
   13871              :         break;
   13872              :       }
   13873      1355651 :     case LE_EXPR:
   13874      1355651 :       {
   13875      1355651 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13876      1355651 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13877      1355651 :         switch (TREE_CODE (_q20))
   13878              :           {
   13879          201 :           case MINUS_EXPR:
   13880          201 :             {
   13881          201 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13882          201 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13883          201 :               switch (TREE_CODE (_q30))
   13884              :                 {
   13885            0 :                 case CALL_EXPR:
   13886            0 :                   switch (get_call_combined_fn (_q30))
   13887              :                     {
   13888            0 :                     case CFN_BUILT_IN_CEIL:
   13889            0 :                       if (call_expr_nargs (_q30) == 1)
   13890              :     {
   13891            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13892            0 :                           switch (TREE_CODE (_q40))
   13893              :                             {
   13894            0 :                             case SSA_NAME:
   13895            0 :                               {
   13896            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   13897              :                                   {
   13898            0 :                                     switch (TREE_CODE (_q31))
   13899              :                                       {
   13900            0 :                                       case SSA_NAME:
   13901            0 :                                         {
   13902            0 :                                           switch (TREE_CODE (_q21))
   13903              :                                             {
   13904            0 :                                             case MINUS_EXPR:
   13905            0 :                                               {
   13906            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13907            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13908            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   13909              :                                                   {
   13910            0 :                                                     switch (TREE_CODE (_q80))
   13911              :                                                       {
   13912            0 :                                                       case SSA_NAME:
   13913            0 :                                                         {
   13914            0 :                                                           switch (TREE_CODE (_q81))
   13915              :                                                             {
   13916            0 :                                                             case CALL_EXPR:
   13917            0 :                                                               switch (get_call_combined_fn (_q81))
   13918              :                                                                 {
   13919            0 :                                                                 case CFN_BUILT_IN_FLOOR:
   13920            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   13921              :     {
   13922            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   13923            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   13924              :                                                                         {
   13925            0 :                                                                           switch (TREE_CODE (_q110))
   13926              :                                                                             {
   13927            0 :                                                                             case SSA_NAME:
   13928            0 :                                                                               {
   13929            0 :                                                                                 switch (TREE_CODE (_p1))
   13930              :                                                                                   {
   13931            0 :                                                                                   case CALL_EXPR:
   13932            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13933              :                                                                                       {
   13934            0 :                                                                                       case CFN_BUILT_IN_CEIL:
   13935            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13936              :     {
   13937            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13938            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   13939              :                                                                                               {
   13940            0 :                                                                                                 switch (TREE_CODE (_q140))
   13941              :                                                                                                   {
   13942            0 :                                                                                                   case SSA_NAME:
   13943            0 :                                                                                                     {
   13944            0 :                                                                                                       switch (TREE_CODE (_p2))
   13945              :                                                                                                         {
   13946            0 :                                                                                                         case CALL_EXPR:
   13947            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13948              :                                                                                                             {
   13949            0 :                                                                                                             case CFN_BUILT_IN_FLOOR:
   13950            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13951              :     {
   13952            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13953            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   13954              :                                                                                                                     {
   13955            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13956              :                                                                                                                         {
   13957            0 :                                                                                                                         case SSA_NAME:
   13958            0 :                                                                                                                           {
   13959            0 :                                                                                                                             {
   13960            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   13961            0 :                                                                                                                               tree res = generic_simplify_339 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   13962            0 :                                                                                                                               if (res) return res;
   13963              :                                                                                                                             }
   13964            0 :                                                                                                                             break;
   13965              :                                                                                                                           }
   13966              :                                                                                                                         default:;
   13967              :                                                                                                                         }
   13968              :                                                                                                                     }
   13969              :                                                                                                                 }
   13970              :                                                                                                               break;
   13971              :                                                                                                             default:;
   13972              :                                                                                                             }
   13973              :                                                                                                           break;
   13974              :                                                                                                         default:;
   13975              :                                                                                                         }
   13976              :                                                                                                       break;
   13977              :                                                                                                     }
   13978              :                                                                                                   default:;
   13979              :                                                                                                   }
   13980              :                                                                                               }
   13981              :                                                                                           }
   13982              :                                                                                         break;
   13983              :                                                                                       default:;
   13984              :                                                                                       }
   13985              :                                                                                     break;
   13986              :                                                                                   default:;
   13987              :                                                                                   }
   13988              :                                                                                 break;
   13989              :                                                                               }
   13990              :                                                                             default:;
   13991              :                                                                             }
   13992              :                                                                         }
   13993              :                                                                     }
   13994              :                                                                   break;
   13995              :                                                                 default:;
   13996              :                                                                 }
   13997              :                                                               break;
   13998              :                                                             default:;
   13999              :                                                             }
   14000              :                                                           break;
   14001              :                                                         }
   14002              :                                                       default:;
   14003              :                                                       }
   14004              :                                                   }
   14005              :                                                 break;
   14006              :                                               }
   14007              :                                             default:;
   14008              :                                             }
   14009              :                                           break;
   14010              :                                         }
   14011              :                                       default:;
   14012              :                                       }
   14013              :                                   }
   14014              :                                 break;
   14015              :                               }
   14016              :                             default:;
   14017              :                             }
   14018              :                         }
   14019              :                       break;
   14020            0 :                     case CFN_CEIL:
   14021            0 :                       if (call_expr_nargs (_q30) == 1)
   14022              :     {
   14023            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14024            0 :                           switch (TREE_CODE (_q40))
   14025              :                             {
   14026            0 :                             case SSA_NAME:
   14027            0 :                               {
   14028            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14029              :                                   {
   14030            0 :                                     switch (TREE_CODE (_q31))
   14031              :                                       {
   14032            0 :                                       case SSA_NAME:
   14033            0 :                                         {
   14034            0 :                                           switch (TREE_CODE (_q21))
   14035              :                                             {
   14036            0 :                                             case MINUS_EXPR:
   14037            0 :                                               {
   14038            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14039            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14040            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14041              :                                                   {
   14042            0 :                                                     switch (TREE_CODE (_q80))
   14043              :                                                       {
   14044            0 :                                                       case SSA_NAME:
   14045            0 :                                                         {
   14046            0 :                                                           switch (TREE_CODE (_q81))
   14047              :                                                             {
   14048            0 :                                                             case CALL_EXPR:
   14049            0 :                                                               switch (get_call_combined_fn (_q81))
   14050              :                                                                 {
   14051            0 :                                                                 case CFN_FLOOR:
   14052            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14053              :     {
   14054            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14055            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14056              :                                                                         {
   14057            0 :                                                                           switch (TREE_CODE (_q110))
   14058              :                                                                             {
   14059            0 :                                                                             case SSA_NAME:
   14060            0 :                                                                               {
   14061            0 :                                                                                 switch (TREE_CODE (_p1))
   14062              :                                                                                   {
   14063            0 :                                                                                   case CALL_EXPR:
   14064            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14065              :                                                                                       {
   14066            0 :                                                                                       case CFN_CEIL:
   14067            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14068              :     {
   14069            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14070            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14071              :                                                                                               {
   14072            0 :                                                                                                 switch (TREE_CODE (_q140))
   14073              :                                                                                                   {
   14074            0 :                                                                                                   case SSA_NAME:
   14075            0 :                                                                                                     {
   14076            0 :                                                                                                       switch (TREE_CODE (_p2))
   14077              :                                                                                                         {
   14078            0 :                                                                                                         case CALL_EXPR:
   14079            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14080              :                                                                                                             {
   14081            0 :                                                                                                             case CFN_FLOOR:
   14082            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14083              :     {
   14084            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14085            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14086              :                                                                                                                     {
   14087            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14088              :                                                                                                                         {
   14089            0 :                                                                                                                         case SSA_NAME:
   14090            0 :                                                                                                                           {
   14091            0 :                                                                                                                             {
   14092            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14093            0 :                                                                                                                               tree res = generic_simplify_339 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_CEIL, CFN_FLOOR, CFN_FLOOR, CFN_CEIL);
   14094            0 :                                                                                                                               if (res) return res;
   14095              :                                                                                                                             }
   14096            0 :                                                                                                                             break;
   14097              :                                                                                                                           }
   14098              :                                                                                                                         default:;
   14099              :                                                                                                                         }
   14100              :                                                                                                                     }
   14101              :                                                                                                                 }
   14102              :                                                                                                               break;
   14103              :                                                                                                             default:;
   14104              :                                                                                                             }
   14105              :                                                                                                           break;
   14106              :                                                                                                         default:;
   14107              :                                                                                                         }
   14108              :                                                                                                       break;
   14109              :                                                                                                     }
   14110              :                                                                                                   default:;
   14111              :                                                                                                   }
   14112              :                                                                                               }
   14113              :                                                                                           }
   14114              :                                                                                         break;
   14115              :                                                                                       default:;
   14116              :                                                                                       }
   14117              :                                                                                     break;
   14118              :                                                                                   default:;
   14119              :                                                                                   }
   14120              :                                                                                 break;
   14121              :                                                                               }
   14122              :                                                                             default:;
   14123              :                                                                             }
   14124              :                                                                         }
   14125              :                                                                     }
   14126              :                                                                   break;
   14127              :                                                                 default:;
   14128              :                                                                 }
   14129              :                                                               break;
   14130              :                                                             default:;
   14131              :                                                             }
   14132              :                                                           break;
   14133              :                                                         }
   14134              :                                                       default:;
   14135              :                                                       }
   14136              :                                                   }
   14137              :                                                 break;
   14138              :                                               }
   14139              :                                             default:;
   14140              :                                             }
   14141              :                                           break;
   14142              :                                         }
   14143              :                                       default:;
   14144              :                                       }
   14145              :                                   }
   14146              :                                 break;
   14147              :                               }
   14148              :                             default:;
   14149              :                             }
   14150              :                         }
   14151              :                       break;
   14152            0 :                     case CFN_BUILT_IN_CEILF:
   14153            0 :                       if (call_expr_nargs (_q30) == 1)
   14154              :     {
   14155            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14156            0 :                           switch (TREE_CODE (_q40))
   14157              :                             {
   14158            0 :                             case SSA_NAME:
   14159            0 :                               {
   14160            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14161              :                                   {
   14162            0 :                                     switch (TREE_CODE (_q31))
   14163              :                                       {
   14164            0 :                                       case SSA_NAME:
   14165            0 :                                         {
   14166            0 :                                           switch (TREE_CODE (_q21))
   14167              :                                             {
   14168            0 :                                             case MINUS_EXPR:
   14169            0 :                                               {
   14170            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14171            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14172            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14173              :                                                   {
   14174            0 :                                                     switch (TREE_CODE (_q80))
   14175              :                                                       {
   14176            0 :                                                       case SSA_NAME:
   14177            0 :                                                         {
   14178            0 :                                                           switch (TREE_CODE (_q81))
   14179              :                                                             {
   14180            0 :                                                             case CALL_EXPR:
   14181            0 :                                                               switch (get_call_combined_fn (_q81))
   14182              :                                                                 {
   14183            0 :                                                                 case CFN_BUILT_IN_FLOORF:
   14184            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14185              :     {
   14186            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14187            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14188              :                                                                         {
   14189            0 :                                                                           switch (TREE_CODE (_q110))
   14190              :                                                                             {
   14191            0 :                                                                             case SSA_NAME:
   14192            0 :                                                                               {
   14193            0 :                                                                                 switch (TREE_CODE (_p1))
   14194              :                                                                                   {
   14195            0 :                                                                                   case CALL_EXPR:
   14196            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14197              :                                                                                       {
   14198            0 :                                                                                       case CFN_BUILT_IN_CEILF:
   14199            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14200              :     {
   14201            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14202            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14203              :                                                                                               {
   14204            0 :                                                                                                 switch (TREE_CODE (_q140))
   14205              :                                                                                                   {
   14206            0 :                                                                                                   case SSA_NAME:
   14207            0 :                                                                                                     {
   14208            0 :                                                                                                       switch (TREE_CODE (_p2))
   14209              :                                                                                                         {
   14210            0 :                                                                                                         case CALL_EXPR:
   14211            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14212              :                                                                                                             {
   14213            0 :                                                                                                             case CFN_BUILT_IN_FLOORF:
   14214            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14215              :     {
   14216            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14217            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14218              :                                                                                                                     {
   14219            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14220              :                                                                                                                         {
   14221            0 :                                                                                                                         case SSA_NAME:
   14222            0 :                                                                                                                           {
   14223            0 :                                                                                                                             {
   14224            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14225            0 :                                                                                                                               tree res = generic_simplify_339 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   14226            0 :                                                                                                                               if (res) return res;
   14227              :                                                                                                                             }
   14228            0 :                                                                                                                             break;
   14229              :                                                                                                                           }
   14230              :                                                                                                                         default:;
   14231              :                                                                                                                         }
   14232              :                                                                                                                     }
   14233              :                                                                                                                 }
   14234              :                                                                                                               break;
   14235              :                                                                                                             default:;
   14236              :                                                                                                             }
   14237              :                                                                                                           break;
   14238              :                                                                                                         default:;
   14239              :                                                                                                         }
   14240              :                                                                                                       break;
   14241              :                                                                                                     }
   14242              :                                                                                                   default:;
   14243              :                                                                                                   }
   14244              :                                                                                               }
   14245              :                                                                                           }
   14246              :                                                                                         break;
   14247              :                                                                                       default:;
   14248              :                                                                                       }
   14249              :                                                                                     break;
   14250              :                                                                                   default:;
   14251              :                                                                                   }
   14252              :                                                                                 break;
   14253              :                                                                               }
   14254              :                                                                             default:;
   14255              :                                                                             }
   14256              :                                                                         }
   14257              :                                                                     }
   14258              :                                                                   break;
   14259              :                                                                 default:;
   14260              :                                                                 }
   14261              :                                                               break;
   14262              :                                                             default:;
   14263              :                                                             }
   14264              :                                                           break;
   14265              :                                                         }
   14266              :                                                       default:;
   14267              :                                                       }
   14268              :                                                   }
   14269              :                                                 break;
   14270              :                                               }
   14271              :                                             default:;
   14272              :                                             }
   14273              :                                           break;
   14274              :                                         }
   14275              :                                       default:;
   14276              :                                       }
   14277              :                                   }
   14278              :                                 break;
   14279              :                               }
   14280              :                             default:;
   14281              :                             }
   14282              :                         }
   14283              :                       break;
   14284            0 :                     case CFN_BUILT_IN_CEILL:
   14285            0 :                       if (call_expr_nargs (_q30) == 1)
   14286              :     {
   14287            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14288            0 :                           switch (TREE_CODE (_q40))
   14289              :                             {
   14290            0 :                             case SSA_NAME:
   14291            0 :                               {
   14292            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14293              :                                   {
   14294            0 :                                     switch (TREE_CODE (_q31))
   14295              :                                       {
   14296            0 :                                       case SSA_NAME:
   14297            0 :                                         {
   14298            0 :                                           switch (TREE_CODE (_q21))
   14299              :                                             {
   14300            0 :                                             case MINUS_EXPR:
   14301            0 :                                               {
   14302            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14303            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14304            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14305              :                                                   {
   14306            0 :                                                     switch (TREE_CODE (_q80))
   14307              :                                                       {
   14308            0 :                                                       case SSA_NAME:
   14309            0 :                                                         {
   14310            0 :                                                           switch (TREE_CODE (_q81))
   14311              :                                                             {
   14312            0 :                                                             case CALL_EXPR:
   14313            0 :                                                               switch (get_call_combined_fn (_q81))
   14314              :                                                                 {
   14315            0 :                                                                 case CFN_BUILT_IN_FLOORL:
   14316            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14317              :     {
   14318            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14319            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14320              :                                                                         {
   14321            0 :                                                                           switch (TREE_CODE (_q110))
   14322              :                                                                             {
   14323            0 :                                                                             case SSA_NAME:
   14324            0 :                                                                               {
   14325            0 :                                                                                 switch (TREE_CODE (_p1))
   14326              :                                                                                   {
   14327            0 :                                                                                   case CALL_EXPR:
   14328            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14329              :                                                                                       {
   14330            0 :                                                                                       case CFN_BUILT_IN_CEILL:
   14331            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14332              :     {
   14333            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14334            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14335              :                                                                                               {
   14336            0 :                                                                                                 switch (TREE_CODE (_q140))
   14337              :                                                                                                   {
   14338            0 :                                                                                                   case SSA_NAME:
   14339            0 :                                                                                                     {
   14340            0 :                                                                                                       switch (TREE_CODE (_p2))
   14341              :                                                                                                         {
   14342            0 :                                                                                                         case CALL_EXPR:
   14343            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14344              :                                                                                                             {
   14345            0 :                                                                                                             case CFN_BUILT_IN_FLOORL:
   14346            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14347              :     {
   14348            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14349            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14350              :                                                                                                                     {
   14351            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14352              :                                                                                                                         {
   14353            0 :                                                                                                                         case SSA_NAME:
   14354            0 :                                                                                                                           {
   14355            0 :                                                                                                                             {
   14356            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14357            0 :                                                                                                                               tree res = generic_simplify_339 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   14358            0 :                                                                                                                               if (res) return res;
   14359              :                                                                                                                             }
   14360            0 :                                                                                                                             break;
   14361              :                                                                                                                           }
   14362              :                                                                                                                         default:;
   14363              :                                                                                                                         }
   14364              :                                                                                                                     }
   14365              :                                                                                                                 }
   14366              :                                                                                                               break;
   14367              :                                                                                                             default:;
   14368              :                                                                                                             }
   14369              :                                                                                                           break;
   14370              :                                                                                                         default:;
   14371              :                                                                                                         }
   14372              :                                                                                                       break;
   14373              :                                                                                                     }
   14374              :                                                                                                   default:;
   14375              :                                                                                                   }
   14376              :                                                                                               }
   14377              :                                                                                           }
   14378              :                                                                                         break;
   14379              :                                                                                       default:;
   14380              :                                                                                       }
   14381              :                                                                                     break;
   14382              :                                                                                   default:;
   14383              :                                                                                   }
   14384              :                                                                                 break;
   14385              :                                                                               }
   14386              :                                                                             default:;
   14387              :                                                                             }
   14388              :                                                                         }
   14389              :                                                                     }
   14390              :                                                                   break;
   14391              :                                                                 default:;
   14392              :                                                                 }
   14393              :                                                               break;
   14394              :                                                             default:;
   14395              :                                                             }
   14396              :                                                           break;
   14397              :                                                         }
   14398              :                                                       default:;
   14399              :                                                       }
   14400              :                                                   }
   14401              :                                                 break;
   14402              :                                               }
   14403              :                                             default:;
   14404              :                                             }
   14405              :                                           break;
   14406              :                                         }
   14407              :                                       default:;
   14408              :                                       }
   14409              :                                   }
   14410              :                                 break;
   14411              :                               }
   14412              :                             default:;
   14413              :                             }
   14414              :                         }
   14415              :                       break;
   14416              :                     default:;
   14417              :                     }
   14418              :                   break;
   14419              :                 default:;
   14420              :                 }
   14421              :               break;
   14422              :             }
   14423      1355651 :           default:;
   14424              :           }
   14425      1355651 :         if (integer_zerop (_q21))
   14426              :           {
   14427       121807 :             switch (TREE_CODE (_p1))
   14428              :               {
   14429          248 :               case NEGATE_EXPR:
   14430          248 :                 {
   14431          248 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14432          248 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14433              :                     {
   14434           70 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   14435              :                         {
   14436           70 :                           if (integer_zerop (_p2))
   14437              :                             {
   14438           70 :                               {
   14439           70 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   14440           70 :                                 if (ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type)
   14441              : )
   14442              :                                   {
   14443           68 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1799;
   14444           68 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1799;
   14445           68 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1799;
   14446           68 :                                     {
   14447           68 :                                       tree res_op0;
   14448           68 :                                       res_op0 = captures[2];
   14449           68 :                                       tree res_op1;
   14450           68 :                                       res_op1 = captures[1];
   14451           68 :                                       tree _r;
   14452           68 :                                       _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
   14453           68 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1022, __FILE__, __LINE__, true);
   14454           68 :                                       return _r;
   14455              :                                     }
   14456            2 : next_after_fail1799:;
   14457              :                                   }
   14458              :                               }
   14459              :                             }
   14460              :                         }
   14461              :                     }
   14462              :                   break;
   14463              :                 }
   14464              :               default:;
   14465              :               }
   14466              :           }
   14467      1355583 :         switch (TREE_CODE (_q20))
   14468              :           {
   14469       139884 :           CASE_CONVERT:
   14470       139884 :             {
   14471       139884 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14472       139884 :               switch (TREE_CODE (_q21))
   14473              :                 {
   14474       104655 :                 case INTEGER_CST:
   14475       104655 :                   {
   14476       104655 :                     switch (TREE_CODE (_p1))
   14477              :                       {
   14478          501 :                       CASE_CONVERT:
   14479          501 :                         {
   14480          501 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   14481          501 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14482              :                             {
   14483            8 :                               switch (TREE_CODE (_p2))
   14484              :                                 {
   14485            8 :                                 case INTEGER_CST:
   14486            8 :                                   {
   14487            8 :                                     {
   14488            8 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   14489            8 :                                       tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   14490            8 :                                       if (res) return res;
   14491              :                                     }
   14492            8 :                                     break;
   14493              :                                   }
   14494              :                                 default:;
   14495              :                                 }
   14496              :                             }
   14497              :                           break;
   14498              :                         }
   14499       104655 :                       default:;
   14500              :                       }
   14501       104655 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   14502              :                       {
   14503           21 :                         switch (TREE_CODE (_p2))
   14504              :                           {
   14505           21 :                           case INTEGER_CST:
   14506           21 :                             {
   14507           21 :                               {
   14508           21 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   14509           21 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   14510           21 :                                 if (res) return res;
   14511              :                               }
   14512           21 :                               break;
   14513              :                             }
   14514              :                           default:;
   14515              :                           }
   14516              :                       }
   14517       104655 :                     switch (TREE_CODE (_p1))
   14518              :                       {
   14519          130 :                       case PLUS_EXPR:
   14520          130 :                         {
   14521          130 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   14522          130 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   14523          130 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14524              :                             {
   14525            6 :                               switch (TREE_CODE (_q61))
   14526              :                                 {
   14527            6 :                                 case INTEGER_CST:
   14528            6 :                                   {
   14529            6 :                                     switch (TREE_CODE (_p2))
   14530              :                                       {
   14531            6 :                                       case INTEGER_CST:
   14532            6 :                                         {
   14533            6 :                                           {
   14534            6 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   14535            6 :                                             tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, PLUS_EXPR);
   14536            6 :                                             if (res) return res;
   14537              :                                           }
   14538            6 :                                           break;
   14539              :                                         }
   14540              :                                       default:;
   14541              :                                       }
   14542              :                                     break;
   14543              :                                   }
   14544              :                                 default:;
   14545              :                                 }
   14546              :                             }
   14547              :                           break;
   14548              :                         }
   14549          724 :                       case MINUS_EXPR:
   14550          724 :                         {
   14551          724 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   14552          724 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   14553          724 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14554              :                             {
   14555            0 :                               switch (TREE_CODE (_q61))
   14556              :                                 {
   14557            0 :                                 case INTEGER_CST:
   14558            0 :                                   {
   14559            0 :                                     switch (TREE_CODE (_p2))
   14560              :                                       {
   14561            0 :                                       case INTEGER_CST:
   14562            0 :                                         {
   14563            0 :                                           {
   14564            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   14565            0 :                                             tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MINUS_EXPR);
   14566            0 :                                             if (res) return res;
   14567              :                                           }
   14568            0 :                                           break;
   14569              :                                         }
   14570              :                                       default:;
   14571              :                                       }
   14572              :                                     break;
   14573              :                                   }
   14574              :                                 default:;
   14575              :                                 }
   14576              :                             }
   14577              :                           break;
   14578              :                         }
   14579              :                       default:;
   14580              :                       }
   14581              :                     break;
   14582              :                   }
   14583              :                 default:;
   14584              :                 }
   14585              :               break;
   14586              :             }
   14587      1355583 :           default:;
   14588              :           }
   14589      1355583 :         switch (TREE_CODE (_q21))
   14590              :           {
   14591       967942 :           case INTEGER_CST:
   14592       967942 :             {
   14593       967942 :               switch (TREE_CODE (_p1))
   14594              :                 {
   14595        22898 :                 CASE_CONVERT:
   14596        22898 :                   {
   14597        22898 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   14598        22898 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14599              :                       {
   14600          228 :                         switch (TREE_CODE (_p2))
   14601              :                           {
   14602          210 :                           case INTEGER_CST:
   14603          210 :                             {
   14604          210 :                               {
   14605          210 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   14606          210 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   14607          210 :                                 if (res) return res;
   14608              :                               }
   14609          110 :                               break;
   14610              :                             }
   14611              :                           default:;
   14612              :                           }
   14613              :                       }
   14614              :                     break;
   14615              :                   }
   14616       967842 :                 default:;
   14617              :                 }
   14618       967842 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   14619              :                 {
   14620          258 :                   switch (TREE_CODE (_p2))
   14621              :                     {
   14622          221 :                     case INTEGER_CST:
   14623          221 :                       {
   14624          221 :                         {
   14625          221 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   14626          221 :                           tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   14627          221 :                           if (res) return res;
   14628              :                         }
   14629           79 :                         break;
   14630              :                       }
   14631              :                     default:;
   14632              :                     }
   14633              :                 }
   14634       967700 :               switch (TREE_CODE (_p1))
   14635              :                 {
   14636         3072 :                 case PLUS_EXPR:
   14637         3072 :                   {
   14638         3072 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   14639         3072 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   14640         3072 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14641              :                       {
   14642          181 :                         switch (TREE_CODE (_q51))
   14643              :                           {
   14644          181 :                           case INTEGER_CST:
   14645          181 :                             {
   14646          181 :                               switch (TREE_CODE (_p2))
   14647              :                                 {
   14648          170 :                                 case INTEGER_CST:
   14649          170 :                                   {
   14650          170 :                                     {
   14651          170 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   14652          170 :                                       tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, PLUS_EXPR);
   14653          170 :                                       if (res) return res;
   14654              :                                     }
   14655          170 :                                     break;
   14656              :                                   }
   14657              :                                 default:;
   14658              :                                 }
   14659              :                               break;
   14660              :                             }
   14661              :                           default:;
   14662              :                           }
   14663              :                       }
   14664              :                     break;
   14665              :                   }
   14666         8129 :                 case MINUS_EXPR:
   14667         8129 :                   {
   14668         8129 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   14669         8129 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   14670         8129 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14671              :                       {
   14672            0 :                         switch (TREE_CODE (_q51))
   14673              :                           {
   14674            0 :                           case INTEGER_CST:
   14675            0 :                             {
   14676            0 :                               switch (TREE_CODE (_p2))
   14677              :                                 {
   14678            0 :                                 case INTEGER_CST:
   14679            0 :                                   {
   14680            0 :                                     {
   14681            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   14682            0 :                                       tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MINUS_EXPR);
   14683            0 :                                       if (res) return res;
   14684              :                                     }
   14685            0 :                                     break;
   14686              :                                   }
   14687              :                                 default:;
   14688              :                                 }
   14689              :                               break;
   14690              :                             }
   14691              :                           default:;
   14692              :                           }
   14693              :                       }
   14694              :                     break;
   14695              :                   }
   14696              :                 default:;
   14697              :                 }
   14698              :               break;
   14699              :             }
   14700      1355341 :           default:;
   14701              :           }
   14702      1355341 :         switch (TREE_CODE (_p1))
   14703              :           {
   14704           37 :           case MIN_EXPR:
   14705           37 :             {
   14706           37 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14707           37 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14708           37 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14709              :                 {
   14710            1 :                   switch (TREE_CODE (_p2))
   14711              :                     {
   14712            0 :                     case MIN_EXPR:
   14713            0 :                       {
   14714            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14715            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14716            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14717              :                           {
   14718            0 :                             {
   14719            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   14720            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   14721            0 :                               if (res) return res;
   14722              :                             }
   14723              :                           }
   14724            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14725              :                           {
   14726            0 :                             {
   14727            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   14728            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   14729            0 :                               if (res) return res;
   14730              :                             }
   14731              :                           }
   14732              :                         break;
   14733              :                       }
   14734              :                     default:;
   14735              :                     }
   14736              :                 }
   14737           37 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14738              :                 {
   14739            1 :                   switch (TREE_CODE (_p2))
   14740              :                     {
   14741            0 :                     case MIN_EXPR:
   14742            0 :                       {
   14743            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14744            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14745            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14746              :                           {
   14747            0 :                             {
   14748            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   14749            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   14750            0 :                               if (res) return res;
   14751              :                             }
   14752              :                           }
   14753            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14754              :                           {
   14755            0 :                             {
   14756            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   14757            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   14758            0 :                               if (res) return res;
   14759              :                             }
   14760              :                           }
   14761              :                         break;
   14762              :                       }
   14763              :                     default:;
   14764              :                     }
   14765              :                 }
   14766           37 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14767              :                 {
   14768            1 :                   switch (TREE_CODE (_p2))
   14769              :                     {
   14770            0 :                     case MIN_EXPR:
   14771            0 :                       {
   14772            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14773            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14774            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14775              :                           {
   14776            0 :                             {
   14777            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   14778            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   14779            0 :                               if (res) return res;
   14780              :                             }
   14781              :                           }
   14782            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14783              :                           {
   14784            0 :                             {
   14785            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   14786            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   14787            0 :                               if (res) return res;
   14788              :                             }
   14789              :                           }
   14790              :                         break;
   14791              :                       }
   14792            1 :                     default:;
   14793              :                     }
   14794            1 :                   {
   14795            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   14796            1 :                     tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   14797            1 :                     if (res) return res;
   14798              :                   }
   14799              :                 }
   14800           36 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14801              :                 {
   14802            1 :                   switch (TREE_CODE (_p2))
   14803              :                     {
   14804            0 :                     case MIN_EXPR:
   14805            0 :                       {
   14806            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14807            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14808            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14809              :                           {
   14810            0 :                             {
   14811            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   14812            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   14813            0 :                               if (res) return res;
   14814              :                             }
   14815              :                           }
   14816            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14817              :                           {
   14818            0 :                             {
   14819            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   14820            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   14821            0 :                               if (res) return res;
   14822              :                             }
   14823              :                           }
   14824              :                         break;
   14825              :                       }
   14826            1 :                     default:;
   14827              :                     }
   14828            1 :                   {
   14829            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   14830            1 :                     tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   14831            1 :                     if (res) return res;
   14832              :                   }
   14833              :                 }
   14834              :               break;
   14835              :             }
   14836           12 :           case MAX_EXPR:
   14837           12 :             {
   14838           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14839           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14840           12 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14841              :                 {
   14842            0 :                   switch (TREE_CODE (_p2))
   14843              :                     {
   14844            0 :                     case MAX_EXPR:
   14845            0 :                       {
   14846            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14847            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14848            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14849              :                           {
   14850            0 :                             {
   14851            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   14852            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   14853            0 :                               if (res) return res;
   14854              :                             }
   14855              :                           }
   14856            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14857              :                           {
   14858            0 :                             {
   14859            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   14860            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   14861            0 :                               if (res) return res;
   14862              :                             }
   14863              :                           }
   14864              :                         break;
   14865              :                       }
   14866            0 :                     default:;
   14867              :                     }
   14868            0 :                   {
   14869            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   14870            0 :                     tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   14871            0 :                     if (res) return res;
   14872              :                   }
   14873              :                 }
   14874           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14875              :                 {
   14876            0 :                   switch (TREE_CODE (_p2))
   14877              :                     {
   14878            0 :                     case MAX_EXPR:
   14879            0 :                       {
   14880            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14881            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14882            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14883              :                           {
   14884            0 :                             {
   14885            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   14886            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   14887            0 :                               if (res) return res;
   14888              :                             }
   14889              :                           }
   14890            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14891              :                           {
   14892            0 :                             {
   14893            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   14894            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   14895            0 :                               if (res) return res;
   14896              :                             }
   14897              :                           }
   14898              :                         break;
   14899              :                       }
   14900              :                     default:;
   14901              :                     }
   14902              :                 }
   14903           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14904              :                 {
   14905            0 :                   switch (TREE_CODE (_p2))
   14906              :                     {
   14907            0 :                     case MAX_EXPR:
   14908            0 :                       {
   14909            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14910            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14911            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14912              :                           {
   14913            0 :                             {
   14914            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   14915            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   14916            0 :                               if (res) return res;
   14917              :                             }
   14918              :                           }
   14919            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14920              :                           {
   14921            0 :                             {
   14922            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   14923            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   14924            0 :                               if (res) return res;
   14925              :                             }
   14926              :                           }
   14927              :                         break;
   14928              :                       }
   14929              :                     default:;
   14930              :                     }
   14931              :                 }
   14932           12 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14933              :                 {
   14934            0 :                   switch (TREE_CODE (_p2))
   14935              :                     {
   14936            0 :                     case MAX_EXPR:
   14937            0 :                       {
   14938            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14939            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14940            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14941              :                           {
   14942            0 :                             {
   14943            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   14944            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   14945            0 :                               if (res) return res;
   14946              :                             }
   14947              :                           }
   14948            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14949              :                           {
   14950            0 :                             {
   14951            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   14952            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   14953            0 :                               if (res) return res;
   14954              :                             }
   14955              :                           }
   14956              :                         break;
   14957              :                       }
   14958              :                     default:;
   14959              :                     }
   14960              :                 }
   14961           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14962              :                 {
   14963            0 :                   {
   14964            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   14965            0 :                     tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   14966            0 :                     if (res) return res;
   14967              :                   }
   14968              :                 }
   14969              :               break;
   14970              :             }
   14971      1355339 :           default:;
   14972              :           }
   14973      1355339 :         if (integer_zerop (_q20))
   14974              :           {
   14975            2 :             {
   14976            2 :               tree _q21_pops[1];
   14977            2 :               if (tree_nop_convert (_q21, _q21_pops))
   14978              :                 {
   14979            0 :                   tree _q40 = _q21_pops[0];
   14980            0 :                   switch (TREE_CODE (_p1))
   14981              :                     {
   14982            0 :                     case MAX_EXPR:
   14983            0 :                       {
   14984            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   14985            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   14986            0 :                         if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   14987              :                           {
   14988            0 :                             switch (TREE_CODE (_q61))
   14989              :                               {
   14990            0 :                               case INTEGER_CST:
   14991            0 :                                 {
   14992            0 :                                   switch (TREE_CODE (_p2))
   14993              :                                     {
   14994            0 :                                     case INTEGER_CST:
   14995            0 :                                       {
   14996            0 :                                         {
   14997            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q20, _p1, _q61, _p2 };
   14998            0 :                                           tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   14999            0 :                                           if (res) return res;
   15000              :                                         }
   15001            0 :                                         break;
   15002              :                                       }
   15003              :                                     default:;
   15004              :                                     }
   15005              :                                   break;
   15006              :                                 }
   15007              :                               default:;
   15008              :                               }
   15009              :                           }
   15010              :                         break;
   15011              :                       }
   15012              :                     default:;
   15013              :                     }
   15014              :                 }
   15015              :             }
   15016              :           }
   15017      1355339 :         if (tree_expr_nonnegative_p (_q20))
   15018              :           {
   15019       859633 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   15020              :               {
   15021           11 :                 switch (TREE_CODE (_p2))
   15022              :                   {
   15023            0 :                   case ABS_EXPR:
   15024            0 :                     {
   15025            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   15026            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   15027              :                         {
   15028            0 :                           {
   15029            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   15030            0 :                             tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   15031            0 :                             if (res) return res;
   15032              :                           }
   15033              :                         }
   15034              :                       break;
   15035              :                     }
   15036              :                   default:;
   15037              :                   }
   15038              :               }
   15039              :           }
   15040              :         break;
   15041              :       }
   15042      3147161 :     case NE_EXPR:
   15043      3147161 :       {
   15044      3147161 :         tree _q20 = TREE_OPERAND (_p0, 0);
   15045      3147161 :         tree _q21 = TREE_OPERAND (_p0, 1);
   15046      3147161 :         if (integer_zerop (_q21))
   15047              :           {
   15048      1941016 :             switch (TREE_CODE (_p1))
   15049              :               {
   15050        93485 :               case PLUS_EXPR:
   15051        93485 :                 {
   15052        93485 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   15053        93485 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   15054        93485 :                   {
   15055        93485 :                     tree _q50_pops[1];
   15056        93485 :                     if (tree_nop_convert (_q50, _q50_pops))
   15057              :                       {
   15058        11495 :                         tree _q60 = _q50_pops[0];
   15059        11495 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   15060              :                           {
   15061         1635 :                             if (integer_all_onesp (_q51))
   15062              :                               {
   15063         1635 :                                 if (integer_zerop (_p2))
   15064              :                                   {
   15065         1629 :                                     {
   15066         1629 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q50 };
   15067         1629 :                                       tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures);
   15068         1629 :                                       if (res) return res;
   15069              :                                     }
   15070              :                                   }
   15071              :                               }
   15072              :                           }
   15073              :                       }
   15074              :                   }
   15075        91856 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15076              :                     {
   15077         2007 :                       if (integer_all_onesp (_q51))
   15078              :                         {
   15079         1971 :                           if (integer_zerop (_p2))
   15080              :                             {
   15081         1963 :                               {
   15082         1963 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q50 };
   15083         1963 :                                 tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures);
   15084         1963 :                                 if (res) return res;
   15085              :                               }
   15086              :                             }
   15087              :                         }
   15088              :                     }
   15089              :                   break;
   15090              :                 }
   15091      1937424 :               default:;
   15092              :               }
   15093      1937424 :           {
   15094      1937424 :             tree _p1_pops[1];
   15095      1937424 :             if (tree_nop_convert (_p1, _p1_pops))
   15096              :               {
   15097       152474 :                 tree _q50 = _p1_pops[0];
   15098       152474 :                 switch (TREE_CODE (_q50))
   15099              :                   {
   15100          215 :                   case PLUS_EXPR:
   15101          215 :                     {
   15102          215 :                       tree _q60 = TREE_OPERAND (_q50, 0);
   15103          215 :                       tree _q61 = TREE_OPERAND (_q50, 1);
   15104          215 :                       {
   15105          215 :                         tree _q60_pops[1];
   15106          215 :                         if (tree_nop_convert (_q60, _q60_pops))
   15107              :                           {
   15108           52 :                             tree _q70 = _q60_pops[0];
   15109           52 :                             if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   15110              :                               {
   15111            2 :                                 if (integer_all_onesp (_q61))
   15112              :                                   {
   15113            2 :                                     if (integer_zerop (_p2))
   15114              :                                       {
   15115            2 :                                         {
   15116            2 :                                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q60 };
   15117            2 :                                           tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures);
   15118            2 :                                           if (res) return res;
   15119              :                                         }
   15120              :                                       }
   15121              :                                   }
   15122              :                               }
   15123              :                           }
   15124              :                       }
   15125          213 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   15126              :                         {
   15127           16 :                           if (integer_all_onesp (_q61))
   15128              :                             {
   15129            0 :                               if (integer_zerop (_p2))
   15130              :                                 {
   15131            0 :                                   {
   15132            0 :                                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q60 };
   15133            0 :                                     tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures);
   15134            0 :                                     if (res) return res;
   15135              :                                   }
   15136              :                                 }
   15137              :                             }
   15138              :                         }
   15139              :                       break;
   15140              :                     }
   15141              :                   default:;
   15142              :                   }
   15143              :               }
   15144              :           }
   15145              :           }
   15146      3143567 :         if (tree_zero_one_valued_p (_q20))
   15147              :           {
   15148       156677 :             if (integer_zerop (_q21))
   15149              :               {
   15150       154914 :                 switch (TREE_CODE (_p1))
   15151              :                   {
   15152            5 :                   case BIT_XOR_EXPR:
   15153            5 :                     {
   15154            5 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   15155            5 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   15156            5 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   15157              :                         {
   15158            1 :                           {
   15159            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   15160            1 :                             tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   15161            1 :                             if (res) return res;
   15162              :                           }
   15163              :                         }
   15164            4 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   15165              :                         {
   15166            4 :                           {
   15167            4 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   15168            4 :                             tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   15169            4 :                             if (res) return res;
   15170              :                           }
   15171              :                         }
   15172              :                       break;
   15173              :                     }
   15174            1 :                   case BIT_IOR_EXPR:
   15175            1 :                     {
   15176            1 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   15177            1 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   15178            1 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   15179              :                         {
   15180            1 :                           {
   15181            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   15182            1 :                             tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   15183            1 :                             if (res) return res;
   15184              :                           }
   15185              :                         }
   15186            0 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   15187              :                         {
   15188            0 :                           {
   15189            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   15190            0 :                             tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   15191            0 :                             if (res) return res;
   15192              :                           }
   15193              :                         }
   15194              :                       break;
   15195              :                     }
   15196          110 :                   case PLUS_EXPR:
   15197          110 :                     {
   15198          110 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   15199          110 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   15200          110 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   15201              :                         {
   15202            8 :                           {
   15203            8 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   15204            8 :                             tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   15205            8 :                             if (res) return res;
   15206              :                           }
   15207              :                         }
   15208          109 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   15209              :                         {
   15210            1 :                           {
   15211            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   15212            1 :                             tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   15213            1 :                             if (res) return res;
   15214              :                           }
   15215              :                         }
   15216              :                       break;
   15217              :                     }
   15218              :                   default:;
   15219              :                   }
   15220              :               }
   15221              :           }
   15222      3143559 :         if (integer_zerop (_q21))
   15223              :           {
   15224      1937414 :             switch (TREE_CODE (_p1))
   15225              :               {
   15226           89 :               case TRUNC_DIV_EXPR:
   15227           89 :                 {
   15228           89 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   15229           89 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   15230           89 :                   if (integer_zerop (_p2))
   15231              :                     {
   15232           51 :                       {
   15233           51 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   15234           51 :                         tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, TRUNC_DIV_EXPR);
   15235           51 :                         if (res) return res;
   15236              :                       }
   15237              :                     }
   15238              :                   break;
   15239              :                 }
   15240            0 :               case CEIL_DIV_EXPR:
   15241            0 :                 {
   15242            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   15243            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   15244            0 :                   if (integer_zerop (_p2))
   15245              :                     {
   15246            0 :                       {
   15247            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   15248            0 :                         tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, CEIL_DIV_EXPR);
   15249            0 :                         if (res) return res;
   15250              :                       }
   15251              :                     }
   15252              :                   break;
   15253              :                 }
   15254            0 :               case FLOOR_DIV_EXPR:
   15255            0 :                 {
   15256            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   15257            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   15258            0 :                   if (integer_zerop (_p2))
   15259              :                     {
   15260            0 :                       {
   15261            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   15262            0 :                         tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, FLOOR_DIV_EXPR);
   15263            0 :                         if (res) return res;
   15264              :                       }
   15265              :                     }
   15266              :                   break;
   15267              :                 }
   15268            0 :               case ROUND_DIV_EXPR:
   15269            0 :                 {
   15270            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   15271            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   15272            0 :                   if (integer_zerop (_p2))
   15273              :                     {
   15274            0 :                       {
   15275            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   15276            0 :                         tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, ROUND_DIV_EXPR);
   15277            0 :                         if (res) return res;
   15278              :                       }
   15279              :                     }
   15280              :                   break;
   15281              :                 }
   15282           31 :               case EXACT_DIV_EXPR:
   15283           31 :                 {
   15284           31 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   15285           31 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   15286           31 :                   if (integer_zerop (_p2))
   15287              :                     {
   15288            0 :                       {
   15289            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   15290            0 :                         tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, EXACT_DIV_EXPR);
   15291            0 :                         if (res) return res;
   15292              :                       }
   15293              :                     }
   15294              :                   break;
   15295              :                 }
   15296          595 :               case MULT_EXPR:
   15297          595 :                 {
   15298          595 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   15299          595 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   15300          595 :                   if (integer_zerop (_p2))
   15301              :                     {
   15302           40 :                       {
   15303           40 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   15304           40 :                         tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   15305           40 :                         if (res) return res;
   15306              :                       }
   15307           40 :                       {
   15308           40 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q51, _q50 };
   15309           40 :                         tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   15310           40 :                         if (res) return res;
   15311              :                       }
   15312              :                     }
   15313              :                   break;
   15314              :                 }
   15315          268 :               case BIT_AND_EXPR:
   15316          268 :                 {
   15317          268 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   15318          268 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   15319          268 :                   if (integer_zerop (_p2))
   15320              :                     {
   15321           42 :                       {
   15322           42 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   15323           42 :                         tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   15324           42 :                         if (res) return res;
   15325              :                       }
   15326           42 :                       {
   15327           42 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q51, _q50 };
   15328           42 :                         tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   15329           42 :                         if (res) return res;
   15330              :                       }
   15331              :                     }
   15332              :                   break;
   15333              :                 }
   15334              :               default:;
   15335              :               }
   15336              :           }
   15337      3143557 :         switch (TREE_CODE (_q20))
   15338              :           {
   15339       273958 :           case BIT_AND_EXPR:
   15340       273958 :             {
   15341       273958 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15342       273958 :               tree _q31 = TREE_OPERAND (_q20, 1);
   15343       273958 :               switch (TREE_CODE (_q31))
   15344              :                 {
   15345       203431 :                 case INTEGER_CST:
   15346       203431 :                   {
   15347       203431 :                     if (integer_zerop (_q21))
   15348              :                       {
   15349       203418 :                         switch (TREE_CODE (_p1))
   15350              :                           {
   15351          139 :                           case PLUS_EXPR:
   15352          139 :                             {
   15353          139 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   15354          139 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   15355          139 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   15356              :                                 {
   15357           18 :                                   switch (TREE_CODE (_q71))
   15358              :                                     {
   15359           18 :                                     case INTEGER_CST:
   15360           18 :                                       {
   15361           18 :                                         switch (TREE_CODE (_p2))
   15362              :                                           {
   15363           18 :                                           case BIT_IOR_EXPR:
   15364           18 :                                             {
   15365           18 :                                               tree _q100 = TREE_OPERAND (_p2, 0);
   15366           18 :                                               tree _q101 = TREE_OPERAND (_p2, 1);
   15367           18 :                                               if ((_q100 == _q30 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q30, 0) && types_match (_q100, _q30)))
   15368              :                                                 {
   15369           18 :                                                   if ((_q101 == _q31 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q31, 0) && types_match (_q101, _q31)))
   15370              :                                                     {
   15371           18 :                                                       {
   15372           18 :                                                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
   15373           18 :                                                         tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   15374           18 :                                                         if (res) return res;
   15375              :                                                       }
   15376              :                                                     }
   15377              :                                                 }
   15378              :                                               break;
   15379              :                                             }
   15380              :                                           default:;
   15381              :                                           }
   15382              :                                         break;
   15383              :                                       }
   15384              :                                     default:;
   15385              :                                     }
   15386              :                                 }
   15387              :                               break;
   15388              :                             }
   15389           34 :                           case BIT_AND_EXPR:
   15390           34 :                             {
   15391           34 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   15392           34 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   15393           34 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   15394              :                                 {
   15395           18 :                                   switch (TREE_CODE (_q71))
   15396              :                                     {
   15397           18 :                                     case INTEGER_CST:
   15398           18 :                                       {
   15399           18 :                                         switch (TREE_CODE (_p2))
   15400              :                                           {
   15401           18 :                                           case BIT_IOR_EXPR:
   15402           18 :                                             {
   15403           18 :                                               tree _q100 = TREE_OPERAND (_p2, 0);
   15404           18 :                                               tree _q101 = TREE_OPERAND (_p2, 1);
   15405           18 :                                               if ((_q100 == _q30 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q30, 0) && types_match (_q100, _q30)))
   15406              :                                                 {
   15407           18 :                                                   if ((_q101 == _q31 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q31, 0) && types_match (_q101, _q31)))
   15408              :                                                     {
   15409           18 :                                                       {
   15410           18 :                                                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
   15411           18 :                                                         tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   15412           18 :                                                         if (res) return res;
   15413              :                                                       }
   15414              :                                                     }
   15415              :                                                 }
   15416              :                                               break;
   15417              :                                             }
   15418              :                                           default:;
   15419              :                                           }
   15420              :                                         break;
   15421              :                                       }
   15422              :                                     default:;
   15423              :                                     }
   15424              :                                 }
   15425              :                               break;
   15426              :                             }
   15427              :                           default:;
   15428              :                           }
   15429              :                       }
   15430              :                     break;
   15431              :                   }
   15432              :                 default:;
   15433              :                 }
   15434              :               break;
   15435              :             }
   15436       353900 :           CASE_CONVERT:
   15437       353900 :             {
   15438       353900 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15439       353900 :               switch (TREE_CODE (_q21))
   15440              :                 {
   15441       292748 :                 case INTEGER_CST:
   15442       292748 :                   {
   15443       292748 :                     switch (TREE_CODE (_p1))
   15444              :                       {
   15445        95515 :                       CASE_CONVERT:
   15446        95515 :                         {
   15447        95515 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   15448        95515 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15449              :                             {
   15450           57 :                               switch (TREE_CODE (_p2))
   15451              :                                 {
   15452            9 :                                 case INTEGER_CST:
   15453            9 :                                   {
   15454            9 :                                     {
   15455            9 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   15456            9 :                                       tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   15457            9 :                                       if (res) return res;
   15458              :                                     }
   15459            9 :                                     break;
   15460              :                                   }
   15461              :                                 default:;
   15462              :                                 }
   15463              :                             }
   15464              :                           break;
   15465              :                         }
   15466       292748 :                       default:;
   15467              :                       }
   15468       292748 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   15469              :                       {
   15470           48 :                         switch (TREE_CODE (_p2))
   15471              :                           {
   15472            0 :                           case INTEGER_CST:
   15473            0 :                             {
   15474            0 :                               {
   15475            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   15476            0 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   15477            0 :                                 if (res) return res;
   15478              :                               }
   15479            0 :                               break;
   15480              :                             }
   15481              :                           default:;
   15482              :                           }
   15483              :                       }
   15484              :                     break;
   15485              :                   }
   15486              :                 default:;
   15487              :                 }
   15488              :               break;
   15489              :             }
   15490      3143533 :           default:;
   15491              :           }
   15492      3143533 :         switch (TREE_CODE (_q21))
   15493              :           {
   15494      2233026 :           case INTEGER_CST:
   15495      2233026 :             {
   15496      2233026 :               switch (TREE_CODE (_p1))
   15497              :                 {
   15498       389937 :                 CASE_CONVERT:
   15499       389937 :                   {
   15500       389937 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   15501       389937 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15502              :                       {
   15503        71425 :                         switch (TREE_CODE (_p2))
   15504              :                           {
   15505        70230 :                           case INTEGER_CST:
   15506        70230 :                             {
   15507        70230 :                               {
   15508        70230 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   15509        70230 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   15510        70230 :                                 if (res) return res;
   15511              :                               }
   15512        70230 :                               break;
   15513              :                             }
   15514              :                           default:;
   15515              :                           }
   15516              :                       }
   15517              :                     break;
   15518              :                   }
   15519      2233026 :                 default:;
   15520              :                 }
   15521      2233026 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   15522              :                 {
   15523        52592 :                   switch (TREE_CODE (_p2))
   15524              :                     {
   15525        50112 :                     case INTEGER_CST:
   15526        50112 :                       {
   15527        50112 :                         {
   15528        50112 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   15529        50112 :                           tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   15530        50112 :                           if (res) return res;
   15531              :                         }
   15532        50112 :                         break;
   15533              :                       }
   15534              :                     default:;
   15535              :                     }
   15536              :                 }
   15537              :               break;
   15538              :             }
   15539      3143533 :           default:;
   15540              :           }
   15541      3143533 :         switch (TREE_CODE (_p1))
   15542              :           {
   15543        12368 :           case MINUS_EXPR:
   15544        12368 :             {
   15545        12368 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15546        12368 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15547        12368 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15548              :                 {
   15549            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15550              :                     {
   15551            0 :                       if (integer_zerop (_p2))
   15552              :                         {
   15553            0 :                           {
   15554            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15555            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures);
   15556            0 :                             if (res) return res;
   15557              :                           }
   15558              :                         }
   15559              :                     }
   15560              :                 }
   15561        12368 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15562              :                 {
   15563           19 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15564              :                     {
   15565           19 :                       if (integer_zerop (_p2))
   15566              :                         {
   15567            0 :                           {
   15568            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   15569            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures);
   15570            0 :                             if (res) return res;
   15571              :                           }
   15572              :                         }
   15573              :                     }
   15574              :                 }
   15575              :               break;
   15576              :             }
   15577           14 :           case BIT_XOR_EXPR:
   15578           14 :             {
   15579           14 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15580           14 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15581           14 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15582              :                 {
   15583            7 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15584              :                     {
   15585            7 :                       if (integer_zerop (_p2))
   15586              :                         {
   15587            0 :                           {
   15588            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15589            0 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures);
   15590            0 :                             if (res) return res;
   15591              :                           }
   15592              :                         }
   15593              :                     }
   15594              :                 }
   15595           14 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15596              :                 {
   15597            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15598              :                     {
   15599            0 :                       if (integer_zerop (_p2))
   15600              :                         {
   15601            0 :                           {
   15602            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   15603            0 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures);
   15604            0 :                             if (res) return res;
   15605              :                           }
   15606              :                         }
   15607              :                     }
   15608              :                 }
   15609              :               break;
   15610              :             }
   15611          255 :           case BIT_AND_EXPR:
   15612          255 :             {
   15613          255 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15614          255 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15615          255 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15616              :                 {
   15617            2 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15618              :                     {
   15619            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   15620              :                         {
   15621            0 :                           {
   15622            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15623            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   15624            0 :                             if (res) return res;
   15625              :                           }
   15626              :                         }
   15627            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   15628              :                         {
   15629            0 :                           {
   15630            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   15631            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   15632            0 :                             if (res) return res;
   15633              :                           }
   15634              :                         }
   15635              :                     }
   15636              :                 }
   15637          255 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15638              :                 {
   15639            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15640              :                     {
   15641            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   15642              :                         {
   15643            0 :                           {
   15644            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15645            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   15646            0 :                             if (res) return res;
   15647              :                           }
   15648              :                         }
   15649            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   15650              :                         {
   15651            0 :                           {
   15652            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   15653            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   15654            0 :                             if (res) return res;
   15655              :                           }
   15656              :                         }
   15657              :                     }
   15658              :                 }
   15659              :               break;
   15660              :             }
   15661         9237 :           case BIT_IOR_EXPR:
   15662         9237 :             {
   15663         9237 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15664         9237 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15665         9237 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15666              :                 {
   15667            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15668              :                     {
   15669            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   15670              :                         {
   15671            0 :                           {
   15672            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15673            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   15674            0 :                             if (res) return res;
   15675              :                           }
   15676              :                         }
   15677            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   15678              :                         {
   15679            0 :                           {
   15680            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   15681            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   15682            0 :                             if (res) return res;
   15683              :                           }
   15684              :                         }
   15685              :                     }
   15686              :                 }
   15687         9237 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15688              :                 {
   15689            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15690              :                     {
   15691            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   15692              :                         {
   15693            0 :                           {
   15694            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15695            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   15696            0 :                             if (res) return res;
   15697              :                           }
   15698              :                         }
   15699            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   15700              :                         {
   15701            0 :                           {
   15702            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   15703            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   15704            0 :                             if (res) return res;
   15705              :                           }
   15706              :                         }
   15707              :                     }
   15708              :                 }
   15709              :               break;
   15710              :             }
   15711            0 :           case MIN_EXPR:
   15712            0 :             {
   15713            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15714            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15715            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15716              :                 {
   15717            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15718              :                     {
   15719            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   15720              :                         {
   15721            0 :                           {
   15722            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15723            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   15724            0 :                             if (res) return res;
   15725              :                           }
   15726              :                         }
   15727            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   15728              :                         {
   15729            0 :                           {
   15730            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   15731            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   15732            0 :                             if (res) return res;
   15733              :                           }
   15734              :                         }
   15735              :                     }
   15736            0 :                   switch (TREE_CODE (_p2))
   15737              :                     {
   15738            0 :                     case MIN_EXPR:
   15739            0 :                       {
   15740            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15741            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15742            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15743              :                           {
   15744            0 :                             {
   15745            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   15746            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   15747            0 :                               if (res) return res;
   15748              :                             }
   15749              :                           }
   15750            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15751              :                           {
   15752            0 :                             {
   15753            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   15754            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   15755            0 :                               if (res) return res;
   15756              :                             }
   15757              :                           }
   15758              :                         break;
   15759              :                       }
   15760              :                     default:;
   15761              :                     }
   15762              :                 }
   15763            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15764              :                 {
   15765            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15766              :                     {
   15767            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   15768              :                         {
   15769            0 :                           {
   15770            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15771            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   15772            0 :                             if (res) return res;
   15773              :                           }
   15774              :                         }
   15775            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   15776              :                         {
   15777            0 :                           {
   15778            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   15779            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   15780            0 :                             if (res) return res;
   15781              :                           }
   15782              :                         }
   15783              :                     }
   15784            0 :                   switch (TREE_CODE (_p2))
   15785              :                     {
   15786            0 :                     case MIN_EXPR:
   15787            0 :                       {
   15788            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15789            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15790            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15791              :                           {
   15792            0 :                             {
   15793            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   15794            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   15795            0 :                               if (res) return res;
   15796              :                             }
   15797              :                           }
   15798            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15799              :                           {
   15800            0 :                             {
   15801            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   15802            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   15803            0 :                               if (res) return res;
   15804              :                             }
   15805              :                           }
   15806              :                         break;
   15807              :                       }
   15808              :                     default:;
   15809              :                     }
   15810              :                 }
   15811            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15812              :                 {
   15813            0 :                   switch (TREE_CODE (_p2))
   15814              :                     {
   15815            0 :                     case MIN_EXPR:
   15816            0 :                       {
   15817            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15818            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15819            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15820              :                           {
   15821            0 :                             {
   15822            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   15823            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   15824            0 :                               if (res) return res;
   15825              :                             }
   15826              :                           }
   15827            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15828              :                           {
   15829            0 :                             {
   15830            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   15831            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   15832            0 :                               if (res) return res;
   15833              :                             }
   15834              :                           }
   15835              :                         break;
   15836              :                       }
   15837              :                     default:;
   15838              :                     }
   15839              :                 }
   15840            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15841              :                 {
   15842            0 :                   switch (TREE_CODE (_p2))
   15843              :                     {
   15844            0 :                     case MIN_EXPR:
   15845            0 :                       {
   15846            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15847            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15848            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15849              :                           {
   15850            0 :                             {
   15851            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   15852            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   15853            0 :                               if (res) return res;
   15854              :                             }
   15855              :                           }
   15856            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15857              :                           {
   15858            0 :                             {
   15859            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   15860            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   15861            0 :                               if (res) return res;
   15862              :                             }
   15863              :                           }
   15864              :                         break;
   15865              :                       }
   15866              :                     default:;
   15867              :                     }
   15868              :                 }
   15869              :               break;
   15870              :             }
   15871            0 :           case MAX_EXPR:
   15872            0 :             {
   15873            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15874            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15875            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15876              :                 {
   15877            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15878              :                     {
   15879            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   15880              :                         {
   15881            0 :                           {
   15882            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15883            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   15884            0 :                             if (res) return res;
   15885              :                           }
   15886              :                         }
   15887            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   15888              :                         {
   15889            0 :                           {
   15890            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   15891            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   15892            0 :                             if (res) return res;
   15893              :                           }
   15894              :                         }
   15895              :                     }
   15896            0 :                   switch (TREE_CODE (_p2))
   15897              :                     {
   15898            0 :                     case MAX_EXPR:
   15899            0 :                       {
   15900            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15901            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15902            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15903              :                           {
   15904            0 :                             {
   15905            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   15906            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   15907            0 :                               if (res) return res;
   15908              :                             }
   15909              :                           }
   15910            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15911              :                           {
   15912            0 :                             {
   15913            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   15914            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   15915            0 :                               if (res) return res;
   15916              :                             }
   15917              :                           }
   15918              :                         break;
   15919              :                       }
   15920              :                     default:;
   15921              :                     }
   15922              :                 }
   15923            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15924              :                 {
   15925            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15926              :                     {
   15927            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   15928              :                         {
   15929            0 :                           {
   15930            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15931            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   15932            0 :                             if (res) return res;
   15933              :                           }
   15934              :                         }
   15935            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   15936              :                         {
   15937            0 :                           {
   15938            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   15939            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   15940            0 :                             if (res) return res;
   15941              :                           }
   15942              :                         }
   15943              :                     }
   15944            0 :                   switch (TREE_CODE (_p2))
   15945              :                     {
   15946            0 :                     case MAX_EXPR:
   15947            0 :                       {
   15948            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15949            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15950            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15951              :                           {
   15952            0 :                             {
   15953            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   15954            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   15955            0 :                               if (res) return res;
   15956              :                             }
   15957              :                           }
   15958            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15959              :                           {
   15960            0 :                             {
   15961            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   15962            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   15963            0 :                               if (res) return res;
   15964              :                             }
   15965              :                           }
   15966              :                         break;
   15967              :                       }
   15968              :                     default:;
   15969              :                     }
   15970              :                 }
   15971            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15972              :                 {
   15973            0 :                   switch (TREE_CODE (_p2))
   15974              :                     {
   15975            0 :                     case MAX_EXPR:
   15976            0 :                       {
   15977            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15978            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15979            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15980              :                           {
   15981            0 :                             {
   15982            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   15983            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   15984            0 :                               if (res) return res;
   15985              :                             }
   15986              :                           }
   15987            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15988              :                           {
   15989            0 :                             {
   15990            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   15991            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   15992            0 :                               if (res) return res;
   15993              :                             }
   15994              :                           }
   15995              :                         break;
   15996              :                       }
   15997              :                     default:;
   15998              :                     }
   15999              :                 }
   16000            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16001              :                 {
   16002            0 :                   switch (TREE_CODE (_p2))
   16003              :                     {
   16004            0 :                     case MAX_EXPR:
   16005            0 :                       {
   16006            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16007            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16008            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   16009              :                           {
   16010            0 :                             {
   16011            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   16012            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   16013            0 :                               if (res) return res;
   16014              :                             }
   16015              :                           }
   16016            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   16017              :                           {
   16018            0 :                             {
   16019            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   16020            0 :                               tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   16021            0 :                               if (res) return res;
   16022              :                             }
   16023              :                           }
   16024              :                         break;
   16025              :                       }
   16026              :                     default:;
   16027              :                     }
   16028              :                 }
   16029              :               break;
   16030              :             }
   16031        23835 :           case MULT_EXPR:
   16032        23835 :             {
   16033        23835 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16034        23835 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16035        23835 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16036              :                 {
   16037        19149 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16038              :                     {
   16039            0 :                       switch (TREE_CODE (_p2))
   16040              :                         {
   16041            0 :                         case MULT_EXPR:
   16042            0 :                           {
   16043            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   16044            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   16045            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   16046              :                               {
   16047            0 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   16048              :                                   {
   16049            0 :                                     {
   16050            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   16051            0 :                                       const enum tree_code op = MULT_EXPR;
   16052            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   16053              : )
   16054              :                                         {
   16055            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1800;
   16056            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1800;
   16057            0 :                                           {
   16058            0 :                                             tree _r;
   16059            0 :                                             _r = captures[2];
   16060            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1023, __FILE__, __LINE__, true);
   16061            0 :                                             return _r;
   16062              :                                           }
   16063            0 : next_after_fail1800:;
   16064              :                                         }
   16065              :                                     }
   16066              :                                   }
   16067              :                               }
   16068              :                             break;
   16069              :                           }
   16070              :                         default:;
   16071              :                         }
   16072              :                     }
   16073              :                 }
   16074        23835 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16075              :                 {
   16076            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16077              :                     {
   16078            0 :                       switch (TREE_CODE (_p2))
   16079              :                         {
   16080            0 :                         case MULT_EXPR:
   16081            0 :                           {
   16082            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   16083            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   16084            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   16085              :                               {
   16086            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   16087              :                                   {
   16088            0 :                                     {
   16089            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   16090            0 :                                       const enum tree_code op = MULT_EXPR;
   16091            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   16092              : )
   16093              :                                         {
   16094            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1801;
   16095            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1801;
   16096            0 :                                           {
   16097            0 :                                             tree _r;
   16098            0 :                                             _r = captures[2];
   16099            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1023, __FILE__, __LINE__, true);
   16100            0 :                                             return _r;
   16101              :                                           }
   16102            0 : next_after_fail1801:;
   16103              :                                         }
   16104              :                                     }
   16105              :                                   }
   16106              :                               }
   16107              :                             break;
   16108              :                           }
   16109              :                         default:;
   16110              :                         }
   16111              :                     }
   16112              :                 }
   16113              :               break;
   16114              :             }
   16115       102564 :           case PLUS_EXPR:
   16116       102564 :             {
   16117       102564 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16118       102564 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16119       102564 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16120              :                 {
   16121          369 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16122              :                     {
   16123            0 :                       switch (TREE_CODE (_p2))
   16124              :                         {
   16125            0 :                         case PLUS_EXPR:
   16126            0 :                           {
   16127            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   16128            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   16129            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   16130              :                               {
   16131            0 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   16132              :                                   {
   16133            0 :                                     {
   16134            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   16135            0 :                                       const enum tree_code op = PLUS_EXPR;
   16136            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   16137              : )
   16138              :                                         {
   16139            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1802;
   16140            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1802;
   16141            0 :                                           {
   16142            0 :                                             tree _r;
   16143            0 :                                             _r = captures[2];
   16144            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1023, __FILE__, __LINE__, true);
   16145            0 :                                             return _r;
   16146              :                                           }
   16147            0 : next_after_fail1802:;
   16148              :                                         }
   16149              :                                     }
   16150              :                                   }
   16151              :                               }
   16152              :                             break;
   16153              :                           }
   16154            0 :                         case MULT_EXPR:
   16155            0 :                           {
   16156            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   16157            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   16158            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   16159              :                               {
   16160            0 :                                 if (uniform_integer_cst_p (_q81))
   16161              :                                   {
   16162            0 :                                     {
   16163            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   16164            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   16165              : )
   16166              :                                         {
   16167            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1803;
   16168            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1803;
   16169            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1803;
   16170            0 :                                           {
   16171            0 :                                             tree _r;
   16172            0 :                                             _r = captures[2];
   16173            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1024, __FILE__, __LINE__, true);
   16174            0 :                                             return _r;
   16175              :                                           }
   16176            0 : next_after_fail1803:;
   16177              :                                         }
   16178              :                                     }
   16179              :                                   }
   16180              :                               }
   16181            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   16182              :                               {
   16183            0 :                                 if (uniform_integer_cst_p (_q81))
   16184              :                                   {
   16185            0 :                                     {
   16186            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   16187            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   16188              : )
   16189              :                                         {
   16190            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1804;
   16191            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1804;
   16192            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1804;
   16193            0 :                                           {
   16194            0 :                                             tree _r;
   16195            0 :                                             _r = captures[2];
   16196            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1024, __FILE__, __LINE__, true);
   16197            0 :                                             return _r;
   16198              :                                           }
   16199            0 : next_after_fail1804:;
   16200              :                                         }
   16201              :                                     }
   16202              :                                   }
   16203              :                               }
   16204              :                             break;
   16205              :                           }
   16206              :                         default:;
   16207              :                         }
   16208              :                     }
   16209              :                 }
   16210       102564 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16211              :                 {
   16212            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16213              :                     {
   16214            0 :                       switch (TREE_CODE (_p2))
   16215              :                         {
   16216            0 :                         case PLUS_EXPR:
   16217            0 :                           {
   16218            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   16219            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   16220            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   16221              :                               {
   16222            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   16223              :                                   {
   16224            0 :                                     {
   16225            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   16226            0 :                                       const enum tree_code op = PLUS_EXPR;
   16227            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   16228              : )
   16229              :                                         {
   16230            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1805;
   16231            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1805;
   16232            0 :                                           {
   16233            0 :                                             tree _r;
   16234            0 :                                             _r = captures[2];
   16235            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1023, __FILE__, __LINE__, true);
   16236            0 :                                             return _r;
   16237              :                                           }
   16238            0 : next_after_fail1805:;
   16239              :                                         }
   16240              :                                     }
   16241              :                                   }
   16242              :                               }
   16243              :                             break;
   16244              :                           }
   16245            0 :                         case MULT_EXPR:
   16246            0 :                           {
   16247            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   16248            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   16249            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   16250              :                               {
   16251            0 :                                 if (uniform_integer_cst_p (_q81))
   16252              :                                   {
   16253            0 :                                     {
   16254            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   16255            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   16256              : )
   16257              :                                         {
   16258            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1806;
   16259            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1806;
   16260            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1806;
   16261            0 :                                           {
   16262            0 :                                             tree _r;
   16263            0 :                                             _r = captures[2];
   16264            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1024, __FILE__, __LINE__, true);
   16265            0 :                                             return _r;
   16266              :                                           }
   16267            0 : next_after_fail1806:;
   16268              :                                         }
   16269              :                                     }
   16270              :                                   }
   16271              :                               }
   16272            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   16273              :                               {
   16274            0 :                                 if (uniform_integer_cst_p (_q81))
   16275              :                                   {
   16276            0 :                                     {
   16277            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   16278            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   16279              : )
   16280              :                                         {
   16281            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1807;
   16282            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1807;
   16283            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1807;
   16284            0 :                                           {
   16285            0 :                                             tree _r;
   16286            0 :                                             _r = captures[2];
   16287            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1024, __FILE__, __LINE__, true);
   16288            0 :                                             return _r;
   16289              :                                           }
   16290            0 : next_after_fail1807:;
   16291              :                                         }
   16292              :                                     }
   16293              :                                   }
   16294              :                               }
   16295              :                             break;
   16296              :                           }
   16297              :                         default:;
   16298              :                         }
   16299              :                     }
   16300              :                 }
   16301              :               break;
   16302              :             }
   16303      3143533 :           default:;
   16304              :           }
   16305      3143533 :         switch (TREE_CODE (_q21))
   16306              :           {
   16307      2233026 :           case INTEGER_CST:
   16308      2233026 :             {
   16309      2233026 :               switch (TREE_CODE (_p1))
   16310              :                 {
   16311          228 :                 case NEGATE_EXPR:
   16312          228 :                   {
   16313          228 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   16314          228 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16315              :                       {
   16316           42 :                         switch (TREE_CODE (_p2))
   16317              :                           {
   16318           14 :                           case INTEGER_CST:
   16319           14 :                             {
   16320           14 :                               {
   16321           14 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   16322           14 :                                 if (!TYPE_SATURATING (type)
   16323           14 :  && (TYPE_OVERFLOW_WRAPS (type)
   16324            5 :  || !wi::only_sign_bit_p (wi::to_wide (captures[1])))
   16325           41 :  && wi::eq_p (wi::neg (wi::to_wide (captures[1])), wi::to_wide (captures[3]))
   16326              : )
   16327              :                                   {
   16328           11 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1808;
   16329           11 :                                     if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1808;
   16330           11 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1808;
   16331           11 :                                     {
   16332           11 :                                       tree _r;
   16333           11 :                                       _r = captures[2];
   16334           11 :                                       if (TREE_SIDE_EFFECTS (captures[1]))
   16335            0 :                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   16336           11 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1025, __FILE__, __LINE__, true);
   16337           11 :                                       return _r;
   16338              :                                     }
   16339            3 : next_after_fail1808:;
   16340              :                                   }
   16341              :                               }
   16342            3 :                               break;
   16343              :                             }
   16344              :                           default:;
   16345              :                           }
   16346              :                       }
   16347              :                     break;
   16348              :                   }
   16349           99 :                 case BIT_NOT_EXPR:
   16350           99 :                   {
   16351           99 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   16352           99 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16353              :                       {
   16354           20 :                         switch (TREE_CODE (_p2))
   16355              :                           {
   16356           20 :                           case INTEGER_CST:
   16357           20 :                             {
   16358           20 :                               {
   16359           20 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   16360           20 :                                 if (wi::eq_p (wi::bit_not (wi::to_wide (captures[1])), wi::to_wide (captures[3]))
   16361              : )
   16362              :                                   {
   16363           20 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1809;
   16364           20 :                                     if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1809;
   16365           20 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1809;
   16366           20 :                                     {
   16367           20 :                                       tree _r;
   16368           20 :                                       _r = captures[2];
   16369           20 :                                       if (TREE_SIDE_EFFECTS (captures[1]))
   16370            0 :                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   16371           20 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1026, __FILE__, __LINE__, true);
   16372           20 :                                       return _r;
   16373              :                                     }
   16374            0 : next_after_fail1809:;
   16375              :                                   }
   16376              :                               }
   16377            0 :                               break;
   16378              :                             }
   16379              :                           default:;
   16380              :                           }
   16381              :                       }
   16382              :                     break;
   16383              :                   }
   16384            5 :                 case ABS_EXPR:
   16385            5 :                   {
   16386            5 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   16387            5 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16388              :                       {
   16389            1 :                         switch (TREE_CODE (_p2))
   16390              :                           {
   16391            1 :                           case INTEGER_CST:
   16392            1 :                             {
   16393            1 :                               {
   16394            1 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   16395            1 :                                 if (wi::abs (wi::to_wide (captures[1])) == wi::to_wide (captures[3])
   16396              : )
   16397              :                                   {
   16398            0 :                                     if (ABS_EXPR != ABSU_EXPR && wi::only_sign_bit_p (wi::to_wide (captures[1]))
   16399              : )
   16400              :                                       {
   16401            0 :                                         {
   16402            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
   16403            0 :                                             if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1810;
   16404            0 :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1810;
   16405            0 :                                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1810;
   16406            0 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1810;
   16407            0 :                                             {
   16408            0 :                                               tree res_op0;
   16409            0 :                                               {
   16410            0 :                                                 tree _o1[1], _r1;
   16411            0 :                                                 _o1[0] = captures[0];
   16412            0 :                                                 _r1 = fold_build1_loc (loc, ABSU_EXPR, utype, _o1[0]);
   16413            0 :                                                 res_op0 = _r1;
   16414              :                                               }
   16415            0 :                                               tree _r;
   16416            0 :                                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   16417            0 :                                               if (TREE_SIDE_EFFECTS (captures[1]))
   16418            0 :                                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   16419            0 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1027, __FILE__, __LINE__, true);
   16420            0 :                                               return _r;
   16421              :                                             }
   16422            1 : next_after_fail1810:;
   16423              :                                         }
   16424              :                                       }
   16425              :                                     else
   16426              :                                       {
   16427            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1811;
   16428            0 :                                         if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1811;
   16429            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1811;
   16430            0 :                                         {
   16431            0 :                                           tree _r;
   16432            0 :                                           _r = captures[2];
   16433            0 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   16434            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   16435            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1028, __FILE__, __LINE__, true);
   16436            0 :                                           return _r;
   16437              :                                         }
   16438            1 : next_after_fail1811:;
   16439              :                                       }
   16440              :                                   }
   16441              :                               }
   16442            1 :                               break;
   16443              :                             }
   16444              :                           default:;
   16445              :                           }
   16446              :                       }
   16447              :                     break;
   16448              :                   }
   16449            0 :                 case ABSU_EXPR:
   16450            0 :                   {
   16451            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   16452            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16453              :                       {
   16454            0 :                         switch (TREE_CODE (_p2))
   16455              :                           {
   16456            0 :                           case INTEGER_CST:
   16457            0 :                             {
   16458            0 :                               {
   16459            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   16460            0 :                                 if (wi::abs (wi::to_wide (captures[1])) == wi::to_wide (captures[3])
   16461              : )
   16462              :                                   {
   16463            0 :                                     if (ABSU_EXPR != ABSU_EXPR && wi::only_sign_bit_p (wi::to_wide (captures[1]))
   16464              : )
   16465              :                                       {
   16466              :                                         {
   16467              :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
   16468              :                                             if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1812;
   16469              :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1812;
   16470              :                                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1812;
   16471              :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1812;
   16472              :                                             {
   16473              :                                               tree res_op0;
   16474              :                                               {
   16475              :                                                 tree _o1[1], _r1;
   16476              :                                                 _o1[0] = captures[0];
   16477              :                                                 _r1 = fold_build1_loc (loc, ABSU_EXPR, utype, _o1[0]);
   16478              :                                                 res_op0 = _r1;
   16479              :                                               }
   16480              :                                               tree _r;
   16481              :                                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   16482              :                                               if (TREE_SIDE_EFFECTS (captures[1]))
   16483              :                                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   16484              :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1027, __FILE__, __LINE__, true);
   16485              :                                               return _r;
   16486              :                                             }
   16487              : next_after_fail1812:;
   16488              :                                         }
   16489              :                                       }
   16490              :                                     else
   16491              :                                       {
   16492            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1813;
   16493            0 :                                         if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1813;
   16494            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1813;
   16495            0 :                                         {
   16496            0 :                                           tree _r;
   16497            0 :                                           _r = captures[2];
   16498            0 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   16499            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   16500            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1028, __FILE__, __LINE__, true);
   16501            0 :                                           return _r;
   16502              :                                         }
   16503            0 : next_after_fail1813:;
   16504              :                                       }
   16505              :                                   }
   16506              :                               }
   16507            0 :                               break;
   16508              :                             }
   16509              :                           default:;
   16510              :                           }
   16511              :                       }
   16512              :                     break;
   16513              :                   }
   16514              :                 default:;
   16515              :                 }
   16516              :               break;
   16517              :             }
   16518              :           default:;
   16519              :           }
   16520              :         break;
   16521              :       }
   16522      2635977 :     case EQ_EXPR:
   16523      2635977 :       {
   16524      2635977 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16525      2635977 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16526      2635977 :         if (tree_zero_one_valued_p (_q20))
   16527              :           {
   16528       156602 :             if (integer_zerop (_q21))
   16529              :               {
   16530          808 :                 switch (TREE_CODE (_p2))
   16531              :                   {
   16532            1 :                   case BIT_XOR_EXPR:
   16533            1 :                     {
   16534            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16535            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   16536            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16537              :                         {
   16538            1 :                           {
   16539            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   16540            1 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16541            1 :                             if (res) return res;
   16542              :                           }
   16543              :                         }
   16544            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16545              :                         {
   16546            0 :                           {
   16547            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   16548            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16549            0 :                             if (res) return res;
   16550              :                           }
   16551              :                         }
   16552              :                       break;
   16553              :                     }
   16554            1 :                   case BIT_IOR_EXPR:
   16555            1 :                     {
   16556            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16557            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   16558            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16559              :                         {
   16560            1 :                           {
   16561            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   16562            1 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16563            1 :                             if (res) return res;
   16564              :                           }
   16565              :                         }
   16566            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16567              :                         {
   16568            0 :                           {
   16569            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   16570            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16571            0 :                             if (res) return res;
   16572              :                           }
   16573              :                         }
   16574              :                       break;
   16575              :                     }
   16576            1 :                   case PLUS_EXPR:
   16577            1 :                     {
   16578            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16579            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   16580            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16581              :                         {
   16582            1 :                           {
   16583            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   16584            1 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16585            1 :                             if (res) return res;
   16586              :                           }
   16587              :                         }
   16588            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16589              :                         {
   16590            0 :                           {
   16591            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   16592            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16593            0 :                             if (res) return res;
   16594              :                           }
   16595              :                         }
   16596              :                       break;
   16597              :                     }
   16598              :                   default:;
   16599              :                   }
   16600              :               }
   16601              :           }
   16602      2635974 :         if (integer_zerop (_q21))
   16603              :           {
   16604       683951 :             switch (TREE_CODE (_p2))
   16605              :               {
   16606        16003 :               case PLUS_EXPR:
   16607        16003 :                 {
   16608        16003 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16609        16003 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16610        16003 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16611              :                     {
   16612            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16613              :                         {
   16614            0 :                           {
   16615            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16616            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16617            0 :                             if (res) return res;
   16618              :                           }
   16619              :                         }
   16620              :                     }
   16621        16003 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16622              :                     {
   16623         1961 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16624              :                         {
   16625            0 :                           {
   16626            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16627            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16628            0 :                             if (res) return res;
   16629              :                           }
   16630              :                         }
   16631              :                     }
   16632              :                   break;
   16633              :                 }
   16634          108 :               case BIT_IOR_EXPR:
   16635          108 :                 {
   16636          108 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16637          108 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16638          108 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16639              :                     {
   16640            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16641              :                         {
   16642            0 :                           {
   16643            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16644            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16645            0 :                             if (res) return res;
   16646              :                           }
   16647              :                         }
   16648              :                     }
   16649          108 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16650              :                     {
   16651            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16652              :                         {
   16653            0 :                           {
   16654            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16655            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16656            0 :                             if (res) return res;
   16657              :                           }
   16658              :                         }
   16659              :                     }
   16660              :                   break;
   16661              :                 }
   16662            0 :               case BIT_XOR_EXPR:
   16663            0 :                 {
   16664            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16665            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16666            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16667              :                     {
   16668            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16669              :                         {
   16670            0 :                           {
   16671            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16672            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16673            0 :                             if (res) return res;
   16674              :                           }
   16675              :                         }
   16676              :                     }
   16677            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16678              :                     {
   16679            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16680              :                         {
   16681            0 :                           {
   16682            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16683            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16684            0 :                             if (res) return res;
   16685              :                           }
   16686              :                         }
   16687              :                     }
   16688              :                   break;
   16689              :                 }
   16690            1 :               case LROTATE_EXPR:
   16691            1 :                 {
   16692            1 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16693            1 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16694            1 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16695              :                     {
   16696            1 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16697              :                         {
   16698            1 :                           {
   16699            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16700            1 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures);
   16701            1 :                             if (res) return res;
   16702              :                           }
   16703              :                         }
   16704              :                     }
   16705              :                   break;
   16706              :                 }
   16707            0 :               case RROTATE_EXPR:
   16708            0 :                 {
   16709            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16710            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16711            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16712              :                     {
   16713            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16714              :                         {
   16715            0 :                           {
   16716            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16717            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures);
   16718            0 :                             if (res) return res;
   16719              :                           }
   16720              :                         }
   16721              :                     }
   16722              :                   break;
   16723              :                 }
   16724           48 :               case LSHIFT_EXPR:
   16725           48 :                 {
   16726           48 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16727           48 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16728           48 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16729              :                     {
   16730            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16731              :                         {
   16732            0 :                           {
   16733            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16734            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures);
   16735            0 :                             if (res) return res;
   16736              :                           }
   16737              :                         }
   16738              :                     }
   16739              :                   break;
   16740              :                 }
   16741           46 :               case RSHIFT_EXPR:
   16742           46 :                 {
   16743           46 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16744           46 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16745           46 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16746              :                     {
   16747           20 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16748              :                         {
   16749           20 :                           {
   16750           20 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16751           20 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures);
   16752           20 :                             if (res) return res;
   16753              :                           }
   16754              :                         }
   16755              :                     }
   16756              :                   break;
   16757              :                 }
   16758          183 :               case MINUS_EXPR:
   16759          183 :                 {
   16760          183 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16761          183 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16762          183 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16763              :                     {
   16764            7 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16765              :                         {
   16766            0 :                           {
   16767            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16768            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures);
   16769            0 :                             if (res) return res;
   16770              :                           }
   16771              :                         }
   16772              :                     }
   16773              :                   break;
   16774              :                 }
   16775       150771 :               case POINTER_PLUS_EXPR:
   16776       150771 :                 {
   16777       150771 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16778       150771 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16779       150771 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16780              :                     {
   16781            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16782              :                         {
   16783            0 :                           {
   16784            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16785            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures);
   16786            0 :                             if (res) return res;
   16787              :                           }
   16788              :                         }
   16789              :                     }
   16790              :                   break;
   16791              :                 }
   16792              :               default:;
   16793              :               }
   16794              :           }
   16795      2635953 :         if (integer_onep (_q21))
   16796              :           {
   16797        48032 :             switch (TREE_CODE (_p2))
   16798              :               {
   16799           91 :               case TRUNC_DIV_EXPR:
   16800           91 :                 {
   16801           91 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16802           91 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16803           91 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16804              :                     {
   16805            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16806              :                         {
   16807            0 :                           {
   16808            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16809            0 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, TRUNC_DIV_EXPR);
   16810            0 :                             if (res) return res;
   16811              :                           }
   16812              :                         }
   16813              :                     }
   16814              :                   break;
   16815              :                 }
   16816            0 :               case CEIL_DIV_EXPR:
   16817            0 :                 {
   16818            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16819            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16820            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16821              :                     {
   16822            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16823              :                         {
   16824            0 :                           {
   16825            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16826            0 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, CEIL_DIV_EXPR);
   16827            0 :                             if (res) return res;
   16828              :                           }
   16829              :                         }
   16830              :                     }
   16831              :                   break;
   16832              :                 }
   16833            0 :               case FLOOR_DIV_EXPR:
   16834            0 :                 {
   16835            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16836            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16837            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16838              :                     {
   16839            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16840              :                         {
   16841            0 :                           {
   16842            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16843            0 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, FLOOR_DIV_EXPR);
   16844            0 :                             if (res) return res;
   16845              :                           }
   16846              :                         }
   16847              :                     }
   16848              :                   break;
   16849              :                 }
   16850            0 :               case ROUND_DIV_EXPR:
   16851            0 :                 {
   16852            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16853            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16854            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16855              :                     {
   16856            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16857              :                         {
   16858            0 :                           {
   16859            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16860            0 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, ROUND_DIV_EXPR);
   16861            0 :                             if (res) return res;
   16862              :                           }
   16863              :                         }
   16864              :                     }
   16865              :                   break;
   16866              :                 }
   16867            0 :               case EXACT_DIV_EXPR:
   16868            0 :                 {
   16869            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16870            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16871            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16872              :                     {
   16873            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16874              :                         {
   16875            0 :                           {
   16876            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16877            0 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, EXACT_DIV_EXPR);
   16878            0 :                             if (res) return res;
   16879              :                           }
   16880              :                         }
   16881              :                     }
   16882              :                   break;
   16883              :                 }
   16884            0 :               case MULT_EXPR:
   16885            0 :                 {
   16886            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16887            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16888            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16889              :                     {
   16890            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16891              :                         {
   16892            0 :                           {
   16893            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16894            0 :                             tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   16895            0 :                             if (res) return res;
   16896              :                           }
   16897              :                         }
   16898              :                     }
   16899            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16900              :                     {
   16901            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16902              :                         {
   16903            0 :                           {
   16904            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16905            0 :                             tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   16906            0 :                             if (res) return res;
   16907              :                           }
   16908              :                         }
   16909              :                     }
   16910              :                   break;
   16911              :                 }
   16912              :               default:;
   16913              :               }
   16914              :           }
   16915      2635953 :         if (integer_all_onesp (_q21))
   16916              :           {
   16917        41257 :             switch (TREE_CODE (_p2))
   16918              :               {
   16919            0 :               case BIT_AND_EXPR:
   16920            0 :                 {
   16921            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16922            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16923            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16924              :                     {
   16925            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16926              :                         {
   16927            0 :                           {
   16928            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16929            0 :                             tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16930            0 :                             if (res) return res;
   16931              :                           }
   16932              :                         }
   16933              :                     }
   16934            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16935              :                     {
   16936            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16937              :                         {
   16938            0 :                           {
   16939            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16940            0 :                             tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16941            0 :                             if (res) return res;
   16942              :                           }
   16943              :                         }
   16944              :                     }
   16945              :                   break;
   16946              :                 }
   16947              :               default:;
   16948              :               }
   16949              :           }
   16950      2635953 :         switch (TREE_CODE (_q20))
   16951              :           {
   16952        78677 :           CASE_CONVERT:
   16953        78677 :             {
   16954        78677 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16955        78677 :               switch (TREE_CODE (_q21))
   16956              :                 {
   16957        24377 :                 case INTEGER_CST:
   16958        24377 :                   {
   16959        24377 :                     switch (TREE_CODE (_p1))
   16960              :                       {
   16961        10866 :                       CASE_CONVERT:
   16962        10866 :                         {
   16963        10866 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   16964        10866 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   16965              :                             {
   16966           57 :                               switch (TREE_CODE (_p2))
   16967              :                                 {
   16968           56 :                                 case INTEGER_CST:
   16969           56 :                                   {
   16970           56 :                                     {
   16971           56 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   16972           56 :                                       tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16973           56 :                                       if (res) return res;
   16974              :                                     }
   16975           56 :                                     break;
   16976              :                                   }
   16977              :                                 default:;
   16978              :                                 }
   16979              :                             }
   16980              :                           break;
   16981              :                         }
   16982        24377 :                       default:;
   16983              :                       }
   16984        24377 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   16985              :                       {
   16986          118 :                         switch (TREE_CODE (_p2))
   16987              :                           {
   16988          112 :                           case INTEGER_CST:
   16989          112 :                             {
   16990          112 :                               {
   16991          112 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   16992          112 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16993          112 :                                 if (res) return res;
   16994              :                               }
   16995          112 :                               break;
   16996              :                             }
   16997              :                           default:;
   16998              :                           }
   16999              :                       }
   17000              :                     break;
   17001              :                   }
   17002              :                 default:;
   17003              :                 }
   17004              :               break;
   17005              :             }
   17006      2635953 :           default:;
   17007              :           }
   17008      2635953 :         switch (TREE_CODE (_q21))
   17009              :           {
   17010      1808094 :           case INTEGER_CST:
   17011      1808094 :             {
   17012      1808094 :               switch (TREE_CODE (_p1))
   17013              :                 {
   17014       423075 :                 CASE_CONVERT:
   17015       423075 :                   {
   17016       423075 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   17017       423075 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17018              :                       {
   17019          321 :                         switch (TREE_CODE (_p2))
   17020              :                           {
   17021            7 :                           case INTEGER_CST:
   17022            7 :                             {
   17023            7 :                               {
   17024            7 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   17025            7 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17026            7 :                                 if (res) return res;
   17027              :                               }
   17028            0 :                               break;
   17029              :                             }
   17030              :                           default:;
   17031              :                           }
   17032              :                       }
   17033              :                     break;
   17034              :                   }
   17035      1808087 :                 default:;
   17036              :                 }
   17037      1808087 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   17038              :                 {
   17039           58 :                   switch (TREE_CODE (_p2))
   17040              :                     {
   17041            5 :                     case INTEGER_CST:
   17042            5 :                       {
   17043            5 :                         {
   17044            5 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   17045            5 :                           tree res = generic_simplify_340 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17046            5 :                           if (res) return res;
   17047              :                         }
   17048            0 :                         break;
   17049              :                       }
   17050              :                     default:;
   17051              :                     }
   17052              :                 }
   17053              :               break;
   17054              :             }
   17055      2635941 :           default:;
   17056              :           }
   17057      2635941 :       if (tree_expr_nonnegative_p (_q21))
   17058              :         {
   17059      2480756 :           if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   17060              :             {
   17061           80 :               switch (TREE_CODE (_p2))
   17062              :                 {
   17063            0 :                 case ABS_EXPR:
   17064            0 :                   {
   17065            0 :                     tree _q60 = TREE_OPERAND (_p2, 0);
   17066            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   17067              :                       {
   17068            0 :                         {
   17069            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   17070            0 :                           tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17071            0 :                           if (res) return res;
   17072              :                         }
   17073              :                       }
   17074              :                     break;
   17075              :                   }
   17076              :                 default:;
   17077              :                 }
   17078              :             }
   17079              :         }
   17080      2635941 :         if (tree_expr_nonnegative_p (_q20))
   17081              :           {
   17082      1811916 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   17083              :               {
   17084        22468 :                 switch (TREE_CODE (_p2))
   17085              :                   {
   17086            0 :                   case ABS_EXPR:
   17087            0 :                     {
   17088            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   17089            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   17090              :                         {
   17091            0 :                           {
   17092            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   17093            0 :                             tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17094            0 :                             if (res) return res;
   17095              :                           }
   17096              :                         }
   17097              :                       break;
   17098              :                     }
   17099              :                   default:;
   17100              :                   }
   17101              :               }
   17102      1811916 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   17103              :               {
   17104           25 :                 switch (TREE_CODE (_p2))
   17105              :                   {
   17106            0 :                   case ABS_EXPR:
   17107            0 :                     {
   17108            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   17109            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   17110              :                         {
   17111            0 :                           {
   17112            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   17113            0 :                             tree res = generic_simplify_361 (loc, type, _p0, _p1, _p2, captures);
   17114            0 :                             if (res) return res;
   17115              :                           }
   17116              :                         }
   17117              :                       break;
   17118              :                     }
   17119              :                   default:;
   17120              :                   }
   17121              :               }
   17122              :           }
   17123      2635941 :         if (tree_expr_nonnegative_p (_q21))
   17124              :           {
   17125      2480756 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   17126              :               {
   17127        23010 :                 switch (TREE_CODE (_p2))
   17128              :                   {
   17129            0 :                   case ABS_EXPR:
   17130            0 :                     {
   17131            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   17132            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   17133              :                         {
   17134            0 :                           {
   17135            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   17136            0 :                             tree res = generic_simplify_361 (loc, type, _p0, _p1, _p2, captures);
   17137            0 :                             if (res) return res;
   17138              :                           }
   17139              :                         }
   17140              :                       break;
   17141              :                     }
   17142              :                   default:;
   17143              :                   }
   17144              :               }
   17145              :           }
   17146              :         break;
   17147              :       }
   17148      1219147 :     case INTEGER_CST:
   17149      1219147 :       {
   17150      1219147 :         {
   17151      1219147 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   17152      1219147 :           if (integer_zerop (captures[0])
   17153              : )
   17154              :             {
   17155       638959 :               if (!VOID_TYPE_P (TREE_TYPE (captures[2])) || VOID_TYPE_P (type)
   17156              : )
   17157              :                 {
   17158       630747 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1814;
   17159       459226 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1814;
   17160       447568 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1814;
   17161       447568 :                   {
   17162       447568 :                     tree _r;
   17163       447568 :                     _r = captures[2];
   17164       447568 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   17165            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   17166       447568 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1029, __FILE__, __LINE__, true);
   17167       447568 :                     return _r;
   17168              :                   }
   17169       404797 : next_after_fail1814:;
   17170              :                 }
   17171              :             }
   17172              :           else
   17173              :             {
   17174       580188 :               if (!VOID_TYPE_P (TREE_TYPE (captures[1])) || VOID_TYPE_P (type)
   17175              : )
   17176              :                 {
   17177       579196 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1815;
   17178       456156 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1815;
   17179       366782 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1815;
   17180       366782 :                   {
   17181       366782 :                     tree _r;
   17182       366782 :                     _r = captures[1];
   17183       366782 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   17184            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   17185       366782 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1030, __FILE__, __LINE__, true);
   17186       366782 :                     return _r;
   17187              :                   }
   17188       404797 : next_after_fail1815:;
   17189              :                 }
   17190              :             }
   17191              :         }
   17192       404797 :         break;
   17193              :       }
   17194     13313337 :     default:;
   17195              :     }
   17196     13313337 :   switch (TREE_CODE (_p1))
   17197              :     {
   17198       830803 :     case COND_EXPR:
   17199       830803 :       {
   17200       830803 :         tree _q30 = TREE_OPERAND (_p1, 0);
   17201       830803 :         tree _q31 = TREE_OPERAND (_p1, 1);
   17202       830803 :         tree _q32 = TREE_OPERAND (_p1, 2);
   17203       830803 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   17204              :           {
   17205          609 :             {
   17206          609 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
   17207          609 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1816;
   17208          609 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1816;
   17209           55 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1816;
   17210           54 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1816;
   17211           10 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1816;
   17212           10 :               {
   17213           10 :                 tree res_op0;
   17214           10 :                 res_op0 = captures[0];
   17215           10 :                 tree res_op1;
   17216           10 :                 res_op1 = captures[1];
   17217           10 :                 tree res_op2;
   17218           10 :                 res_op2 = captures[3];
   17219           10 :                 tree _r;
   17220           10 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   17221           10 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1031, __FILE__, __LINE__, true);
   17222           10 :                 return _r;
   17223              :               }
   17224          599 : next_after_fail1816:;
   17225              :             }
   17226              :           }
   17227              :         break;
   17228              :       }
   17229     13313327 :     default:;
   17230              :     }
   17231     13313327 :   switch (TREE_CODE (_p2))
   17232              :     {
   17233       872896 :     case COND_EXPR:
   17234       872896 :       {
   17235       872896 :         tree _q40 = TREE_OPERAND (_p2, 0);
   17236       872896 :         tree _q41 = TREE_OPERAND (_p2, 1);
   17237       872896 :         tree _q42 = TREE_OPERAND (_p2, 2);
   17238       872896 :         if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   17239              :           {
   17240         3762 :             {
   17241         3762 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
   17242         3762 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1817;
   17243         3762 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1817;
   17244         3762 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1817;
   17245          184 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1817;
   17246          184 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1817;
   17247          184 :               {
   17248          184 :                 tree res_op0;
   17249          184 :                 res_op0 = captures[0];
   17250          184 :                 tree res_op1;
   17251          184 :                 res_op1 = captures[1];
   17252          184 :                 tree res_op2;
   17253          184 :                 res_op2 = captures[3];
   17254          184 :                 tree _r;
   17255          184 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   17256          184 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1032, __FILE__, __LINE__, true);
   17257          184 :                 return _r;
   17258              :               }
   17259         3578 : next_after_fail1817:;
   17260              :             }
   17261              :           }
   17262       872712 :         {
   17263       872712 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
   17264       872712 :           if (inverse_conditions_p (captures[0], captures[2])
   17265              : )
   17266              :             {
   17267         1186 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1818;
   17268         1186 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1818;
   17269         1186 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1818;
   17270         1186 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1818;
   17271         1186 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1818;
   17272         1186 :               {
   17273         1186 :                 tree res_op0;
   17274         1186 :                 res_op0 = captures[0];
   17275         1186 :                 tree res_op1;
   17276         1186 :                 res_op1 = captures[1];
   17277         1186 :                 tree res_op2;
   17278         1186 :                 res_op2 = captures[3];
   17279         1186 :                 tree _r;
   17280         1186 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   17281         1186 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1033, __FILE__, __LINE__, true);
   17282         1186 :                 return _r;
   17283              :               }
   17284       871526 : next_after_fail1818:;
   17285              :             }
   17286              :         }
   17287       871526 :         break;
   17288              :       }
   17289     13311957 :     default:;
   17290              :     }
   17291     13311957 :   switch (TREE_CODE (_p1))
   17292              :     {
   17293       830793 :     case COND_EXPR:
   17294       830793 :       {
   17295       830793 :         tree _q30 = TREE_OPERAND (_p1, 0);
   17296       830793 :         tree _q31 = TREE_OPERAND (_p1, 1);
   17297       830793 :         tree _q32 = TREE_OPERAND (_p1, 2);
   17298       830793 :         {
   17299       830793 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
   17300       830793 :           if (inverse_conditions_p (captures[0], captures[1])
   17301              : )
   17302              :             {
   17303          136 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1819;
   17304          136 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1819;
   17305            2 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1819;
   17306            2 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1819;
   17307            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1819;
   17308            2 :               {
   17309            2 :                 tree res_op0;
   17310            2 :                 res_op0 = captures[0];
   17311            2 :                 tree res_op1;
   17312            2 :                 res_op1 = captures[3];
   17313            2 :                 tree res_op2;
   17314            2 :                 res_op2 = captures[4];
   17315            2 :                 tree _r;
   17316            2 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   17317            2 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1034, __FILE__, __LINE__, true);
   17318            2 :                 return _r;
   17319              :               }
   17320       830791 : next_after_fail1819:;
   17321              :             }
   17322              :         }
   17323       830791 :         break;
   17324              :       }
   17325     13311955 :     default:;
   17326              :     }
   17327     13311955 :   if ((_p2 == _p1 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _p1, 0) && types_match (_p2, _p1)))
   17328              :     {
   17329        50924 :       {
   17330        50924 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   17331        50924 :         if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1820;
   17332        50924 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1820;
   17333        50924 :         {
   17334        50924 :           tree _r;
   17335        50924 :           _r = captures[1];
   17336        50924 :           if (TREE_SIDE_EFFECTS (captures[0]))
   17337          357 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   17338        50924 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1035, __FILE__, __LINE__, true);
   17339        50924 :           return _r;
   17340              :         }
   17341            0 : next_after_fail1820:;
   17342              :       }
   17343              :     }
   17344     13261031 :   switch (TREE_CODE (_p0))
   17345              :     {
   17346      2606004 :     case EQ_EXPR:
   17347      2606004 :       {
   17348      2606004 :         tree _q20 = TREE_OPERAND (_p0, 0);
   17349      2606004 :         tree _q21 = TREE_OPERAND (_p0, 1);
   17350      2606004 :         if (zerop (_q21))
   17351              :           {
   17352       871989 :             switch (TREE_CODE (_p2))
   17353              :               {
   17354           36 :               case NEGATE_EXPR:
   17355           36 :                 {
   17356           36 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   17357           36 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   17358              :                     {
   17359           16 :                       {
   17360           16 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   17361           16 :                         const enum tree_code cmp = EQ_EXPR;
   17362           16 :                         if (!HONOR_SIGNED_ZEROS (type)
   17363           16 :  && bitwise_equal_p (captures[0], captures[1])
   17364              : )
   17365              :                           {
   17366            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1821;
   17367            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1821;
   17368            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1821;
   17369            0 :                             {
   17370            0 :                               tree _r;
   17371            0 :                               _r = captures[2];
   17372            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1036, __FILE__, __LINE__, true);
   17373            0 :                               return _r;
   17374              :                             }
   17375           16 : next_after_fail1821:;
   17376              :                           }
   17377              :                       }
   17378              :                     }
   17379              :                   break;
   17380              :                 }
   17381       871989 :               default:;
   17382              :               }
   17383       871989 :             if (zerop (_p1))
   17384              :               {
   17385        43257 :                 switch (TREE_CODE (_p2))
   17386              :                   {
   17387           14 :                   case NEGATE_EXPR:
   17388           14 :                     {
   17389           14 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   17390           14 :                       {
   17391           14 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   17392           14 :                         const enum tree_code cmp = EQ_EXPR;
   17393           14 :                         if (!HONOR_SIGNED_ZEROS (type)
   17394           14 :  && bitwise_equal_p (captures[0], captures[2])
   17395              : )
   17396              :                           {
   17397            7 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1822;
   17398            7 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1822;
   17399            7 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1822;
   17400            7 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1822;
   17401            7 :                             {
   17402            7 :                               tree _r;
   17403            7 :                               _r = captures[1];
   17404            7 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1037, __FILE__, __LINE__, true);
   17405            7 :                               return _r;
   17406              :                             }
   17407            7 : next_after_fail1822:;
   17408              :                           }
   17409              :                       }
   17410            7 :                       break;
   17411              :                     }
   17412              :                   default:;
   17413              :                   }
   17414              :               }
   17415              :           }
   17416      2605997 :         switch (TREE_CODE (_q20))
   17417              :           {
   17418           28 :           case MINUS_EXPR:
   17419           28 :             {
   17420           28 :               tree _q30 = TREE_OPERAND (_q20, 0);
   17421           28 :               tree _q31 = TREE_OPERAND (_q20, 1);
   17422           28 :               if (zerop (_q21))
   17423              :                 {
   17424            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   17425              :                     {
   17426            0 :                       switch (TREE_CODE (_p2))
   17427              :                         {
   17428            0 :                         case MINUS_EXPR:
   17429            0 :                           {
   17430            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17431            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17432            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   17433              :                               {
   17434            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   17435              :                                   {
   17436            0 :                                     {
   17437            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   17438            0 :                                       const enum tree_code cmp = EQ_EXPR;
   17439            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   17440              : )
   17441              :                                         {
   17442            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1823;
   17443            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1823;
   17444            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1823;
   17445            0 :                                           {
   17446            0 :                                             tree _r;
   17447            0 :                                             _r = captures[3];
   17448            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1038, __FILE__, __LINE__, true);
   17449            0 :                                             return _r;
   17450              :                                           }
   17451            0 : next_after_fail1823:;
   17452              :                                         }
   17453              :                                     }
   17454              :                                   }
   17455              :                               }
   17456              :                             break;
   17457              :                           }
   17458              :                         default:;
   17459              :                         }
   17460              :                     }
   17461              :                 }
   17462           28 :               if (integer_zerop (_q21))
   17463              :                 {
   17464            0 :                   if (integer_zerop (_p1))
   17465              :                     {
   17466            0 :                       switch (TREE_CODE (_p2))
   17467              :                         {
   17468            0 :                         case MINUS_EXPR:
   17469            0 :                           {
   17470            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17471            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17472            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   17473              :                               {
   17474            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   17475              :                                   {
   17476            0 :                                     {
   17477            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   17478            0 :                                       tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   17479            0 :                                       if (res) return res;
   17480              :                                     }
   17481              :                                   }
   17482              :                               }
   17483              :                             break;
   17484              :                           }
   17485              :                         default:;
   17486              :                         }
   17487              :                     }
   17488              :                 }
   17489              :               break;
   17490              :             }
   17491        59608 :           case CALL_EXPR:
   17492        59608 :             switch (get_call_combined_fn (_q20))
   17493              :               {
   17494            0 :               case CFN_BUILT_IN_SIGNBITF:
   17495            0 :                 if (call_expr_nargs (_q20) == 1)
   17496              :     {
   17497            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17498            0 :                     if (integer_zerop (_q21))
   17499              :                       {
   17500            0 :                         switch (TREE_CODE (_p1))
   17501              :                           {
   17502            0 :                           case NEGATE_EXPR:
   17503            0 :                             {
   17504            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   17505            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   17506              :                                 {
   17507            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   17508              :                                     {
   17509            0 :                                       {
   17510            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   17511            0 :                                         tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBITF);
   17512            0 :                                         if (res) return res;
   17513              :                                       }
   17514              :                                     }
   17515              :                                 }
   17516              :                               break;
   17517              :                             }
   17518              :                           default:;
   17519              :                           }
   17520              :                       }
   17521              :                   }
   17522              :                 break;
   17523            0 :               case CFN_BUILT_IN_SIGNBITL:
   17524            0 :                 if (call_expr_nargs (_q20) == 1)
   17525              :     {
   17526            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17527            0 :                     if (integer_zerop (_q21))
   17528              :                       {
   17529            0 :                         switch (TREE_CODE (_p1))
   17530              :                           {
   17531            0 :                           case NEGATE_EXPR:
   17532            0 :                             {
   17533            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   17534            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   17535              :                                 {
   17536            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   17537              :                                     {
   17538            0 :                                       {
   17539            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   17540            0 :                                         tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBITL);
   17541            0 :                                         if (res) return res;
   17542              :                                       }
   17543              :                                     }
   17544              :                                 }
   17545              :                               break;
   17546              :                             }
   17547              :                           default:;
   17548              :                           }
   17549              :                       }
   17550              :                   }
   17551              :                 break;
   17552            0 :               case CFN_SIGNBIT:
   17553            0 :                 if (call_expr_nargs (_q20) == 1)
   17554              :     {
   17555            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17556            0 :                     if (integer_zerop (_q21))
   17557              :                       {
   17558            0 :                         switch (TREE_CODE (_p1))
   17559              :                           {
   17560            0 :                           case NEGATE_EXPR:
   17561            0 :                             {
   17562            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   17563            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   17564              :                                 {
   17565            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   17566              :                                     {
   17567            0 :                                       {
   17568            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   17569            0 :                                         tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_SIGNBIT);
   17570            0 :                                         if (res) return res;
   17571              :                                       }
   17572              :                                     }
   17573              :                                 }
   17574              :                               break;
   17575              :                             }
   17576              :                           default:;
   17577              :                           }
   17578              :                       }
   17579              :                   }
   17580              :                 break;
   17581          411 :               case CFN_BUILT_IN_SIGNBIT:
   17582          411 :                 if (call_expr_nargs (_q20) == 1)
   17583              :     {
   17584          411 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17585          411 :                     if (integer_zerop (_q21))
   17586              :                       {
   17587          411 :                         switch (TREE_CODE (_p1))
   17588              :                           {
   17589            3 :                           case NEGATE_EXPR:
   17590            3 :                             {
   17591            3 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   17592            3 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   17593              :                                 {
   17594            3 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   17595              :                                     {
   17596            3 :                                       {
   17597            3 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   17598            3 :                                         tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBIT);
   17599            3 :                                         if (res) return res;
   17600              :                                       }
   17601              :                                     }
   17602              :                                 }
   17603              :                               break;
   17604              :                             }
   17605              :                           default:;
   17606              :                           }
   17607              :                       }
   17608              :                   }
   17609              :                 break;
   17610              :               default:;
   17611              :               }
   17612              :             break;
   17613              :           default:;
   17614              :           }
   17615              :         break;
   17616              :       }
   17617          177 :     case UNEQ_EXPR:
   17618          177 :       {
   17619          177 :         tree _q20 = TREE_OPERAND (_p0, 0);
   17620          177 :         tree _q21 = TREE_OPERAND (_p0, 1);
   17621          177 :         if (zerop (_q21))
   17622              :           {
   17623            1 :             switch (TREE_CODE (_p2))
   17624              :               {
   17625            0 :               case NEGATE_EXPR:
   17626            0 :                 {
   17627            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   17628            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   17629              :                     {
   17630            0 :                       {
   17631            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   17632            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   17633            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   17634            0 :  && bitwise_equal_p (captures[0], captures[1])
   17635              : )
   17636              :                           {
   17637            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1824;
   17638            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1824;
   17639            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1824;
   17640            0 :                             {
   17641            0 :                               tree _r;
   17642            0 :                               _r = captures[2];
   17643            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1036, __FILE__, __LINE__, true);
   17644            0 :                               return _r;
   17645              :                             }
   17646            0 : next_after_fail1824:;
   17647              :                           }
   17648              :                       }
   17649              :                     }
   17650              :                   break;
   17651              :                 }
   17652            1 :               default:;
   17653              :               }
   17654            1 :             if (zerop (_p1))
   17655              :               {
   17656            0 :                 switch (TREE_CODE (_p2))
   17657              :                   {
   17658            0 :                   case NEGATE_EXPR:
   17659            0 :                     {
   17660            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   17661            0 :                       {
   17662            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   17663            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   17664            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   17665            0 :  && bitwise_equal_p (captures[0], captures[2])
   17666              : )
   17667              :                           {
   17668            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1825;
   17669            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1825;
   17670            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1825;
   17671            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1825;
   17672            0 :                             {
   17673            0 :                               tree _r;
   17674            0 :                               _r = captures[1];
   17675            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1037, __FILE__, __LINE__, true);
   17676            0 :                               return _r;
   17677              :                             }
   17678            0 : next_after_fail1825:;
   17679              :                           }
   17680              :                       }
   17681            0 :                       break;
   17682              :                     }
   17683              :                   default:;
   17684              :                   }
   17685              :               }
   17686              :           }
   17687          177 :         switch (TREE_CODE (_q20))
   17688              :           {
   17689            0 :           case MINUS_EXPR:
   17690            0 :             {
   17691            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   17692            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   17693            0 :               if (zerop (_q21))
   17694              :                 {
   17695            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   17696              :                     {
   17697            0 :                       switch (TREE_CODE (_p2))
   17698              :                         {
   17699            0 :                         case MINUS_EXPR:
   17700            0 :                           {
   17701            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17702            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17703            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   17704              :                               {
   17705            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   17706              :                                   {
   17707            0 :                                     {
   17708            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   17709            0 :                                       const enum tree_code cmp = UNEQ_EXPR;
   17710            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   17711              : )
   17712              :                                         {
   17713            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1826;
   17714            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1826;
   17715            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1826;
   17716            0 :                                           {
   17717            0 :                                             tree _r;
   17718            0 :                                             _r = captures[3];
   17719            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1038, __FILE__, __LINE__, true);
   17720            0 :                                             return _r;
   17721              :                                           }
   17722            0 : next_after_fail1826:;
   17723              :                                         }
   17724              :                                     }
   17725              :                                   }
   17726              :                               }
   17727              :                             break;
   17728              :                           }
   17729              :                         default:;
   17730              :                         }
   17731              :                     }
   17732              :                 }
   17733            0 :               if (integer_zerop (_q21))
   17734              :                 {
   17735            0 :                   if (integer_zerop (_p1))
   17736              :                     {
   17737            0 :                       switch (TREE_CODE (_p2))
   17738              :                         {
   17739            0 :                         case MINUS_EXPR:
   17740            0 :                           {
   17741            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17742            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17743            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   17744              :                               {
   17745            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   17746              :                                   {
   17747            0 :                                     {
   17748            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   17749            0 :                                       tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, UNEQ_EXPR);
   17750            0 :                                       if (res) return res;
   17751              :                                     }
   17752              :                                   }
   17753              :                               }
   17754              :                             break;
   17755              :                           }
   17756              :                         default:;
   17757              :                         }
   17758              :                     }
   17759              :                 }
   17760              :               break;
   17761              :             }
   17762              :           default:;
   17763              :           }
   17764              :         break;
   17765              :       }
   17766      3141396 :     case NE_EXPR:
   17767      3141396 :       {
   17768      3141396 :         tree _q20 = TREE_OPERAND (_p0, 0);
   17769      3141396 :         tree _q21 = TREE_OPERAND (_p0, 1);
   17770      3141396 :         if (zerop (_q21))
   17771              :           {
   17772      2004575 :             switch (TREE_CODE (_p2))
   17773              :               {
   17774           50 :               case NEGATE_EXPR:
   17775           50 :                 {
   17776           50 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   17777           50 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   17778              :                     {
   17779           10 :                       {
   17780           10 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   17781           10 :                         const enum tree_code cmp = NE_EXPR;
   17782           10 :                         if (!HONOR_SIGNED_ZEROS (type)
   17783           10 :  && bitwise_equal_p (captures[0], captures[1])
   17784              : )
   17785              :                           {
   17786            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1827;
   17787            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1827;
   17788            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1827;
   17789            0 :                             {
   17790            0 :                               tree _r;
   17791            0 :                               _r = captures[1];
   17792            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1039, __FILE__, __LINE__, true);
   17793            0 :                               return _r;
   17794              :                             }
   17795           10 : next_after_fail1827:;
   17796              :                           }
   17797              :                       }
   17798              :                     }
   17799              :                   break;
   17800              :                 }
   17801      2004575 :               default:;
   17802              :               }
   17803      2004575 :           if (integer_zerop (_p2))
   17804              :             {
   17805       353833 :               {
   17806       353833 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   17807       353833 :                 const enum tree_code cmp = NE_EXPR;
   17808       353833 :                 if (!HONOR_SIGNED_ZEROS (type)
   17809       353833 :  && bitwise_equal_p (captures[0], captures[1])
   17810              : )
   17811              :                   {
   17812          530 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1828;
   17813          498 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1828;
   17814          498 :                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1828;
   17815          498 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1828;
   17816          498 :                     {
   17817          498 :                       tree _r;
   17818          498 :                       _r = captures[1];
   17819          498 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1040, __FILE__, __LINE__, true);
   17820          498 :                       return _r;
   17821              :                     }
   17822       353335 : next_after_fail1828:;
   17823              :                   }
   17824              :               }
   17825              :             }
   17826              :           }
   17827      3140898 :         switch (TREE_CODE (_q20))
   17828              :           {
   17829          562 :           case MINUS_EXPR:
   17830          562 :             {
   17831          562 :               tree _q30 = TREE_OPERAND (_q20, 0);
   17832          562 :               tree _q31 = TREE_OPERAND (_q20, 1);
   17833          562 :               if (zerop (_q21))
   17834              :                 {
   17835           76 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   17836              :                     {
   17837            0 :                       switch (TREE_CODE (_p2))
   17838              :                         {
   17839            0 :                         case MINUS_EXPR:
   17840            0 :                           {
   17841            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17842            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17843            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   17844              :                               {
   17845            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   17846              :                                   {
   17847            0 :                                     {
   17848            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   17849            0 :                                       const enum tree_code cmp = NE_EXPR;
   17850            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   17851              : )
   17852              :                                         {
   17853            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1829;
   17854            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1829;
   17855            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1829;
   17856            0 :                                           {
   17857            0 :                                             tree _r;
   17858            0 :                                             _r = captures[0];
   17859            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
   17860            0 :                                             return _r;
   17861              :                                           }
   17862            0 : next_after_fail1829:;
   17863              :                                         }
   17864              :                                     }
   17865              :                                   }
   17866              :                               }
   17867              :                             break;
   17868              :                           }
   17869              :                         default:;
   17870              :                         }
   17871              :                     }
   17872              :                 }
   17873          562 :               if (integer_zerop (_q21))
   17874              :                 {
   17875           25 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   17876              :                     {
   17877            0 :                       if (integer_zerop (_p2))
   17878              :                         {
   17879            0 :                           {
   17880            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   17881            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   17882            0 :                             if (res) return res;
   17883              :                           }
   17884              :                         }
   17885              :                     }
   17886              :                 }
   17887              :               break;
   17888              :             }
   17889       273934 :           case BIT_AND_EXPR:
   17890       273934 :             {
   17891       273934 :               tree _q30 = TREE_OPERAND (_q20, 0);
   17892       273934 :               tree _q31 = TREE_OPERAND (_q20, 1);
   17893       273934 :               if (integer_pow2p (_q31))
   17894              :                 {
   17895       201643 :                   if (integer_zerop (_q21))
   17896              :                     {
   17897       201643 :                       switch (TREE_CODE (_p1))
   17898              :                         {
   17899         2317 :                         case INTEGER_CST:
   17900         2317 :                           {
   17901         2317 :                             if (integer_zerop (_p2))
   17902              :                               {
   17903         1394 :                                 {
   17904         1394 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
   17905         1394 :                                   if (!POINTER_TYPE_P (type) && integer_pow2p (captures[2])
   17906              : )
   17907              :                                     {
   17908          642 :                                       {
   17909          642 :  int shift = (wi::exact_log2 (wi::to_wide (captures[2]))
   17910          642 :  - wi::exact_log2 (wi::to_wide (captures[1])));
   17911          642 :                                           if (shift > 0
   17912              : )
   17913              :                                             {
   17914          367 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1830;
   17915          367 :                                               if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1830;
   17916          367 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1830;
   17917          367 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1830;
   17918          367 :                                               {
   17919          367 :                                                 tree res_op0;
   17920          367 :                                                 {
   17921          367 :                                                   tree _o1[2], _r1;
   17922          367 :                                                   {
   17923          367 :                                                     tree _o2[1], _r2;
   17924          367 :                                                     _o2[0] = captures[0];
   17925          367 :                                                     if (TREE_TYPE (_o2[0]) != type)
   17926              :                                                       {
   17927          364 :                                                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
   17928              :                                                       }
   17929              :                                                     else
   17930              :                                                       _r2 = _o2[0];
   17931          367 :                                                     _o1[0] = _r2;
   17932              :                                                   }
   17933          367 :                                                   _o1[1] =  build_int_cst (integer_type_node, shift);
   17934          367 :                                                   _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17935          367 :                                                   res_op0 = _r1;
   17936              :                                                 }
   17937          367 :                                                 tree res_op1;
   17938          367 :                                                 res_op1 = captures[2];
   17939          367 :                                                 tree _r;
   17940          367 :                                                 _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   17941          367 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1042, __FILE__, __LINE__, true);
   17942          642 :                                                 return _r;
   17943              :                                               }
   17944              : next_after_fail1830:;
   17945              :                                             }
   17946              :                                           else
   17947              :                                             {
   17948          275 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1831;
   17949          275 :                                               if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1831;
   17950          275 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1831;
   17951          275 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1831;
   17952          275 :                                               {
   17953          275 :                                                 tree res_op0;
   17954          275 :                                                 {
   17955          275 :                                                   tree _o1[1], _r1;
   17956          275 :                                                   {
   17957          275 :                                                     tree _o2[2], _r2;
   17958          275 :                                                     _o2[0] = captures[0];
   17959          275 :                                                     _o2[1] =  build_int_cst (integer_type_node, -shift);
   17960          275 :                                                     _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   17961          275 :                                                     _o1[0] = _r2;
   17962              :                                                   }
   17963          275 :                                                   if (TREE_TYPE (_o1[0]) != type)
   17964              :                                                     {
   17965          139 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   17966              :                                                     }
   17967              :                                                   else
   17968              :                                                     _r1 = _o1[0];
   17969          275 :                                                   res_op0 = _r1;
   17970              :                                                 }
   17971          275 :                                                 tree res_op1;
   17972          275 :                                                 res_op1 = captures[2];
   17973          275 :                                                 tree _r;
   17974          275 :                                                 _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   17975          275 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
   17976          275 :                                                 return _r;
   17977              :                                               }
   17978              : next_after_fail1831:;
   17979              :                                             }
   17980              :                                       }
   17981              :                                     }
   17982              :                                 }
   17983              :                               }
   17984              :                             break;
   17985              :                           }
   17986              :                         default:;
   17987              :                         }
   17988              :                     }
   17989              :                 }
   17990              :               break;
   17991              :             }
   17992       382914 :           case CALL_EXPR:
   17993       382914 :             switch (get_call_combined_fn (_q20))
   17994              :               {
   17995           30 :               case CFN_BUILT_IN_SIGNBITF:
   17996           30 :                 if (call_expr_nargs (_q20) == 1)
   17997              :     {
   17998           30 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   17999           30 :                     if (integer_zerop (_q21))
   18000              :                       {
   18001           30 :                         switch (TREE_CODE (_p1))
   18002              :                           {
   18003            0 :                           case NEGATE_EXPR:
   18004            0 :                             {
   18005            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18006            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18007              :                                 {
   18008            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18009              :                                     {
   18010            0 :                                       {
   18011            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18012            0 :                                         tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBITF);
   18013            0 :                                         if (res) return res;
   18014              :                                       }
   18015              :                                     }
   18016              :                                 }
   18017              :                               break;
   18018              :                             }
   18019              :                           default:;
   18020              :                           }
   18021              :                       }
   18022              :                   }
   18023              :                 break;
   18024           30 :               case CFN_BUILT_IN_SIGNBITL:
   18025           30 :                 if (call_expr_nargs (_q20) == 1)
   18026              :     {
   18027           30 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18028           30 :                     if (integer_zerop (_q21))
   18029              :                       {
   18030           30 :                         switch (TREE_CODE (_p1))
   18031              :                           {
   18032            0 :                           case NEGATE_EXPR:
   18033            0 :                             {
   18034            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18035            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18036              :                                 {
   18037            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18038              :                                     {
   18039            0 :                                       {
   18040            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18041            0 :                                         tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBITL);
   18042            0 :                                         if (res) return res;
   18043              :                                       }
   18044              :                                     }
   18045              :                                 }
   18046              :                               break;
   18047              :                             }
   18048              :                           default:;
   18049              :                           }
   18050              :                       }
   18051              :                   }
   18052              :                 break;
   18053            0 :               case CFN_SIGNBIT:
   18054            0 :                 if (call_expr_nargs (_q20) == 1)
   18055              :     {
   18056            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18057            0 :                     if (integer_zerop (_q21))
   18058              :                       {
   18059            0 :                         switch (TREE_CODE (_p1))
   18060              :                           {
   18061            0 :                           case NEGATE_EXPR:
   18062            0 :                             {
   18063            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18064            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18065              :                                 {
   18066            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18067              :                                     {
   18068            0 :                                       {
   18069            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18070            0 :                                         tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_SIGNBIT);
   18071            0 :                                         if (res) return res;
   18072              :                                       }
   18073              :                                     }
   18074              :                                 }
   18075              :                               break;
   18076              :                             }
   18077              :                           default:;
   18078              :                           }
   18079              :                       }
   18080              :                   }
   18081              :                 break;
   18082         2896 :               case CFN_BUILT_IN_SIGNBIT:
   18083         2896 :                 if (call_expr_nargs (_q20) == 1)
   18084              :     {
   18085         2896 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18086         2896 :                     if (integer_zerop (_q21))
   18087              :                       {
   18088         2896 :                         switch (TREE_CODE (_p1))
   18089              :                           {
   18090            4 :                           case NEGATE_EXPR:
   18091            4 :                             {
   18092            4 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18093            4 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18094              :                                 {
   18095            3 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18096              :                                     {
   18097            3 :                                       {
   18098            3 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18099            3 :                                         tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBIT);
   18100            3 :                                         if (res) return res;
   18101              :                                       }
   18102              :                                     }
   18103              :                                 }
   18104              :                               break;
   18105              :                             }
   18106              :                           default:;
   18107              :                           }
   18108              :                       }
   18109              :                   }
   18110              :                 break;
   18111              :               default:;
   18112              :               }
   18113              :             break;
   18114      3140253 :           default:;
   18115              :           }
   18116      3140253 :         if (integer_zerop (_q21))
   18117              :           {
   18118      1934252 :             switch (TREE_CODE (_p1))
   18119              :               {
   18120       563995 :               case CALL_EXPR:
   18121       563995 :                 switch (get_call_combined_fn (_p1))
   18122              :                   {
   18123            0 :                   case CFN_PARITY:
   18124            0 :                     if (call_expr_nargs (_p1) == 1)
   18125              :     {
   18126            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18127            0 :                         switch (TREE_CODE (_q50))
   18128              :                           {
   18129            0 :                           CASE_CONVERT:
   18130            0 :                             {
   18131            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18132            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18133              :                                 {
   18134            0 :                                   if (integer_zerop (_p2))
   18135              :                                     {
   18136            0 :                                       {
   18137            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18138            0 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_PARITY);
   18139            0 :                                         if (res) return res;
   18140              :                                       }
   18141              :                                     }
   18142              :                                 }
   18143              :                               break;
   18144              :                             }
   18145            0 :                           default:;
   18146              :                           }
   18147            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18148              :                           {
   18149            0 :                             if (integer_zerop (_p2))
   18150              :                               {
   18151            0 :                                 {
   18152            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18153            0 :                                   tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_PARITY);
   18154            0 :                                   if (res) return res;
   18155              :                                 }
   18156              :                               }
   18157              :                           }
   18158              :                       }
   18159              :                     break;
   18160            7 :                   case CFN_BUILT_IN_FFS:
   18161            7 :                     if (call_expr_nargs (_p1) == 1)
   18162              :     {
   18163            7 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18164            7 :                         switch (TREE_CODE (_q50))
   18165              :                           {
   18166            0 :                           CASE_CONVERT:
   18167            0 :                             {
   18168            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18169            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18170              :                                 {
   18171            0 :                                   if (integer_zerop (_p2))
   18172              :                                     {
   18173            0 :                                       {
   18174            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18175            0 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFS);
   18176            0 :                                         if (res) return res;
   18177              :                                       }
   18178              :                                     }
   18179              :                                 }
   18180              :                               break;
   18181              :                             }
   18182            7 :                           default:;
   18183              :                           }
   18184            7 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18185              :                           {
   18186            0 :                             if (integer_zerop (_p2))
   18187              :                               {
   18188            0 :                                 {
   18189            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18190            0 :                                   tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFS);
   18191            0 :                                   if (res) return res;
   18192              :                                 }
   18193              :                               }
   18194              :                           }
   18195              :                       }
   18196              :                     break;
   18197            0 :                   case CFN_BUILT_IN_FFSIMAX:
   18198            0 :                     if (call_expr_nargs (_p1) == 1)
   18199              :     {
   18200            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18201            0 :                         switch (TREE_CODE (_q50))
   18202              :                           {
   18203            0 :                           CASE_CONVERT:
   18204            0 :                             {
   18205            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18206            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18207              :                                 {
   18208            0 :                                   if (integer_zerop (_p2))
   18209              :                                     {
   18210            0 :                                       {
   18211            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18212            0 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSIMAX);
   18213            0 :                                         if (res) return res;
   18214              :                                       }
   18215              :                                     }
   18216              :                                 }
   18217              :                               break;
   18218              :                             }
   18219            0 :                           default:;
   18220              :                           }
   18221            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18222              :                           {
   18223            0 :                             if (integer_zerop (_p2))
   18224              :                               {
   18225            0 :                                 {
   18226            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18227            0 :                                   tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSIMAX);
   18228            0 :                                   if (res) return res;
   18229              :                                 }
   18230              :                               }
   18231              :                           }
   18232              :                       }
   18233              :                     break;
   18234            2 :                   case CFN_BUILT_IN_POPCOUNT:
   18235            2 :                     if (call_expr_nargs (_p1) == 1)
   18236              :     {
   18237            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18238            2 :                         switch (TREE_CODE (_q50))
   18239              :                           {
   18240            1 :                           CASE_CONVERT:
   18241            1 :                             {
   18242            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18243            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18244              :                                 {
   18245            1 :                                   if (integer_zerop (_p2))
   18246              :                                     {
   18247            1 :                                       {
   18248            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18249            1 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNT);
   18250            1 :                                         if (res) return res;
   18251              :                                       }
   18252              :                                     }
   18253              :                                 }
   18254              :                               break;
   18255              :                             }
   18256            1 :                           default:;
   18257              :                           }
   18258            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18259              :                           {
   18260            0 :                             if (integer_zerop (_p2))
   18261              :                               {
   18262            0 :                                 {
   18263            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18264            0 :                                   tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNT);
   18265            0 :                                   if (res) return res;
   18266              :                                 }
   18267              :                               }
   18268              :                           }
   18269              :                       }
   18270              :                     break;
   18271            2 :                   case CFN_BUILT_IN_PARITYL:
   18272            2 :                     if (call_expr_nargs (_p1) == 1)
   18273              :     {
   18274            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18275            2 :                         switch (TREE_CODE (_q50))
   18276              :                           {
   18277            1 :                           CASE_CONVERT:
   18278            1 :                             {
   18279            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18280            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18281              :                                 {
   18282            1 :                                   if (integer_zerop (_p2))
   18283              :                                     {
   18284            1 :                                       {
   18285            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18286            1 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYL);
   18287            1 :                                         if (res) return res;
   18288              :                                       }
   18289              :                                     }
   18290              :                                 }
   18291              :                               break;
   18292              :                             }
   18293            1 :                           default:;
   18294              :                           }
   18295            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18296              :                           {
   18297            0 :                             if (integer_zerop (_p2))
   18298              :                               {
   18299            0 :                                 {
   18300            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18301            0 :                                   tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYL);
   18302            0 :                                   if (res) return res;
   18303              :                                 }
   18304              :                               }
   18305              :                           }
   18306              :                       }
   18307              :                     break;
   18308           16 :                   case CFN_BUILT_IN_FFSL:
   18309           16 :                     if (call_expr_nargs (_p1) == 1)
   18310              :     {
   18311           16 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18312           16 :                         switch (TREE_CODE (_q50))
   18313              :                           {
   18314           16 :                           CASE_CONVERT:
   18315           16 :                             {
   18316           16 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18317           16 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18318              :                                 {
   18319            0 :                                   if (integer_zerop (_p2))
   18320              :                                     {
   18321            0 :                                       {
   18322            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18323            0 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSL);
   18324            0 :                                         if (res) return res;
   18325              :                                       }
   18326              :                                     }
   18327              :                                 }
   18328              :                               break;
   18329              :                             }
   18330           16 :                           default:;
   18331              :                           }
   18332           16 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18333              :                           {
   18334            0 :                             if (integer_zerop (_p2))
   18335              :                               {
   18336            0 :                                 {
   18337            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18338            0 :                                   tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSL);
   18339            0 :                                   if (res) return res;
   18340              :                                 }
   18341              :                               }
   18342              :                           }
   18343              :                       }
   18344              :                     break;
   18345            2 :                   case CFN_BUILT_IN_POPCOUNTLL:
   18346            2 :                     if (call_expr_nargs (_p1) == 1)
   18347              :     {
   18348            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18349            2 :                         switch (TREE_CODE (_q50))
   18350              :                           {
   18351            1 :                           CASE_CONVERT:
   18352            1 :                             {
   18353            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18354            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18355              :                                 {
   18356            1 :                                   if (integer_zerop (_p2))
   18357              :                                     {
   18358            1 :                                       {
   18359            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18360            1 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTLL);
   18361            1 :                                         if (res) return res;
   18362              :                                       }
   18363              :                                     }
   18364              :                                 }
   18365              :                               break;
   18366              :                             }
   18367            1 :                           default:;
   18368              :                           }
   18369            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18370              :                           {
   18371            0 :                             if (integer_zerop (_p2))
   18372              :                               {
   18373            0 :                                 {
   18374            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18375            0 :                                   tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTLL);
   18376            0 :                                   if (res) return res;
   18377              :                                 }
   18378              :                               }
   18379              :                           }
   18380              :                       }
   18381              :                     break;
   18382            0 :                   case CFN_POPCOUNT:
   18383            0 :                     if (call_expr_nargs (_p1) == 1)
   18384              :     {
   18385            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18386            0 :                         switch (TREE_CODE (_q50))
   18387              :                           {
   18388            0 :                           CASE_CONVERT:
   18389            0 :                             {
   18390            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18391            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18392              :                                 {
   18393            0 :                                   if (integer_zerop (_p2))
   18394              :                                     {
   18395            0 :                                       {
   18396            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18397            0 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_POPCOUNT);
   18398            0 :                                         if (res) return res;
   18399              :                                       }
   18400              :                                     }
   18401              :                                 }
   18402              :                               break;
   18403              :                             }
   18404            0 :                           default:;
   18405              :                           }
   18406            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18407              :                           {
   18408            0 :                             if (integer_zerop (_p2))
   18409              :                               {
   18410            0 :                                 {
   18411            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18412            0 :                                   tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_POPCOUNT);
   18413            0 :                                   if (res) return res;
   18414              :                                 }
   18415              :                               }
   18416              :                           }
   18417              :                       }
   18418              :                     break;
   18419            0 :                   case CFN_BUILT_IN_PARITYIMAX:
   18420            0 :                     if (call_expr_nargs (_p1) == 1)
   18421              :     {
   18422            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18423            0 :                         switch (TREE_CODE (_q50))
   18424              :                           {
   18425            0 :                           CASE_CONVERT:
   18426            0 :                             {
   18427            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18428            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18429              :                                 {
   18430            0 :                                   if (integer_zerop (_p2))
   18431              :                                     {
   18432            0 :                                       {
   18433            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18434            0 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYIMAX);
   18435            0 :                                         if (res) return res;
   18436              :                                       }
   18437              :                                     }
   18438              :                                 }
   18439              :                               break;
   18440              :                             }
   18441            0 :                           default:;
   18442              :                           }
   18443            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18444              :                           {
   18445            0 :                             if (integer_zerop (_p2))
   18446              :                               {
   18447            0 :                                 {
   18448            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18449            0 :                                   tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYIMAX);
   18450            0 :                                   if (res) return res;
   18451              :                                 }
   18452              :                               }
   18453              :                           }
   18454              :                       }
   18455              :                     break;
   18456            2 :                   case CFN_BUILT_IN_CLRSBL:
   18457            2 :                     if (call_expr_nargs (_p1) == 1)
   18458              :     {
   18459            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18460            2 :                         switch (TREE_CODE (_q50))
   18461              :                           {
   18462            0 :                           CASE_CONVERT:
   18463            0 :                             {
   18464            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18465            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18466              :                                 {
   18467            0 :                                   switch (TREE_CODE (_p2))
   18468              :                                     {
   18469            0 :                                     case INTEGER_CST:
   18470            0 :                                       {
   18471            0 :                                         {
   18472            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   18473            0 :                                           tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBL);
   18474            0 :                                           if (res) return res;
   18475              :                                         }
   18476            0 :                                         break;
   18477              :                                       }
   18478              :                                     default:;
   18479              :                                     }
   18480              :                                 }
   18481              :                               break;
   18482              :                             }
   18483            2 :                           default:;
   18484              :                           }
   18485            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18486              :                           {
   18487            1 :                             switch (TREE_CODE (_p2))
   18488              :                               {
   18489            1 :                               case INTEGER_CST:
   18490            1 :                                 {
   18491            1 :                                   {
   18492            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   18493            1 :                                     tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBL);
   18494            1 :                                     if (res) return res;
   18495              :                                   }
   18496            0 :                                   break;
   18497              :                                 }
   18498              :                               default:;
   18499              :                               }
   18500              :                           }
   18501              :                       }
   18502              :                     break;
   18503            0 :                   case CFN_FFS:
   18504            0 :                     if (call_expr_nargs (_p1) == 1)
   18505              :     {
   18506            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18507            0 :                         switch (TREE_CODE (_q50))
   18508              :                           {
   18509            0 :                           CASE_CONVERT:
   18510            0 :                             {
   18511            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18512            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18513              :                                 {
   18514            0 :                                   if (integer_zerop (_p2))
   18515              :                                     {
   18516            0 :                                       {
   18517            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18518            0 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_FFS);
   18519            0 :                                         if (res) return res;
   18520              :                                       }
   18521              :                                     }
   18522              :                                 }
   18523              :                               break;
   18524              :                             }
   18525            0 :                           default:;
   18526              :                           }
   18527            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18528              :                           {
   18529            0 :                             if (integer_zerop (_p2))
   18530              :                               {
   18531            0 :                                 {
   18532            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18533            0 :                                   tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_FFS);
   18534            0 :                                   if (res) return res;
   18535              :                                 }
   18536              :                               }
   18537              :                           }
   18538              :                       }
   18539              :                     break;
   18540            2 :                   case CFN_BUILT_IN_PARITY:
   18541            2 :                     if (call_expr_nargs (_p1) == 1)
   18542              :     {
   18543            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18544            2 :                         switch (TREE_CODE (_q50))
   18545              :                           {
   18546            1 :                           CASE_CONVERT:
   18547            1 :                             {
   18548            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18549            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18550              :                                 {
   18551            1 :                                   if (integer_zerop (_p2))
   18552              :                                     {
   18553            1 :                                       {
   18554            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18555            1 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITY);
   18556            1 :                                         if (res) return res;
   18557              :                                       }
   18558              :                                     }
   18559              :                                 }
   18560              :                               break;
   18561              :                             }
   18562            1 :                           default:;
   18563              :                           }
   18564            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18565              :                           {
   18566            0 :                             if (integer_zerop (_p2))
   18567              :                               {
   18568            0 :                                 {
   18569            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18570            0 :                                   tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITY);
   18571            0 :                                   if (res) return res;
   18572              :                                 }
   18573              :                               }
   18574              :                           }
   18575              :                       }
   18576              :                     break;
   18577            0 :                   case CFN_BUILT_IN_POPCOUNTIMAX:
   18578            0 :                     if (call_expr_nargs (_p1) == 1)
   18579              :     {
   18580            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18581            0 :                         switch (TREE_CODE (_q50))
   18582              :                           {
   18583            0 :                           CASE_CONVERT:
   18584            0 :                             {
   18585            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18586            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18587              :                                 {
   18588            0 :                                   if (integer_zerop (_p2))
   18589              :                                     {
   18590            0 :                                       {
   18591            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18592            0 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTIMAX);
   18593            0 :                                         if (res) return res;
   18594              :                                       }
   18595              :                                     }
   18596              :                                 }
   18597              :                               break;
   18598              :                             }
   18599            0 :                           default:;
   18600              :                           }
   18601            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18602              :                           {
   18603            0 :                             if (integer_zerop (_p2))
   18604              :                               {
   18605            0 :                                 {
   18606            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18607            0 :                                   tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTIMAX);
   18608            0 :                                   if (res) return res;
   18609              :                                 }
   18610              :                               }
   18611              :                           }
   18612              :                       }
   18613              :                     break;
   18614            0 :                   case CFN_BUILT_IN_CLRSBIMAX:
   18615            0 :                     if (call_expr_nargs (_p1) == 1)
   18616              :     {
   18617            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18618            0 :                         switch (TREE_CODE (_q50))
   18619              :                           {
   18620            0 :                           CASE_CONVERT:
   18621            0 :                             {
   18622            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18623            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18624              :                                 {
   18625            0 :                                   switch (TREE_CODE (_p2))
   18626              :                                     {
   18627            0 :                                     case INTEGER_CST:
   18628            0 :                                       {
   18629            0 :                                         {
   18630            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   18631            0 :                                           tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBIMAX);
   18632            0 :                                           if (res) return res;
   18633              :                                         }
   18634            0 :                                         break;
   18635              :                                       }
   18636              :                                     default:;
   18637              :                                     }
   18638              :                                 }
   18639              :                               break;
   18640              :                             }
   18641            0 :                           default:;
   18642              :                           }
   18643            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18644              :                           {
   18645            0 :                             switch (TREE_CODE (_p2))
   18646              :                               {
   18647            0 :                               case INTEGER_CST:
   18648            0 :                                 {
   18649            0 :                                   {
   18650            0 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   18651            0 :                                     tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBIMAX);
   18652            0 :                                     if (res) return res;
   18653              :                                   }
   18654            0 :                                   break;
   18655              :                                 }
   18656              :                               default:;
   18657              :                               }
   18658              :                           }
   18659              :                       }
   18660              :                     break;
   18661            2 :                   case CFN_BUILT_IN_CLRSBLL:
   18662            2 :                     if (call_expr_nargs (_p1) == 1)
   18663              :     {
   18664            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18665            2 :                         switch (TREE_CODE (_q50))
   18666              :                           {
   18667            0 :                           CASE_CONVERT:
   18668            0 :                             {
   18669            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18670            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18671              :                                 {
   18672            0 :                                   switch (TREE_CODE (_p2))
   18673              :                                     {
   18674            0 :                                     case INTEGER_CST:
   18675            0 :                                       {
   18676            0 :                                         {
   18677            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   18678            0 :                                           tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBLL);
   18679            0 :                                           if (res) return res;
   18680              :                                         }
   18681            0 :                                         break;
   18682              :                                       }
   18683              :                                     default:;
   18684              :                                     }
   18685              :                                 }
   18686              :                               break;
   18687              :                             }
   18688            2 :                           default:;
   18689              :                           }
   18690            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18691              :                           {
   18692            1 :                             switch (TREE_CODE (_p2))
   18693              :                               {
   18694            1 :                               case INTEGER_CST:
   18695            1 :                                 {
   18696            1 :                                   {
   18697            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   18698            1 :                                     tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBLL);
   18699            1 :                                     if (res) return res;
   18700              :                                   }
   18701            0 :                                   break;
   18702              :                                 }
   18703              :                               default:;
   18704              :                               }
   18705              :                           }
   18706              :                       }
   18707              :                     break;
   18708            0 :                   case CFN_CLRSB:
   18709            0 :                     if (call_expr_nargs (_p1) == 1)
   18710              :     {
   18711            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18712            0 :                         switch (TREE_CODE (_q50))
   18713              :                           {
   18714            0 :                           CASE_CONVERT:
   18715            0 :                             {
   18716            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18717            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18718              :                                 {
   18719            0 :                                   switch (TREE_CODE (_p2))
   18720              :                                     {
   18721            0 :                                     case INTEGER_CST:
   18722            0 :                                       {
   18723            0 :                                         {
   18724            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   18725            0 :                                           tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, CFN_CLRSB);
   18726            0 :                                           if (res) return res;
   18727              :                                         }
   18728            0 :                                         break;
   18729              :                                       }
   18730              :                                     default:;
   18731              :                                     }
   18732              :                                 }
   18733              :                               break;
   18734              :                             }
   18735            0 :                           default:;
   18736              :                           }
   18737            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18738              :                           {
   18739            0 :                             switch (TREE_CODE (_p2))
   18740              :                               {
   18741            0 :                               case INTEGER_CST:
   18742            0 :                                 {
   18743            0 :                                   {
   18744            0 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   18745            0 :                                     tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_CLRSB);
   18746            0 :                                     if (res) return res;
   18747              :                                   }
   18748            0 :                                   break;
   18749              :                                 }
   18750              :                               default:;
   18751              :                               }
   18752              :                           }
   18753              :                       }
   18754              :                     break;
   18755            0 :                   case CFN_BUILT_IN_BSWAP128:
   18756            0 :                     if (call_expr_nargs (_p1) == 1)
   18757              :     {
   18758            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18759            0 :                         switch (TREE_CODE (_q50))
   18760              :                           {
   18761            0 :                           CASE_CONVERT:
   18762            0 :                             {
   18763            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18764            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18765              :                                 {
   18766            0 :                                   if (integer_zerop (_p2))
   18767              :                                     {
   18768            0 :                                       {
   18769            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18770            0 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP128);
   18771            0 :                                         if (res) return res;
   18772              :                                       }
   18773              :                                     }
   18774              :                                 }
   18775              :                               break;
   18776              :                             }
   18777            0 :                           default:;
   18778              :                           }
   18779            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18780              :                           {
   18781            0 :                             if (integer_zerop (_p2))
   18782              :                               {
   18783            0 :                                 {
   18784            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18785            0 :                                   tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP128);
   18786            0 :                                   if (res) return res;
   18787              :                                 }
   18788              :                               }
   18789              :                           }
   18790              :                       }
   18791              :                     break;
   18792            2 :                   case CFN_BUILT_IN_POPCOUNTL:
   18793            2 :                     if (call_expr_nargs (_p1) == 1)
   18794              :     {
   18795            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18796            2 :                         switch (TREE_CODE (_q50))
   18797              :                           {
   18798            1 :                           CASE_CONVERT:
   18799            1 :                             {
   18800            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18801            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18802              :                                 {
   18803            1 :                                   if (integer_zerop (_p2))
   18804              :                                     {
   18805            1 :                                       {
   18806            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18807            1 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTL);
   18808            1 :                                         if (res) return res;
   18809              :                                       }
   18810              :                                     }
   18811              :                                 }
   18812              :                               break;
   18813              :                             }
   18814            1 :                           default:;
   18815              :                           }
   18816            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18817              :                           {
   18818            0 :                             if (integer_zerop (_p2))
   18819              :                               {
   18820            0 :                                 {
   18821            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18822            0 :                                   tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTL);
   18823            0 :                                   if (res) return res;
   18824              :                                 }
   18825              :                               }
   18826              :                           }
   18827              :                       }
   18828              :                     break;
   18829            2 :                   case CFN_BUILT_IN_CLRSB:
   18830            2 :                     if (call_expr_nargs (_p1) == 1)
   18831              :     {
   18832            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18833            2 :                         switch (TREE_CODE (_q50))
   18834              :                           {
   18835            0 :                           CASE_CONVERT:
   18836            0 :                             {
   18837            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18838            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18839              :                                 {
   18840            0 :                                   switch (TREE_CODE (_p2))
   18841              :                                     {
   18842            0 :                                     case INTEGER_CST:
   18843            0 :                                       {
   18844            0 :                                         {
   18845            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   18846            0 :                                           tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSB);
   18847            0 :                                           if (res) return res;
   18848              :                                         }
   18849            0 :                                         break;
   18850              :                                       }
   18851              :                                     default:;
   18852              :                                     }
   18853              :                                 }
   18854              :                               break;
   18855              :                             }
   18856            2 :                           default:;
   18857              :                           }
   18858            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18859              :                           {
   18860            1 :                             switch (TREE_CODE (_p2))
   18861              :                               {
   18862            1 :                               case INTEGER_CST:
   18863            1 :                                 {
   18864            1 :                                   {
   18865            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   18866            1 :                                     tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSB);
   18867            1 :                                     if (res) return res;
   18868              :                                   }
   18869            0 :                                   break;
   18870              :                                 }
   18871              :                               default:;
   18872              :                               }
   18873              :                           }
   18874              :                       }
   18875              :                     break;
   18876            0 :                   case CFN_BUILT_IN_FFSLL:
   18877            0 :                     if (call_expr_nargs (_p1) == 1)
   18878              :     {
   18879            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18880            0 :                         switch (TREE_CODE (_q50))
   18881              :                           {
   18882            0 :                           CASE_CONVERT:
   18883            0 :                             {
   18884            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18885            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18886              :                                 {
   18887            0 :                                   if (integer_zerop (_p2))
   18888              :                                     {
   18889            0 :                                       {
   18890            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18891            0 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSLL);
   18892            0 :                                         if (res) return res;
   18893              :                                       }
   18894              :                                     }
   18895              :                                 }
   18896              :                               break;
   18897              :                             }
   18898            0 :                           default:;
   18899              :                           }
   18900            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18901              :                           {
   18902            0 :                             if (integer_zerop (_p2))
   18903              :                               {
   18904            0 :                                 {
   18905            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18906            0 :                                   tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSLL);
   18907            0 :                                   if (res) return res;
   18908              :                                 }
   18909              :                               }
   18910              :                           }
   18911              :                       }
   18912              :                     break;
   18913            2 :                   case CFN_BUILT_IN_PARITYLL:
   18914            2 :                     if (call_expr_nargs (_p1) == 1)
   18915              :     {
   18916            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18917            2 :                         switch (TREE_CODE (_q50))
   18918              :                           {
   18919            1 :                           CASE_CONVERT:
   18920            1 :                             {
   18921            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18922            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18923              :                                 {
   18924            1 :                                   if (integer_zerop (_p2))
   18925              :                                     {
   18926            1 :                                       {
   18927            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18928            1 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYLL);
   18929            1 :                                         if (res) return res;
   18930              :                                       }
   18931              :                                     }
   18932              :                                 }
   18933              :                               break;
   18934              :                             }
   18935            1 :                           default:;
   18936              :                           }
   18937            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18938              :                           {
   18939            0 :                             if (integer_zerop (_p2))
   18940              :                               {
   18941            0 :                                 {
   18942            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18943            0 :                                   tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYLL);
   18944            0 :                                   if (res) return res;
   18945              :                                 }
   18946              :                               }
   18947              :                           }
   18948              :                       }
   18949              :                     break;
   18950            3 :                   case CFN_BUILT_IN_BSWAP16:
   18951            3 :                     if (call_expr_nargs (_p1) == 1)
   18952              :     {
   18953            3 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18954            3 :                         switch (TREE_CODE (_q50))
   18955              :                           {
   18956            0 :                           CASE_CONVERT:
   18957            0 :                             {
   18958            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18959            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18960              :                                 {
   18961            0 :                                   if (integer_zerop (_p2))
   18962              :                                     {
   18963            0 :                                       {
   18964            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18965            0 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP16);
   18966            0 :                                         if (res) return res;
   18967              :                                       }
   18968              :                                     }
   18969              :                                 }
   18970              :                               break;
   18971              :                             }
   18972            3 :                           default:;
   18973              :                           }
   18974            3 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18975              :                           {
   18976            1 :                             if (integer_zerop (_p2))
   18977              :                               {
   18978            1 :                                 {
   18979            1 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18980            1 :                                   tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP16);
   18981            1 :                                   if (res) return res;
   18982              :                                 }
   18983              :                               }
   18984              :                           }
   18985              :                       }
   18986              :                     break;
   18987            2 :                   case CFN_BUILT_IN_BSWAP32:
   18988            2 :                     if (call_expr_nargs (_p1) == 1)
   18989              :     {
   18990            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   18991            2 :                         switch (TREE_CODE (_q50))
   18992              :                           {
   18993            0 :                           CASE_CONVERT:
   18994            0 :                             {
   18995            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   18996            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   18997              :                                 {
   18998            0 :                                   if (integer_zerop (_p2))
   18999              :                                     {
   19000            0 :                                       {
   19001            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19002            0 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP32);
   19003            0 :                                         if (res) return res;
   19004              :                                       }
   19005              :                                     }
   19006              :                                 }
   19007              :                               break;
   19008              :                             }
   19009            2 :                           default:;
   19010              :                           }
   19011            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19012              :                           {
   19013            1 :                             if (integer_zerop (_p2))
   19014              :                               {
   19015            1 :                                 {
   19016            1 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19017            1 :                                   tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP32);
   19018            1 :                                   if (res) return res;
   19019              :                                 }
   19020              :                               }
   19021              :                           }
   19022              :                       }
   19023              :                     break;
   19024            2 :                   case CFN_BUILT_IN_BSWAP64:
   19025            2 :                     if (call_expr_nargs (_p1) == 1)
   19026              :     {
   19027            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19028            2 :                         switch (TREE_CODE (_q50))
   19029              :                           {
   19030            1 :                           CASE_CONVERT:
   19031            1 :                             {
   19032            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19033            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19034              :                                 {
   19035            1 :                                   if (integer_zerop (_p2))
   19036              :                                     {
   19037            1 :                                       {
   19038            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19039            1 :                                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP64);
   19040            1 :                                         if (res) return res;
   19041              :                                       }
   19042              :                                     }
   19043              :                                 }
   19044              :                               break;
   19045              :                             }
   19046            1 :                           default:;
   19047              :                           }
   19048            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19049              :                           {
   19050            0 :                             if (integer_zerop (_p2))
   19051              :                               {
   19052            0 :                                 {
   19053            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19054            0 :                                   tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP64);
   19055            0 :                                   if (res) return res;
   19056              :                                 }
   19057              :                               }
   19058              :                           }
   19059              :                       }
   19060              :                     break;
   19061              :                   default:;
   19062              :                   }
   19063              :                 break;
   19064              :               default:;
   19065              :               }
   19066              :           }
   19067              :         break;
   19068              :       }
   19069            7 :     case LTGT_EXPR:
   19070            7 :       {
   19071            7 :         tree _q20 = TREE_OPERAND (_p0, 0);
   19072            7 :         tree _q21 = TREE_OPERAND (_p0, 1);
   19073            7 :         if (zerop (_q21))
   19074              :           {
   19075            0 :             switch (TREE_CODE (_p2))
   19076              :               {
   19077            0 :               case NEGATE_EXPR:
   19078            0 :                 {
   19079            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   19080            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   19081              :                     {
   19082            0 :                       {
   19083            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   19084            0 :                         const enum tree_code cmp = LTGT_EXPR;
   19085            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   19086            0 :  && bitwise_equal_p (captures[0], captures[1])
   19087              : )
   19088              :                           {
   19089            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1832;
   19090            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1832;
   19091            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1832;
   19092            0 :                             {
   19093            0 :                               tree _r;
   19094            0 :                               _r = captures[1];
   19095            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1039, __FILE__, __LINE__, true);
   19096            0 :                               return _r;
   19097              :                             }
   19098            0 : next_after_fail1832:;
   19099              :                           }
   19100              :                       }
   19101              :                     }
   19102              :                   break;
   19103              :                 }
   19104            0 :               default:;
   19105              :               }
   19106            0 :           if (integer_zerop (_p2))
   19107              :             {
   19108            0 :               {
   19109            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   19110            0 :                 const enum tree_code cmp = LTGT_EXPR;
   19111            0 :                 if (!HONOR_SIGNED_ZEROS (type)
   19112            0 :  && bitwise_equal_p (captures[0], captures[1])
   19113              : )
   19114              :                   {
   19115            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1833;
   19116            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1833;
   19117            0 :                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1833;
   19118            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1833;
   19119            0 :                     {
   19120            0 :                       tree _r;
   19121            0 :                       _r = captures[1];
   19122            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1040, __FILE__, __LINE__, true);
   19123            0 :                       return _r;
   19124              :                     }
   19125            0 : next_after_fail1833:;
   19126              :                   }
   19127              :               }
   19128              :             }
   19129              :           }
   19130            7 :         switch (TREE_CODE (_q20))
   19131              :           {
   19132            0 :           case MINUS_EXPR:
   19133            0 :             {
   19134            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   19135            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   19136            0 :               if (zerop (_q21))
   19137              :                 {
   19138            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   19139              :                     {
   19140            0 :                       switch (TREE_CODE (_p2))
   19141              :                         {
   19142            0 :                         case MINUS_EXPR:
   19143            0 :                           {
   19144            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   19145            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   19146            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   19147              :                               {
   19148            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   19149              :                                   {
   19150            0 :                                     {
   19151            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   19152            0 :                                       const enum tree_code cmp = LTGT_EXPR;
   19153            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   19154              : )
   19155              :                                         {
   19156            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1834;
   19157            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1834;
   19158            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1834;
   19159            0 :                                           {
   19160            0 :                                             tree _r;
   19161            0 :                                             _r = captures[0];
   19162            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
   19163            0 :                                             return _r;
   19164              :                                           }
   19165            0 : next_after_fail1834:;
   19166              :                                         }
   19167              :                                     }
   19168              :                                   }
   19169              :                               }
   19170              :                             break;
   19171              :                           }
   19172              :                         default:;
   19173              :                         }
   19174              :                     }
   19175              :                 }
   19176            0 :               if (integer_zerop (_q21))
   19177              :                 {
   19178            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   19179              :                     {
   19180            0 :                       if (integer_zerop (_p2))
   19181              :                         {
   19182            0 :                           {
   19183            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   19184            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, LTGT_EXPR);
   19185            0 :                             if (res) return res;
   19186              :                           }
   19187              :                         }
   19188              :                     }
   19189              :                 }
   19190              :               break;
   19191              :             }
   19192              :           default:;
   19193              :           }
   19194              :         break;
   19195              :       }
   19196       526880 :     case GE_EXPR:
   19197       526880 :       {
   19198       526880 :         tree _q20 = TREE_OPERAND (_p0, 0);
   19199       526880 :         tree _q21 = TREE_OPERAND (_p0, 1);
   19200       526880 :         switch (TREE_CODE (_q20))
   19201              :           {
   19202        53893 :           CASE_CONVERT:
   19203        53893 :             {
   19204        53893 :               tree _q30 = TREE_OPERAND (_q20, 0);
   19205        53893 :               if (zerop (_q21))
   19206              :                 {
   19207        23509 :                   switch (TREE_CODE (_p2))
   19208              :                     {
   19209           13 :                     case NEGATE_EXPR:
   19210           13 :                       {
   19211           13 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   19212           13 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   19213              :                           {
   19214           13 :                             {
   19215           13 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   19216           13 :                               const enum tree_code cmp = GE_EXPR;
   19217           13 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   19218           13 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   19219            0 :  && element_precision (captures[1])
   19220            0 :  <= element_precision (captures[0])
   19221           13 :  && bitwise_equal_p (captures[1], captures[2])
   19222              : )
   19223              :                                 {
   19224            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   19225              : )
   19226              :                                     {
   19227            0 :                                       {
   19228            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   19229            0 :                                           if (types_match (captures[0], stype)
   19230              : )
   19231              :                                             {
   19232            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1835;
   19233            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1835;
   19234            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1835;
   19235            0 :                                               {
   19236            0 :                                                 tree res_op0;
   19237            0 :                                                 res_op0 = captures[0];
   19238            0 :                                                 tree _r;
   19239            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   19240            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   19241            0 :                                                 return _r;
   19242              :                                               }
   19243           13 : next_after_fail1835:;
   19244              :                                             }
   19245              :                                           else
   19246              :                                             {
   19247            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1836;
   19248            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1836;
   19249            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1836;
   19250            0 :                                               {
   19251            0 :                                                 tree res_op0;
   19252            0 :                                                 {
   19253            0 :                                                   tree _o1[1], _r1;
   19254            0 :                                                   _o1[0] = captures[2];
   19255            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   19256              :                                                     {
   19257            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   19258              :                                                     }
   19259              :                                                   else
   19260              :                                                     _r1 = _o1[0];
   19261            0 :                                                   res_op0 = _r1;
   19262              :                                                 }
   19263            0 :                                                 tree _r;
   19264            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   19265            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
   19266            0 :                                                 return _r;
   19267              :                                               }
   19268           13 : next_after_fail1836:;
   19269              :                                             }
   19270              :                                       }
   19271              :                                     }
   19272              :                                   else
   19273              :                                     {
   19274            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1837;
   19275            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1837;
   19276            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1837;
   19277            0 :                                       {
   19278            0 :                                         tree res_op0;
   19279            0 :                                         res_op0 = captures[2];
   19280            0 :                                         tree _r;
   19281            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   19282            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1046, __FILE__, __LINE__, true);
   19283            0 :                                         return _r;
   19284              :                                       }
   19285           13 : next_after_fail1837:;
   19286              :                                     }
   19287              :                                 }
   19288              :                             }
   19289              :                           }
   19290              :                         break;
   19291              :                       }
   19292              :                     default:;
   19293              :                     }
   19294              :                 }
   19295              :               break;
   19296              :             }
   19297       526880 :           default:;
   19298              :           }
   19299       526880 :         if (zerop (_q21))
   19300              :           {
   19301       140068 :             switch (TREE_CODE (_p2))
   19302              :               {
   19303        30023 :               case NEGATE_EXPR:
   19304        30023 :                 {
   19305        30023 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   19306        30023 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   19307              :                     {
   19308        30017 :                       {
   19309        30017 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   19310        30017 :                         const enum tree_code cmp = GE_EXPR;
   19311        30017 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   19312        30009 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   19313        60018 :  && element_precision (captures[1])
   19314        30009 :  <= element_precision (captures[0])
   19315        60026 :  && bitwise_equal_p (captures[1], captures[2])
   19316              : )
   19317              :                           {
   19318        29911 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   19319              : )
   19320              :                               {
   19321           46 :                                 {
   19322           46 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   19323           46 :                                     if (types_match (captures[0], stype)
   19324              : )
   19325              :                                       {
   19326           13 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1838;
   19327           13 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1838;
   19328           13 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1838;
   19329           13 :                                         {
   19330           13 :                                           tree res_op0;
   19331           13 :                                           res_op0 = captures[0];
   19332           13 :                                           tree _r;
   19333           13 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   19334           13 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   19335           13 :                                           return _r;
   19336              :                                         }
   19337          106 : next_after_fail1838:;
   19338              :                                       }
   19339              :                                     else
   19340              :                                       {
   19341           33 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1839;
   19342           33 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1839;
   19343           33 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1839;
   19344           33 :                                         {
   19345           33 :                                           tree res_op0;
   19346           33 :                                           {
   19347           33 :                                             tree _o1[1], _r1;
   19348           33 :                                             _o1[0] = captures[2];
   19349           33 :                                             if (TREE_TYPE (_o1[0]) != stype)
   19350              :                                               {
   19351           33 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   19352              :                                               }
   19353              :                                             else
   19354              :                                               _r1 = _o1[0];
   19355           33 :                                             res_op0 = _r1;
   19356              :                                           }
   19357           33 :                                           tree _r;
   19358           33 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   19359           33 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
   19360           33 :                                           return _r;
   19361              :                                         }
   19362          106 : next_after_fail1839:;
   19363              :                                       }
   19364              :                                 }
   19365              :                               }
   19366              :                             else
   19367              :                               {
   19368        29865 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1840;
   19369        29865 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1840;
   19370        29865 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1840;
   19371        29865 :                                 {
   19372        29865 :                                   tree res_op0;
   19373        29865 :                                   res_op0 = captures[2];
   19374        29865 :                                   tree _r;
   19375        29865 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   19376        29865 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1046, __FILE__, __LINE__, true);
   19377        29865 :                                   return _r;
   19378              :                                 }
   19379          106 : next_after_fail1840:;
   19380              :                               }
   19381              :                           }
   19382              :                       }
   19383              :                     }
   19384              :                   break;
   19385              :                 }
   19386              :               default:;
   19387              :               }
   19388              :           }
   19389       496969 :         switch (TREE_CODE (_q20))
   19390              :           {
   19391        31436 :           case MINUS_EXPR:
   19392        31436 :             {
   19393        31436 :               tree _q30 = TREE_OPERAND (_q20, 0);
   19394        31436 :               tree _q31 = TREE_OPERAND (_q20, 1);
   19395        31436 :               if (zerop (_q21))
   19396              :                 {
   19397        30916 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   19398              :                     {
   19399            1 :                       switch (TREE_CODE (_p2))
   19400              :                         {
   19401            1 :                         case MINUS_EXPR:
   19402            1 :                           {
   19403            1 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   19404            1 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   19405            1 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   19406              :                               {
   19407            1 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   19408              :                                   {
   19409            1 :                                     {
   19410            1 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   19411            1 :                                       const enum tree_code cmp = GE_EXPR;
   19412            1 :                                       if (!HONOR_SIGNED_ZEROS (type)
   19413            1 :  && !TYPE_UNSIGNED (type)
   19414              : )
   19415              :                                         {
   19416            1 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1841;
   19417            1 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1841;
   19418            1 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1841;
   19419            1 :                                           {
   19420            1 :                                             tree res_op0;
   19421            1 :                                             res_op0 = captures[0];
   19422            1 :                                             tree _r;
   19423            1 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   19424            1 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1047, __FILE__, __LINE__, true);
   19425            1 :                                             return _r;
   19426              :                                           }
   19427            0 : next_after_fail1841:;
   19428              :                                         }
   19429              :                                     }
   19430              :                                   }
   19431              :                               }
   19432              :                             break;
   19433              :                           }
   19434              :                         default:;
   19435              :                         }
   19436              :                     }
   19437              :                 }
   19438              :               break;
   19439              :             }
   19440       496968 :           default:;
   19441              :           }
   19442       496968 :         if (integer_zerop (_q21))
   19443              :           {
   19444       109605 :             switch (TREE_CODE (_p1))
   19445              :               {
   19446           65 :               case BIT_NOT_EXPR:
   19447           65 :                 {
   19448           65 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   19449           65 :                   if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   19450              :                     {
   19451            9 :                       {
   19452            9 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   19453            9 :                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   19454            9 :                         if (res) return res;
   19455              :                       }
   19456              :                     }
   19457              :                   break;
   19458              :                 }
   19459       109596 :               default:;
   19460              :               }
   19461       109596 :             switch (TREE_CODE (_p2))
   19462              :               {
   19463           30 :               case BIT_NOT_EXPR:
   19464           30 :                 {
   19465           30 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   19466           30 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   19467              :                     {
   19468            9 :                       {
   19469            9 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   19470            9 :                         tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   19471            9 :                         if (res) return res;
   19472              :                       }
   19473              :                     }
   19474              :                   break;
   19475              :                 }
   19476              :               default:;
   19477              :               }
   19478              :           }
   19479              :         break;
   19480              :       }
   19481       940055 :     case GT_EXPR:
   19482       940055 :       {
   19483       940055 :         tree _q20 = TREE_OPERAND (_p0, 0);
   19484       940055 :         tree _q21 = TREE_OPERAND (_p0, 1);
   19485       940055 :         switch (TREE_CODE (_q20))
   19486              :           {
   19487        93371 :           CASE_CONVERT:
   19488        93371 :             {
   19489        93371 :               tree _q30 = TREE_OPERAND (_q20, 0);
   19490        93371 :               if (zerop (_q21))
   19491              :                 {
   19492         1563 :                   switch (TREE_CODE (_p2))
   19493              :                     {
   19494           20 :                     case NEGATE_EXPR:
   19495           20 :                       {
   19496           20 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   19497           20 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   19498              :                           {
   19499            0 :                             {
   19500            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   19501            0 :                               const enum tree_code cmp = GT_EXPR;
   19502            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   19503            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   19504            0 :  && element_precision (captures[1])
   19505            0 :  <= element_precision (captures[0])
   19506            0 :  && bitwise_equal_p (captures[1], captures[2])
   19507              : )
   19508              :                                 {
   19509            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   19510              : )
   19511              :                                     {
   19512            0 :                                       {
   19513            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   19514            0 :                                           if (types_match (captures[0], stype)
   19515              : )
   19516              :                                             {
   19517            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1842;
   19518            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1842;
   19519            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1842;
   19520            0 :                                               {
   19521            0 :                                                 tree res_op0;
   19522            0 :                                                 res_op0 = captures[0];
   19523            0 :                                                 tree _r;
   19524            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   19525            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   19526            0 :                                                 return _r;
   19527              :                                               }
   19528            0 : next_after_fail1842:;
   19529              :                                             }
   19530              :                                           else
   19531              :                                             {
   19532            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1843;
   19533            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1843;
   19534            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1843;
   19535            0 :                                               {
   19536            0 :                                                 tree res_op0;
   19537            0 :                                                 {
   19538            0 :                                                   tree _o1[1], _r1;
   19539            0 :                                                   _o1[0] = captures[2];
   19540            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   19541              :                                                     {
   19542            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   19543              :                                                     }
   19544              :                                                   else
   19545              :                                                     _r1 = _o1[0];
   19546            0 :                                                   res_op0 = _r1;
   19547              :                                                 }
   19548            0 :                                                 tree _r;
   19549            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   19550            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
   19551            0 :                                                 return _r;
   19552              :                                               }
   19553            0 : next_after_fail1843:;
   19554              :                                             }
   19555              :                                       }
   19556              :                                     }
   19557              :                                   else
   19558              :                                     {
   19559            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1844;
   19560            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1844;
   19561            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1844;
   19562            0 :                                       {
   19563            0 :                                         tree res_op0;
   19564            0 :                                         res_op0 = captures[2];
   19565            0 :                                         tree _r;
   19566            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   19567            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1046, __FILE__, __LINE__, true);
   19568            0 :                                         return _r;
   19569              :                                       }
   19570            0 : next_after_fail1844:;
   19571              :                                     }
   19572              :                                 }
   19573              :                             }
   19574              :                           }
   19575              :                         break;
   19576              :                       }
   19577              :                     default:;
   19578              :                     }
   19579              :                 }
   19580              :               break;
   19581              :             }
   19582       940055 :           default:;
   19583              :           }
   19584       940055 :         if (zerop (_q21))
   19585              :           {
   19586       246429 :             switch (TREE_CODE (_p2))
   19587              :               {
   19588          306 :               case NEGATE_EXPR:
   19589          306 :                 {
   19590          306 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   19591          306 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   19592              :                     {
   19593          128 :                       {
   19594          128 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   19595          128 :                         const enum tree_code cmp = GT_EXPR;
   19596          128 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   19597           96 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   19598          192 :  && element_precision (captures[1])
   19599           96 :  <= element_precision (captures[0])
   19600          224 :  && bitwise_equal_p (captures[1], captures[2])
   19601              : )
   19602              :                           {
   19603           91 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   19604              : )
   19605              :                               {
   19606            0 :                                 {
   19607            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   19608            0 :                                     if (types_match (captures[0], stype)
   19609              : )
   19610              :                                       {
   19611            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1845;
   19612            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1845;
   19613            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1845;
   19614            0 :                                         {
   19615            0 :                                           tree res_op0;
   19616            0 :                                           res_op0 = captures[0];
   19617            0 :                                           tree _r;
   19618            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   19619            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   19620            0 :                                           return _r;
   19621              :                                         }
   19622           37 : next_after_fail1845:;
   19623              :                                       }
   19624              :                                     else
   19625              :                                       {
   19626            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1846;
   19627            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1846;
   19628            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1846;
   19629            0 :                                         {
   19630            0 :                                           tree res_op0;
   19631            0 :                                           {
   19632            0 :                                             tree _o1[1], _r1;
   19633            0 :                                             _o1[0] = captures[2];
   19634            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   19635              :                                               {
   19636            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   19637              :                                               }
   19638              :                                             else
   19639              :                                               _r1 = _o1[0];
   19640            0 :                                             res_op0 = _r1;
   19641              :                                           }
   19642            0 :                                           tree _r;
   19643            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   19644            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
   19645            0 :                                           return _r;
   19646              :                                         }
   19647           37 : next_after_fail1846:;
   19648              :                                       }
   19649              :                                 }
   19650              :                               }
   19651              :                             else
   19652              :                               {
   19653           91 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1847;
   19654           91 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1847;
   19655           91 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1847;
   19656           91 :                                 {
   19657           91 :                                   tree res_op0;
   19658           91 :                                   res_op0 = captures[2];
   19659           91 :                                   tree _r;
   19660           91 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   19661           91 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1046, __FILE__, __LINE__, true);
   19662           91 :                                   return _r;
   19663              :                                 }
   19664           37 : next_after_fail1847:;
   19665              :                               }
   19666              :                           }
   19667              :                       }
   19668              :                     }
   19669              :                   break;
   19670              :                 }
   19671              :               default:;
   19672              :               }
   19673              :           }
   19674       939964 :         switch (TREE_CODE (_q20))
   19675              :           {
   19676          944 :           case MINUS_EXPR:
   19677          944 :             {
   19678          944 :               tree _q30 = TREE_OPERAND (_q20, 0);
   19679          944 :               tree _q31 = TREE_OPERAND (_q20, 1);
   19680          944 :               if (zerop (_q21))
   19681              :                 {
   19682          160 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   19683              :                     {
   19684           15 :                       switch (TREE_CODE (_p2))
   19685              :                         {
   19686            9 :                         case MINUS_EXPR:
   19687            9 :                           {
   19688            9 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   19689            9 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   19690            9 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   19691              :                               {
   19692            9 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   19693              :                                   {
   19694            9 :                                     {
   19695            9 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   19696            9 :                                       const enum tree_code cmp = GT_EXPR;
   19697            9 :                                       if (!HONOR_SIGNED_ZEROS (type)
   19698            9 :  && !TYPE_UNSIGNED (type)
   19699              : )
   19700              :                                         {
   19701            9 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1848;
   19702            9 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1848;
   19703            9 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1848;
   19704            9 :                                           {
   19705            9 :                                             tree res_op0;
   19706            9 :                                             res_op0 = captures[0];
   19707            9 :                                             tree _r;
   19708            9 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   19709            9 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1047, __FILE__, __LINE__, true);
   19710            9 :                                             return _r;
   19711              :                                           }
   19712            0 : next_after_fail1848:;
   19713              :                                         }
   19714              :                                     }
   19715              :                                   }
   19716              :                               }
   19717              :                             break;
   19718              :                           }
   19719              :                         default:;
   19720              :                         }
   19721              :                     }
   19722              :                 }
   19723              :               break;
   19724              :             }
   19725              :           default:;
   19726              :           }
   19727              :         break;
   19728              :       }
   19729      1355303 :     case LE_EXPR:
   19730      1355303 :       {
   19731      1355303 :         tree _q20 = TREE_OPERAND (_p0, 0);
   19732      1355303 :         tree _q21 = TREE_OPERAND (_p0, 1);
   19733      1355303 :         switch (TREE_CODE (_q20))
   19734              :           {
   19735       139884 :           CASE_CONVERT:
   19736       139884 :             {
   19737       139884 :               tree _q30 = TREE_OPERAND (_q20, 0);
   19738       139884 :               if (zerop (_q21))
   19739              :                 {
   19740         1304 :                   switch (TREE_CODE (_p2))
   19741              :                     {
   19742            0 :                     case NEGATE_EXPR:
   19743            0 :                       {
   19744            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   19745            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   19746              :                           {
   19747            0 :                             {
   19748            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   19749            0 :                               const enum tree_code cmp = LE_EXPR;
   19750            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   19751            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   19752            0 :  && element_precision (captures[1])
   19753            0 :  <= element_precision (captures[0])
   19754            0 :  && bitwise_equal_p (captures[1], captures[2])
   19755              : )
   19756              :                                 {
   19757            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   19758            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   19759            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   19760              : )
   19761              :                                     {
   19762            0 :                                       {
   19763            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   19764            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   19765            0 :                                           if (types_match (captures[0], stype)
   19766              : )
   19767              :                                             {
   19768            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1849;
   19769            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1849;
   19770            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1849;
   19771            0 :                                               {
   19772            0 :                                                 tree res_op0;
   19773            0 :                                                 {
   19774            0 :                                                   tree _o1[1], _r1;
   19775            0 :                                                   {
   19776            0 :                                                     tree _o2[1], _r2;
   19777            0 :                                                     _o2[0] = captures[0];
   19778            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   19779            0 :                                                     _o1[0] = _r2;
   19780              :                                                   }
   19781            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   19782            0 :                                                   res_op0 = _r1;
   19783              :                                                 }
   19784            0 :                                                 tree _r;
   19785            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   19786            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   19787            0 :                                                 return _r;
   19788              :                                               }
   19789            0 : next_after_fail1849:;
   19790              :                                             }
   19791              :                                           else
   19792              :                                             {
   19793            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1850;
   19794            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1850;
   19795            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1850;
   19796            0 :                                               {
   19797            0 :                                                 tree res_op0;
   19798            0 :                                                 {
   19799            0 :                                                   tree _o1[1], _r1;
   19800            0 :                                                   {
   19801            0 :                                                     tree _o2[1], _r2;
   19802            0 :                                                     {
   19803            0 :                                                       tree _o3[1], _r3;
   19804            0 :                                                       _o3[0] = captures[2];
   19805            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   19806              :                                                         {
   19807            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   19808              :                                                         }
   19809              :                                                       else
   19810              :                                                         _r3 = _o3[0];
   19811            0 :                                                       _o2[0] = _r3;
   19812              :                                                     }
   19813            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   19814            0 :                                                     _o1[0] = _r2;
   19815              :                                                   }
   19816            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   19817            0 :                                                   res_op0 = _r1;
   19818              :                                                 }
   19819            0 :                                                 tree _r;
   19820            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   19821            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1049, __FILE__, __LINE__, true);
   19822            0 :                                                 return _r;
   19823              :                                               }
   19824            0 : next_after_fail1850:;
   19825              :                                             }
   19826              :                                       }
   19827              :                                     }
   19828              :                                   else
   19829              :                                     {
   19830            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1851;
   19831            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1851;
   19832            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1851;
   19833            0 :                                       {
   19834            0 :                                         tree res_op0;
   19835            0 :                                         {
   19836            0 :                                           tree _o1[1], _r1;
   19837            0 :                                           {
   19838            0 :                                             tree _o2[1], _r2;
   19839            0 :                                             _o2[0] = captures[2];
   19840            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   19841            0 :                                             _o1[0] = _r2;
   19842              :                                           }
   19843            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   19844            0 :                                           res_op0 = _r1;
   19845              :                                         }
   19846            0 :                                         tree _r;
   19847            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   19848            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   19849            0 :                                         return _r;
   19850              :                                       }
   19851            0 : next_after_fail1851:;
   19852              :                                     }
   19853              :                                 }
   19854              :                             }
   19855              :                           }
   19856              :                         break;
   19857              :                       }
   19858              :                     default:;
   19859              :                     }
   19860              :                 }
   19861              :               break;
   19862              :             }
   19863      1355303 :           default:;
   19864              :           }
   19865      1355303 :         if (zerop (_q21))
   19866              :           {
   19867       122244 :             switch (TREE_CODE (_p2))
   19868              :               {
   19869            7 :               case NEGATE_EXPR:
   19870            7 :                 {
   19871            7 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   19872            7 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   19873              :                     {
   19874            7 :                       {
   19875            7 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   19876            7 :                         const enum tree_code cmp = LE_EXPR;
   19877            7 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   19878            7 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   19879           14 :  && element_precision (captures[1])
   19880            7 :  <= element_precision (captures[0])
   19881           14 :  && bitwise_equal_p (captures[1], captures[2])
   19882              : )
   19883              :                           {
   19884           14 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   19885            7 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   19886            7 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   19887              : )
   19888              :                               {
   19889            7 :                                 {
   19890            7 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   19891            7 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   19892            7 :                                     if (types_match (captures[0], stype)
   19893              : )
   19894              :                                       {
   19895            7 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1852;
   19896            7 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1852;
   19897            7 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1852;
   19898            7 :                                         {
   19899            7 :                                           tree res_op0;
   19900            7 :                                           {
   19901            7 :                                             tree _o1[1], _r1;
   19902            7 :                                             {
   19903            7 :                                               tree _o2[1], _r2;
   19904            7 :                                               _o2[0] = captures[0];
   19905            7 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   19906            7 :                                               _o1[0] = _r2;
   19907              :                                             }
   19908            7 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   19909            7 :                                             res_op0 = _r1;
   19910              :                                           }
   19911            7 :                                           tree _r;
   19912            7 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   19913            7 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   19914            7 :                                           return _r;
   19915              :                                         }
   19916            0 : next_after_fail1852:;
   19917              :                                       }
   19918              :                                     else
   19919              :                                       {
   19920            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1853;
   19921            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1853;
   19922            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1853;
   19923            0 :                                         {
   19924            0 :                                           tree res_op0;
   19925            0 :                                           {
   19926            0 :                                             tree _o1[1], _r1;
   19927            0 :                                             {
   19928            0 :                                               tree _o2[1], _r2;
   19929            0 :                                               {
   19930            0 :                                                 tree _o3[1], _r3;
   19931            0 :                                                 _o3[0] = captures[2];
   19932            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   19933              :                                                   {
   19934            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   19935              :                                                   }
   19936              :                                                 else
   19937              :                                                   _r3 = _o3[0];
   19938            0 :                                                 _o2[0] = _r3;
   19939              :                                               }
   19940            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   19941            0 :                                               _o1[0] = _r2;
   19942              :                                             }
   19943            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   19944            0 :                                             res_op0 = _r1;
   19945              :                                           }
   19946            0 :                                           tree _r;
   19947            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   19948            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1049, __FILE__, __LINE__, true);
   19949            0 :                                           return _r;
   19950              :                                         }
   19951            0 : next_after_fail1853:;
   19952              :                                       }
   19953              :                                 }
   19954              :                               }
   19955              :                             else
   19956              :                               {
   19957            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1854;
   19958            0 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1854;
   19959            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1854;
   19960            0 :                                 {
   19961            0 :                                   tree res_op0;
   19962            0 :                                   {
   19963            0 :                                     tree _o1[1], _r1;
   19964            0 :                                     {
   19965            0 :                                       tree _o2[1], _r2;
   19966            0 :                                       _o2[0] = captures[2];
   19967            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   19968            0 :                                       _o1[0] = _r2;
   19969              :                                     }
   19970            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   19971            0 :                                     res_op0 = _r1;
   19972              :                                   }
   19973            0 :                                   tree _r;
   19974            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   19975            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   19976            0 :                                   return _r;
   19977              :                                 }
   19978            0 : next_after_fail1854:;
   19979              :                               }
   19980              :                           }
   19981              :                       }
   19982              :                     }
   19983              :                   break;
   19984              :                 }
   19985              :               default:;
   19986              :               }
   19987              :           }
   19988      1355296 :         switch (TREE_CODE (_q20))
   19989              :           {
   19990          193 :           case MINUS_EXPR:
   19991          193 :             {
   19992          193 :               tree _q30 = TREE_OPERAND (_q20, 0);
   19993          193 :               tree _q31 = TREE_OPERAND (_q20, 1);
   19994          193 :               if (zerop (_q21))
   19995              :                 {
   19996          148 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   19997              :                     {
   19998            0 :                       switch (TREE_CODE (_p2))
   19999              :                         {
   20000            0 :                         case MINUS_EXPR:
   20001            0 :                           {
   20002            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   20003            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   20004            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   20005              :                               {
   20006            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   20007              :                                   {
   20008            0 :                                     {
   20009            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20010            0 :                                       const enum tree_code cmp = LE_EXPR;
   20011            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   20012            0 :  && !TYPE_UNSIGNED (type)
   20013              : )
   20014              :                                         {
   20015            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   20016            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   20017              : )
   20018              :                                             {
   20019            0 :                                               {
   20020            0 :  tree utype = unsigned_type_for (type);
   20021            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1855;
   20022            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1855;
   20023            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1855;
   20024            0 :                                                   {
   20025            0 :                                                     tree res_op0;
   20026            0 :                                                     {
   20027            0 :                                                       tree _o1[1], _r1;
   20028            0 :                                                       {
   20029            0 :                                                         tree _o2[1], _r2;
   20030            0 :                                                         _o2[0] = captures[0];
   20031            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   20032            0 :                                                         _o1[0] = _r2;
   20033              :                                                       }
   20034            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20035            0 :                                                       res_op0 = _r1;
   20036              :                                                     }
   20037            0 :                                                     tree _r;
   20038            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   20039            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1051, __FILE__, __LINE__, true);
   20040            0 :                                                     return _r;
   20041              :                                                   }
   20042            0 : next_after_fail1855:;
   20043              :                                               }
   20044              :                                             }
   20045              :                                           else
   20046              :                                             {
   20047            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1856;
   20048            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1856;
   20049            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1856;
   20050            0 :                                               {
   20051            0 :                                                 tree res_op0;
   20052            0 :                                                 {
   20053            0 :                                                   tree _o1[1], _r1;
   20054            0 :                                                   _o1[0] = captures[0];
   20055            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20056            0 :                                                   res_op0 = _r1;
   20057              :                                                 }
   20058            0 :                                                 tree _r;
   20059            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   20060            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1052, __FILE__, __LINE__, true);
   20061            0 :                                                 return _r;
   20062              :                                               }
   20063            0 : next_after_fail1856:;
   20064              :                                             }
   20065              :                                         }
   20066              :                                     }
   20067              :                                   }
   20068              :                               }
   20069              :                             break;
   20070              :                           }
   20071              :                         default:;
   20072              :                         }
   20073              :                     }
   20074              :                 }
   20075              :               break;
   20076              :             }
   20077              :           default:;
   20078              :           }
   20079              :         break;
   20080              :       }
   20081      1765134 :     case LT_EXPR:
   20082      1765134 :       {
   20083      1765134 :         tree _q20 = TREE_OPERAND (_p0, 0);
   20084      1765134 :         tree _q21 = TREE_OPERAND (_p0, 1);
   20085      1765134 :         switch (TREE_CODE (_q20))
   20086              :           {
   20087       109168 :           CASE_CONVERT:
   20088       109168 :             {
   20089       109168 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20090       109168 :               if (zerop (_q21))
   20091              :                 {
   20092        14384 :                   switch (TREE_CODE (_p2))
   20093              :                     {
   20094            8 :                     case NEGATE_EXPR:
   20095            8 :                       {
   20096            8 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   20097            8 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   20098              :                           {
   20099            0 :                             {
   20100            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   20101            0 :                               const enum tree_code cmp = LT_EXPR;
   20102            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20103            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20104            0 :  && element_precision (captures[1])
   20105            0 :  <= element_precision (captures[0])
   20106            0 :  && bitwise_equal_p (captures[1], captures[2])
   20107              : )
   20108              :                                 {
   20109            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   20110            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   20111            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20112              : )
   20113              :                                     {
   20114            0 :                                       {
   20115            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20116            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   20117            0 :                                           if (types_match (captures[0], stype)
   20118              : )
   20119              :                                             {
   20120            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1857;
   20121            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1857;
   20122            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1857;
   20123            0 :                                               {
   20124            0 :                                                 tree res_op0;
   20125            0 :                                                 {
   20126            0 :                                                   tree _o1[1], _r1;
   20127            0 :                                                   {
   20128            0 :                                                     tree _o2[1], _r2;
   20129            0 :                                                     _o2[0] = captures[0];
   20130            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   20131            0 :                                                     _o1[0] = _r2;
   20132              :                                                   }
   20133            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20134            0 :                                                   res_op0 = _r1;
   20135              :                                                 }
   20136            0 :                                                 tree _r;
   20137            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   20138            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   20139            0 :                                                 return _r;
   20140              :                                               }
   20141            0 : next_after_fail1857:;
   20142              :                                             }
   20143              :                                           else
   20144              :                                             {
   20145            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1858;
   20146            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1858;
   20147            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1858;
   20148            0 :                                               {
   20149            0 :                                                 tree res_op0;
   20150            0 :                                                 {
   20151            0 :                                                   tree _o1[1], _r1;
   20152            0 :                                                   {
   20153            0 :                                                     tree _o2[1], _r2;
   20154            0 :                                                     {
   20155            0 :                                                       tree _o3[1], _r3;
   20156            0 :                                                       _o3[0] = captures[2];
   20157            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   20158              :                                                         {
   20159            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   20160              :                                                         }
   20161              :                                                       else
   20162              :                                                         _r3 = _o3[0];
   20163            0 :                                                       _o2[0] = _r3;
   20164              :                                                     }
   20165            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   20166            0 :                                                     _o1[0] = _r2;
   20167              :                                                   }
   20168            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20169            0 :                                                   res_op0 = _r1;
   20170              :                                                 }
   20171            0 :                                                 tree _r;
   20172            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   20173            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1049, __FILE__, __LINE__, true);
   20174            0 :                                                 return _r;
   20175              :                                               }
   20176            0 : next_after_fail1858:;
   20177              :                                             }
   20178              :                                       }
   20179              :                                     }
   20180              :                                   else
   20181              :                                     {
   20182            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1859;
   20183            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1859;
   20184            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1859;
   20185            0 :                                       {
   20186            0 :                                         tree res_op0;
   20187            0 :                                         {
   20188            0 :                                           tree _o1[1], _r1;
   20189            0 :                                           {
   20190            0 :                                             tree _o2[1], _r2;
   20191            0 :                                             _o2[0] = captures[2];
   20192            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   20193            0 :                                             _o1[0] = _r2;
   20194              :                                           }
   20195            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20196            0 :                                           res_op0 = _r1;
   20197              :                                         }
   20198            0 :                                         tree _r;
   20199            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   20200            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   20201            0 :                                         return _r;
   20202              :                                       }
   20203            0 : next_after_fail1859:;
   20204              :                                     }
   20205              :                                 }
   20206              :                             }
   20207              :                           }
   20208              :                         break;
   20209              :                       }
   20210              :                     default:;
   20211              :                     }
   20212              :                 }
   20213              :               break;
   20214              :             }
   20215      1765134 :           default:;
   20216              :           }
   20217      1765134 :         if (zerop (_q21))
   20218              :           {
   20219       371280 :             switch (TREE_CODE (_p2))
   20220              :               {
   20221           33 :               case NEGATE_EXPR:
   20222           33 :                 {
   20223           33 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20224           33 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20225              :                     {
   20226           25 :                       {
   20227           25 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   20228           25 :                         const enum tree_code cmp = LT_EXPR;
   20229           25 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20230           25 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20231           50 :  && element_precision (captures[1])
   20232           25 :  <= element_precision (captures[0])
   20233           50 :  && bitwise_equal_p (captures[1], captures[2])
   20234              : )
   20235              :                           {
   20236           50 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   20237           25 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   20238           26 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20239              : )
   20240              :                               {
   20241           24 :                                 {
   20242           24 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20243           24 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   20244           24 :                                     if (types_match (captures[0], stype)
   20245              : )
   20246              :                                       {
   20247           24 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1860;
   20248           24 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1860;
   20249           24 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1860;
   20250           24 :                                         {
   20251           24 :                                           tree res_op0;
   20252           24 :                                           {
   20253           24 :                                             tree _o1[1], _r1;
   20254           24 :                                             {
   20255           24 :                                               tree _o2[1], _r2;
   20256           24 :                                               _o2[0] = captures[0];
   20257           24 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   20258           24 :                                               _o1[0] = _r2;
   20259              :                                             }
   20260           24 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20261           24 :                                             res_op0 = _r1;
   20262              :                                           }
   20263           24 :                                           tree _r;
   20264           24 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   20265           24 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   20266           24 :                                           return _r;
   20267              :                                         }
   20268            0 : next_after_fail1860:;
   20269              :                                       }
   20270              :                                     else
   20271              :                                       {
   20272            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1861;
   20273            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1861;
   20274            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1861;
   20275            0 :                                         {
   20276            0 :                                           tree res_op0;
   20277            0 :                                           {
   20278            0 :                                             tree _o1[1], _r1;
   20279            0 :                                             {
   20280            0 :                                               tree _o2[1], _r2;
   20281            0 :                                               {
   20282            0 :                                                 tree _o3[1], _r3;
   20283            0 :                                                 _o3[0] = captures[2];
   20284            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   20285              :                                                   {
   20286            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   20287              :                                                   }
   20288              :                                                 else
   20289              :                                                   _r3 = _o3[0];
   20290            0 :                                                 _o2[0] = _r3;
   20291              :                                               }
   20292            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   20293            0 :                                               _o1[0] = _r2;
   20294              :                                             }
   20295            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20296            0 :                                             res_op0 = _r1;
   20297              :                                           }
   20298            0 :                                           tree _r;
   20299            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   20300            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1049, __FILE__, __LINE__, true);
   20301            0 :                                           return _r;
   20302              :                                         }
   20303            0 : next_after_fail1861:;
   20304              :                                       }
   20305              :                                 }
   20306              :                               }
   20307              :                             else
   20308              :                               {
   20309            1 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1862;
   20310            1 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1862;
   20311            1 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1862;
   20312            1 :                                 {
   20313            1 :                                   tree res_op0;
   20314            1 :                                   {
   20315            1 :                                     tree _o1[1], _r1;
   20316            1 :                                     {
   20317            1 :                                       tree _o2[1], _r2;
   20318            1 :                                       _o2[0] = captures[2];
   20319            1 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   20320            1 :                                       _o1[0] = _r2;
   20321              :                                     }
   20322            1 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20323            1 :                                     res_op0 = _r1;
   20324              :                                   }
   20325            1 :                                   tree _r;
   20326            1 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   20327            1 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   20328            1 :                                   return _r;
   20329              :                                 }
   20330            0 : next_after_fail1862:;
   20331              :                               }
   20332              :                           }
   20333              :                       }
   20334              :                     }
   20335              :                   break;
   20336              :                 }
   20337              :               default:;
   20338              :               }
   20339              :           }
   20340      1765109 :         switch (TREE_CODE (_q20))
   20341              :           {
   20342        11147 :           case MINUS_EXPR:
   20343        11147 :             {
   20344        11147 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20345        11147 :               tree _q31 = TREE_OPERAND (_q20, 1);
   20346        11147 :               if (zerop (_q21))
   20347              :                 {
   20348         7358 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20349              :                     {
   20350            0 :                       switch (TREE_CODE (_p2))
   20351              :                         {
   20352            0 :                         case MINUS_EXPR:
   20353            0 :                           {
   20354            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   20355            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   20356            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   20357              :                               {
   20358            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   20359              :                                   {
   20360            0 :                                     {
   20361            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20362            0 :                                       const enum tree_code cmp = LT_EXPR;
   20363            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   20364            0 :  && !TYPE_UNSIGNED (type)
   20365              : )
   20366              :                                         {
   20367            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   20368            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   20369              : )
   20370              :                                             {
   20371            0 :                                               {
   20372            0 :  tree utype = unsigned_type_for (type);
   20373            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1863;
   20374            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1863;
   20375            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1863;
   20376            0 :                                                   {
   20377            0 :                                                     tree res_op0;
   20378            0 :                                                     {
   20379            0 :                                                       tree _o1[1], _r1;
   20380            0 :                                                       {
   20381            0 :                                                         tree _o2[1], _r2;
   20382            0 :                                                         _o2[0] = captures[0];
   20383            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   20384            0 :                                                         _o1[0] = _r2;
   20385              :                                                       }
   20386            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20387            0 :                                                       res_op0 = _r1;
   20388              :                                                     }
   20389            0 :                                                     tree _r;
   20390            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   20391            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1051, __FILE__, __LINE__, true);
   20392            0 :                                                     return _r;
   20393              :                                                   }
   20394            0 : next_after_fail1863:;
   20395              :                                               }
   20396              :                                             }
   20397              :                                           else
   20398              :                                             {
   20399            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1864;
   20400            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1864;
   20401            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1864;
   20402            0 :                                               {
   20403            0 :                                                 tree res_op0;
   20404            0 :                                                 {
   20405            0 :                                                   tree _o1[1], _r1;
   20406            0 :                                                   _o1[0] = captures[0];
   20407            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   20408            0 :                                                   res_op0 = _r1;
   20409              :                                                 }
   20410            0 :                                                 tree _r;
   20411            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   20412            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1052, __FILE__, __LINE__, true);
   20413            0 :                                                 return _r;
   20414              :                                               }
   20415            0 : next_after_fail1864:;
   20416              :                                             }
   20417              :                                         }
   20418              :                                     }
   20419              :                                   }
   20420              :                               }
   20421              :                             break;
   20422              :                           }
   20423              :                         default:;
   20424              :                         }
   20425              :                     }
   20426              :                 }
   20427              :               break;
   20428              :             }
   20429      1765109 :           default:;
   20430              :           }
   20431      1765109 :         if (integer_zerop (_q21))
   20432              :           {
   20433       315433 :             switch (TREE_CODE (_p1))
   20434              :               {
   20435           21 :               case BIT_NOT_EXPR:
   20436           21 :                 {
   20437           21 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   20438           21 :                   if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   20439              :                     {
   20440           13 :                       {
   20441           13 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   20442           13 :                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   20443           13 :                         if (res) return res;
   20444              :                       }
   20445              :                     }
   20446              :                   break;
   20447              :                 }
   20448       315420 :               default:;
   20449              :               }
   20450       315420 :             switch (TREE_CODE (_p2))
   20451              :               {
   20452            8 :               case BIT_NOT_EXPR:
   20453            8 :                 {
   20454            8 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20455            8 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20456              :                     {
   20457            8 :                       {
   20458            8 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   20459            8 :                         tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   20460            8 :                         if (res) return res;
   20461              :                       }
   20462              :                     }
   20463              :                   break;
   20464              :                 }
   20465       315412 :               default:;
   20466              :               }
   20467       315412 :             switch (TREE_CODE (_p1))
   20468              :               {
   20469       279599 :               case INTEGER_CST:
   20470       279599 :                 {
   20471       279599 :                   if (integer_zerop (_p2))
   20472              :                     {
   20473         8659 :                       {
   20474         8659 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   20475         8659 :                         if (integer_pow2p (captures[1])
   20476         8659 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   20477              : )
   20478              :                           {
   20479         8442 :                             {
   20480         8442 :  int shift = element_precision (captures[0]) - wi::exact_log2 (wi::to_wide (captures[1])) - 1;
   20481         8442 :                                 if (shift >= 0
   20482              : )
   20483              :                                   {
   20484         8427 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1865;
   20485         8427 :                                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1865;
   20486         8427 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1865;
   20487         8427 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1865;
   20488         8427 :                                     {
   20489         8427 :                                       tree res_op0;
   20490         8427 :                                       {
   20491         8427 :                                         tree _o1[1], _r1;
   20492         8427 :                                         {
   20493         8427 :                                           tree _o2[2], _r2;
   20494         8427 :                                           _o2[0] = captures[0];
   20495         8427 :                                           _o2[1] =  build_int_cst (integer_type_node, shift);
   20496         8427 :                                           _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   20497         8427 :                                           _o1[0] = _r2;
   20498              :                                         }
   20499         8427 :                                         if (TREE_TYPE (_o1[0]) != type)
   20500              :                                           {
   20501         8402 :                                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   20502              :                                           }
   20503              :                                         else
   20504              :                                           _r1 = _o1[0];
   20505         8427 :                                         res_op0 = _r1;
   20506              :                                       }
   20507         8427 :                                       tree res_op1;
   20508         8427 :                                       res_op1 = captures[1];
   20509         8427 :                                       tree _r;
   20510         8427 :                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   20511         8427 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1053, __FILE__, __LINE__, true);
   20512         8442 :                                       return _r;
   20513              :                                     }
   20514              : next_after_fail1865:;
   20515              :                                   }
   20516              :                                 else
   20517              :                                   {
   20518           15 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1866;
   20519           15 :                                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1866;
   20520           15 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1866;
   20521           15 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1866;
   20522           15 :                                     {
   20523           15 :                                       tree res_op0;
   20524           15 :                                       {
   20525           15 :                                         tree _o1[1], _r1;
   20526           15 :                                         _o1[0] = captures[0];
   20527           15 :                                         if (TREE_TYPE (_o1[0]) != type)
   20528              :                                           {
   20529           15 :                                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   20530              :                                           }
   20531              :                                         else
   20532              :                                           _r1 = _o1[0];
   20533           15 :                                         res_op0 = _r1;
   20534              :                                       }
   20535           15 :                                       tree res_op1;
   20536           15 :                                       res_op1 = captures[1];
   20537           15 :                                       tree _r;
   20538           15 :                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   20539           15 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1054, __FILE__, __LINE__, true);
   20540           15 :                                       return _r;
   20541              :                                     }
   20542              : next_after_fail1866:;
   20543              :                                   }
   20544              :                             }
   20545              :                           }
   20546              :                       }
   20547              :                     }
   20548              :                   break;
   20549              :                 }
   20550              :               default:;
   20551              :               }
   20552              :           }
   20553              :         break;
   20554              :       }
   20555     13221341 :     default:;
   20556              :     }
   20557     13221341 : {
   20558     13221341 :   tree _p0_pops[1];
   20559     13221341 :   if (tree_logical_inverted_value (_p0, _p0_pops))
   20560              :     {
   20561       585903 :       tree _q20 = _p0_pops[0];
   20562       585903 :       if (tree_truth_valued_p (_q20))
   20563              :         {
   20564         4464 :           {
   20565         4464 :             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   20566         8928 :             if (COND_EXPR == VEC_COND_EXPR
   20567         4464 :  || TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   20568              : )
   20569              :               {
   20570         3125 :                 if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1867;
   20571           46 :                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1867;
   20572           37 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1867;
   20573           37 :                 {
   20574           37 :                   tree res_op0;
   20575           37 :                   res_op0 = captures[0];
   20576           37 :                   tree res_op1;
   20577           37 :                   res_op1 = captures[2];
   20578           37 :                   tree res_op2;
   20579           37 :                   res_op2 = captures[1];
   20580           37 :                   tree _r;
   20581           37 :                   _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   20582           37 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   20583           37 :                   return _r;
   20584              :                 }
   20585         4427 : next_after_fail1867:;
   20586              :               }
   20587              :           }
   20588              :         }
   20589              :     }
   20590              : }
   20591     13221304 :   return NULL_TREE;
   20592              : }
   20593              : #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.