LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-5.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 45.5 % 12659 5758
Test Date: 2026-06-20 15:32:29 Functions: 68.3 % 82 56
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      1902357 : tree_power_of_two_cand (tree t, tree *res_ops)
      11              : {
      12      1902357 :   const tree type = TREE_TYPE (t);
      13      1902357 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14      1902357 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15      1901592 :   switch (TREE_CODE (t))
      16              :     {
      17      1573142 :     case INTEGER_CST:
      18      1573142 :       {
      19      1573142 :         {
      20      1573142 :           tree captures[1] ATTRIBUTE_UNUSED = { t };
      21      1573142 :           {
      22      1573142 :             res_ops[0] = captures[0];
      23      1573142 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 12, __FILE__, __LINE__, false);
      24              :             return true;
      25              :           }
      26              :         }
      27           16 :         break;
      28              :       }
      29           16 :     case LSHIFT_EXPR:
      30           16 :       {
      31           16 :         tree _p0 = TREE_OPERAND (t, 0);
      32           16 :         tree _p1 = TREE_OPERAND (t, 1);
      33           16 :         switch (TREE_CODE (_p0))
      34              :           {
      35           16 :           case INTEGER_CST:
      36           16 :             {
      37           16 :               {
      38           16 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      39           16 :                 {
      40           16 :                   res_ops[0] = captures[0];
      41           16 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 13, __FILE__, __LINE__, false);
      42           16 :                   return true;
      43              :                 }
      44              :               }
      45              :               break;
      46              :             }
      47              :           default:;
      48              :           }
      49              :         break;
      50              :       }
      51              :     default:;
      52              :     }
      53              :   return false;
      54              : }
      55              : 
      56              : bool
      57     81446232 : tree_with_possible_nonzero_bits (tree t)
      58              : {
      59     81446232 :   const tree type = TREE_TYPE (t);
      60     81446232 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      61     81446232 :   if (TREE_SIDE_EFFECTS (t)) return false;
      62     76448599 :   switch (TREE_CODE (t))
      63              :     {
      64      1984091 :     case BIT_AND_EXPR:
      65      1984091 :       {
      66      1984091 :         tree _p0 = TREE_OPERAND (t, 0);
      67      1984091 :         tree _p1 = TREE_OPERAND (t, 1);
      68      1984091 :         if (tree_with_possible_nonzero_bits_1 (_p0))
      69              :           {
      70       865022 :             {
      71       865022 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      72       865022 :               {
      73       865022 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 35, __FILE__, __LINE__, false);
      74       865022 :                 return true;
      75              :               }
      76              :             }
      77              :           }
      78      1119069 :         if (tree_with_possible_nonzero_bits_1 (_p1))
      79              :           {
      80       943724 :             {
      81       943724 :               tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
      82       943724 :               {
      83       943724 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 35, __FILE__, __LINE__, false);
      84       943724 :                 return true;
      85              :               }
      86              :             }
      87              :           }
      88              :         break;
      89              :       }
      90     74639853 :     default:;
      91              :     }
      92     74639853 : if (tree_with_possible_nonzero_bits_1 (t))
      93              :   {
      94     40484739 :     {
      95     40484739 :       tree captures[1] ATTRIBUTE_UNUSED = { t };
      96     40484739 :       {
      97     40484739 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 36, __FILE__, __LINE__, false);
      98     40484739 :         return true;
      99              :       }
     100              :     }
     101              :   }
     102              :   return false;
     103              : }
     104              : 
     105              : bool
     106       750518 : tree_vec_same_elem_p (tree t)
     107              : {
     108       750518 :   const tree type = TREE_TYPE (t);
     109       750518 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     110       750518 :   if (TREE_SIDE_EFFECTS (t)) return false;
     111       750518 :   switch (TREE_CODE (t))
     112              :     {
     113            0 :     case VEC_DUPLICATE_EXPR:
     114            0 :       {
     115            0 :         tree _p0 = TREE_OPERAND (t, 0);
     116            0 :         {
     117            0 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
     118            0 :           {
     119            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 46, __FILE__, __LINE__, false);
     120            0 :             return true;
     121              :           }
     122              :         }
     123              :         break;
     124              :       }
     125              :     case CONSTRUCTOR:
     126              :       {
     127              :         {
     128              :           tree captures[1] ATTRIBUTE_UNUSED = { t };
     129              :           if (TREE_CODE (captures[0]) == SSA_NAME
     130              :  && uniform_vector_p (gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])))
     131              : )
     132              :             {
     133              :               {
     134              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 47, __FILE__, __LINE__, false);
     135              :                 return true;
     136              :               }
     137              :             }
     138              :         }
     139              :         break;
     140              :       }
     141       750518 :     default:;
     142              :     }
     143       750518 :   {
     144       750518 :     tree captures[1] ATTRIBUTE_UNUSED = { t };
     145       750518 :     if (uniform_vector_p (captures[0])
     146              : )
     147              :       {
     148        13913 :         {
     149        13913 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 48, __FILE__, __LINE__, false);
     150        13913 :           return true;
     151              :         }
     152              :       }
     153              :   }
     154              :   return false;
     155              : }
     156              : 
     157              : tree
     158          196 : generic_simplify_14 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     159              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     160              : {
     161          196 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     162          196 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail89;
     163          196 :   {
     164          196 :     if (! tree_invariant_p (captures[3])) goto next_after_fail89;
     165           15 :     tree res_op0;
     166           15 :     {
     167           15 :       tree _o1[2], _r1;
     168           15 :       _o1[0] = captures[2];
     169           15 :       _o1[1] = unshare_expr (captures[3]);
     170           15 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     171           15 :       res_op0 = _r1;
     172              :     }
     173           15 :     tree res_op1;
     174           15 :     {
     175           15 :       tree _o1[2], _r1;
     176           15 :       _o1[0] = captures[4];
     177           15 :       _o1[1] = captures[3];
     178           15 :       _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     179           15 :       if (EXPR_P (_r1))
     180           14 :         goto next_after_fail89;
     181            1 :       res_op1 = _r1;
     182              :     }
     183            1 :     tree _r;
     184            1 :     _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     185            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 62, __FILE__, __LINE__, true);
     186              :     return _r;
     187              :   }
     188              : next_after_fail89:;
     189              :   return NULL_TREE;
     190              : }
     191              : 
     192              : tree
     193            0 : generic_simplify_23 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     194              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     195              :  const enum tree_code ARG_UNUSED (op))
     196              : {
     197            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     198            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail98;
     199            0 :   {
     200            0 :     tree res_op0;
     201            0 :     res_op0 = captures[0];
     202            0 :     tree res_op1;
     203            0 :     res_op1 = captures[1];
     204            0 :     tree _r;
     205            0 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     206            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 71, __FILE__, __LINE__, true);
     207              :     return _r;
     208              :   }
     209            0 : next_after_fail98:;
     210            0 :   return NULL_TREE;
     211              : }
     212              : 
     213              : tree
     214          390 : generic_simplify_30 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     215              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     216              :  const enum tree_code ARG_UNUSED (op),
     217              :  const enum tree_code ARG_UNUSED (rop))
     218              : {
     219          390 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     220          390 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     221          390 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
     222              : )
     223              :     {
     224          390 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail105;
     225          390 :       {
     226          390 :         tree res_op0;
     227          390 :         {
     228          390 :           tree _o1[1], _r1;
     229          390 :           _o1[0] = captures[0];
     230          390 :           if (TREE_TYPE (_o1[0]) != type)
     231              :             {
     232            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     233              :             }
     234              :           else
     235              :             _r1 = _o1[0];
     236          390 :           res_op0 = _r1;
     237              :         }
     238          390 :         tree res_op1;
     239          390 :         {
     240          390 :           tree _o1[2], _r1;
     241          390 :           {
     242          390 :             tree _o2[1], _r2;
     243          390 :             _o2[0] = captures[1];
     244          390 :             if (TREE_TYPE (_o2[0]) != type)
     245              :               {
     246            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
     247              :               }
     248              :             else
     249              :               _r2 = _o2[0];
     250          390 :             _o1[0] = _r2;
     251              :           }
     252          390 :           {
     253          390 :             tree _o2[1], _r2;
     254          390 :             _o2[0] = captures[2];
     255          390 :             if (TREE_TYPE (_o2[0]) != type)
     256              :               {
     257            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
     258              :               }
     259              :             else
     260              :               _r2 = _o2[0];
     261          390 :             _o1[1] = _r2;
     262              :           }
     263          390 :           _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     264          390 :           res_op1 = _r1;
     265              :         }
     266          390 :         tree _r;
     267          390 :         _r = fold_build2_loc (loc, rop, type, res_op0, res_op1);
     268          390 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 78, __FILE__, __LINE__, true);
     269          390 :         return _r;
     270              :       }
     271            0 : next_after_fail105:;
     272              :     }
     273              :   return NULL_TREE;
     274              : }
     275              : 
     276              : tree
     277            0 : generic_simplify_42 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     278              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     279              :  const enum tree_code ARG_UNUSED (op))
     280              : {
     281            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     282            0 :   if (INTEGRAL_TYPE_P (type)
     283            0 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[2])) == 0
     284              : )
     285              :     {
     286            0 :       {
     287            0 :  tree t = type;
     288            0 :  if (!TYPE_OVERFLOW_WRAPS (t))
     289            0 :  t = unsigned_type_for (t);
     290            0 :  wide_int c = wi::add (wi::to_wide (captures[3]), 1);
     291            0 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail119;
     292            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail119;
     293            0 :           {
     294            0 :             tree res_op0;
     295            0 :             {
     296            0 :               tree _o1[2], _r1;
     297            0 :               {
     298            0 :                 tree _o2[1], _r2;
     299            0 :                 _o2[0] = captures[2];
     300            0 :                 if (TREE_TYPE (_o2[0]) != t)
     301              :                   {
     302            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     303              :                   }
     304              :                 else
     305              :                   _r2 = _o2[0];
     306            0 :                 _o1[0] = _r2;
     307              :               }
     308            0 :               _o1[1] =  wide_int_to_tree (t, c);
     309            0 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     310            0 :               res_op0 = _r1;
     311              :             }
     312            0 :             tree _r;
     313            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     314            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 90, __FILE__, __LINE__, true);
     315            0 :             return _r;
     316              :           }
     317            0 : next_after_fail119:;
     318            0 :       }
     319              :     }
     320              :   return NULL_TREE;
     321              : }
     322              : 
     323              : tree
     324           64 : generic_simplify_50 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     325              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     326              :  const enum tree_code ARG_UNUSED (cmp),
     327              :  const enum tree_code ARG_UNUSED (icmp),
     328              :  const enum tree_code ARG_UNUSED (ncmp))
     329              : {
     330           64 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     331           64 :   {
     332           64 :  enum tree_code ic = invert_tree_comparison
     333           64 :  (cmp, HONOR_NANS (captures[0]));
     334           64 :       if (ic == icmp
     335              : )
     336              :         {
     337           64 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail128;
     338           64 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail128;
     339           64 :           {
     340           64 :             tree res_op0;
     341           64 :             res_op0 = captures[0];
     342           64 :             tree res_op1;
     343           64 :             res_op1 = captures[1];
     344           64 :             tree _r;
     345           64 :             _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
     346           64 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 96, __FILE__, __LINE__, true);
     347           64 :             return _r;
     348              :           }
     349              : next_after_fail128:;
     350              :         }
     351              :       else
     352              :         {
     353            0 :           if (ic == ncmp
     354              : )
     355              :             {
     356            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail129;
     357            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail129;
     358            0 :               {
     359            0 :                 tree res_op0;
     360            0 :                 res_op0 = captures[0];
     361            0 :                 tree res_op1;
     362            0 :                 res_op1 = captures[1];
     363            0 :                 tree _r;
     364            0 :                 _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
     365            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 97, __FILE__, __LINE__, true);
     366            0 :                 return _r;
     367              :               }
     368              : next_after_fail129:;
     369              :             }
     370              :         }
     371              :   }
     372              :   return NULL_TREE;
     373              : }
     374              : 
     375              : tree
     376       239849 : generic_simplify_64 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     377              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     378              :  const enum tree_code ARG_UNUSED (outer_op))
     379              : {
     380       239849 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     381       239849 :   if (!TYPE_SATURATING (type)
     382              : )
     383              :     {
     384       239849 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     385       479691 :  && !FIXED_POINT_TYPE_P (type)
     386              : )
     387              :         {
     388       239842 :           if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
     389              : )
     390              :             {
     391       226390 :               if (!CONSTANT_CLASS_P (captures[1])
     392              : )
     393              :                 {
     394       226390 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail151;
     395       226390 :                   {
     396       226390 :                     tree res_op0;
     397       226390 :                     {
     398       226390 :                       tree _o1[2], _r1;
     399       226390 :                       {
     400       226390 :                         tree _o2[1], _r2;
     401       226390 :                         _o2[0] = captures[0];
     402       226390 :                         if (TREE_TYPE (_o2[0]) != type)
     403              :                           {
     404         3335 :                             _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
     405              :                           }
     406              :                         else
     407              :                           _r2 = _o2[0];
     408       226390 :                         _o1[0] = _r2;
     409              :                       }
     410       226390 :                       _o1[1] = captures[2];
     411       226390 :                       _r1 = fold_build2_loc (loc, outer_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     412       226390 :                       if (EXPR_P (_r1))
     413            0 :                         goto next_after_fail151;
     414       226390 :                       res_op0 = _r1;
     415              :                     }
     416       226390 :                     tree res_op1;
     417       226390 :                     {
     418       226390 :                       tree _o1[1], _r1;
     419       226390 :                       _o1[0] = captures[1];
     420       226390 :                       if (TREE_TYPE (_o1[0]) != type)
     421              :                         {
     422         3362 :                           _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     423              :                         }
     424              :                       else
     425              :                         _r1 = _o1[0];
     426       226390 :                       res_op1 = _r1;
     427              :                     }
     428       226390 :                     tree _r;
     429       226390 :                     _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     430       226390 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 119, __FILE__, __LINE__, true);
     431       226390 :                     return _r;
     432              :                   }
     433              : next_after_fail151:;
     434              :                 }
     435              :             }
     436              :           else
     437              :             {
     438        26904 :               if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     439        26904 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
     440              : )
     441              :                 {
     442         2317 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail152;
     443         2317 :                   {
     444         2317 :                     tree res_op0;
     445         2317 :                     {
     446         2317 :                       tree _o1[2], _r1;
     447         2317 :                       {
     448         2317 :                         tree _o2[2], _r2;
     449         2317 :                         _o2[0] = captures[0];
     450         2317 :                         {
     451         2317 :                           tree _o3[1], _r3;
     452         2317 :                           _o3[0] = captures[2];
     453         2317 :                           if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     454              :                             {
     455         2317 :                               _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     456              :                             }
     457              :                           else
     458              :                             _r3 = _o3[0];
     459         2317 :                           _o2[1] = _r3;
     460              :                         }
     461         2317 :                         _r2 = fold_build2_loc (loc, outer_op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     462         2317 :                         if (EXPR_P (_r2))
     463            0 :                           goto next_after_fail152;
     464         2317 :                         _o1[0] = _r2;
     465              :                       }
     466         2317 :                       _o1[1] = captures[1];
     467         2317 :                       _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     468         2317 :                       res_op0 = _r1;
     469              :                     }
     470         2317 :                     tree _r;
     471         2317 :                     _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     472         2317 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 120, __FILE__, __LINE__, true);
     473         2317 :                     return _r;
     474              :                   }
     475              : next_after_fail152:;
     476              :                 }
     477              :               else
     478              :                 {
     479        11135 :                   if (types_match (type, captures[1]) && !TYPE_OVERFLOW_SANITIZED (type)
     480              : )
     481              :                     {
     482        11107 :                       {
     483        11107 :  tree cst = const_binop (outer_op, type, captures[0], captures[2]);
     484        11107 :                           if (cst && !TREE_OVERFLOW (cst)
     485              : )
     486              :                             {
     487        11100 :                               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail153;
     488        11100 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail153;
     489        11100 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail153;
     490        11100 :                               {
     491        11100 :                                 tree res_op0;
     492        11100 :                                 res_op0 =  cst;
     493        11100 :                                 tree res_op1;
     494        11100 :                                 res_op1 = captures[1];
     495        11100 :                                 tree _r;
     496        11100 :                                 _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     497        11100 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 121, __FILE__, __LINE__, true);
     498        11100 :                                 return _r;
     499              :                               }
     500              : next_after_fail153:;
     501              :                             }
     502              :                       }
     503              :                     }
     504              :                 }
     505              :             }
     506              :         }
     507              :     }
     508              :   return NULL_TREE;
     509              : }
     510              : 
     511              : tree
     512            1 : generic_simplify_87 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     513              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     514              : {
     515            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     516            1 :   if (INTEGRAL_TYPE_P (type)
     517              : )
     518              :     {
     519            1 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail178;
     520            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail178;
     521            1 :       {
     522            1 :         tree res_op0;
     523            1 :         res_op0 = unshare_expr (captures[1]);
     524            1 :         tree res_op1;
     525            1 :         {
     526            1 :           tree _o1[2], _r1;
     527            1 :           _o1[0] = captures[4];
     528            1 :           _o1[1] = captures[1];
     529            1 :           _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     530            1 :           res_op1 = _r1;
     531              :         }
     532            1 :         tree _r;
     533            1 :         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     534            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 146, __FILE__, __LINE__, true);
     535            1 :         return _r;
     536              :       }
     537              : next_after_fail178:;
     538              :     }
     539              :   return NULL_TREE;
     540              : }
     541              : 
     542              : tree
     543         2661 : generic_simplify_95 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     544              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     545              : {
     546         2661 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     547         2661 :   if (!TYPE_SATURATING (type)
     548              : )
     549              :     {
     550         2661 :       if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     551         2661 :  && !TYPE_OVERFLOW_SANITIZED (type)
     552              : )
     553              :         {
     554           18 :           {
     555           18 :  tree t1 = type;
     556           18 :  if (INTEGRAL_TYPE_P (type)
     557           31 :  && TYPE_OVERFLOW_WRAPS (type) != TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
     558           13 :  t1 = TYPE_OVERFLOW_WRAPS (type) ? type : TREE_TYPE (captures[1]);
     559           18 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail186;
     560           18 :               {
     561           18 :                 tree res_op0;
     562           18 :                 {
     563           18 :                   tree _o1[2], _r1;
     564           18 :                   {
     565           18 :                     tree _o2[1], _r2;
     566           18 :                     _o2[0] = captures[0];
     567           18 :                     if (TREE_TYPE (_o2[0]) != t1)
     568              :                       {
     569            8 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, t1, _o2[0]);
     570              :                       }
     571              :                     else
     572              :                       _r2 = _o2[0];
     573           18 :                     _o1[0] = _r2;
     574              :                   }
     575           18 :                   {
     576           18 :                     tree _o2[1], _r2;
     577           18 :                     _o2[0] = captures[1];
     578           18 :                     if (TREE_TYPE (_o2[0]) != t1)
     579              :                       {
     580            5 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, t1, _o2[0]);
     581              :                       }
     582              :                     else
     583              :                       _r2 = _o2[0];
     584           18 :                     _o1[1] = _r2;
     585              :                   }
     586           18 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     587           18 :                   res_op0 = _r1;
     588              :                 }
     589           18 :                 tree _r;
     590           18 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     591           18 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 153, __FILE__, __LINE__, true);
     592           18 :                 return _r;
     593              :               }
     594            0 : next_after_fail186:;
     595              :           }
     596              :         }
     597              :     }
     598              :   return NULL_TREE;
     599              : }
     600              : 
     601              : tree
     602            9 : generic_simplify_106 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     603              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     604              : {
     605            9 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     606            9 :   if (INTEGRAL_TYPE_P (type)
     607            9 :  && (
     608              : 
     609            9 :  || !TREE_SIDE_EFFECTS (captures[1]))
     610              : )
     611              :     {
     612            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail203;
     613            2 :       {
     614            2 :         tree res_op0;
     615            2 :         {
     616            2 :           tree _o1[1], _r1;
     617            2 :           _o1[0] = captures[2];
     618            2 :           if (TREE_TYPE (_o1[0]) != boolean_type_node)
     619              :             {
     620            2 :               _r1 = fold_build1_loc (loc, NOP_EXPR, boolean_type_node, _o1[0]);
     621              :             }
     622              :           else
     623              :             _r1 = _o1[0];
     624            2 :           res_op0 = _r1;
     625              :         }
     626            2 :         tree res_op1;
     627            2 :         res_op1 = captures[1];
     628            2 :         tree res_op2;
     629            2 :         res_op2 = captures[0];
     630            2 :         tree _r;
     631            2 :         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
     632            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 170, __FILE__, __LINE__, true);
     633            2 :         return _r;
     634              :       }
     635            0 : next_after_fail203:;
     636              :     }
     637              :   return NULL_TREE;
     638              : }
     639              : 
     640              : tree
     641           36 : generic_simplify_112 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     642              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     643              :  const enum tree_code ARG_UNUSED (bitop),
     644              :  const enum tree_code ARG_UNUSED (cmp))
     645              : {
     646           36 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     647           72 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     648           36 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     649           72 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
     650              : )
     651              :     {
     652           36 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail209;
     653           36 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail209;
     654           36 :       {
     655           36 :         tree res_op0;
     656           36 :         {
     657           36 :           tree _o1[2], _r1;
     658           36 :           _o1[0] = captures[0];
     659           36 :           {
     660           36 :             tree _o2[1], _r2;
     661           36 :             _o2[0] = captures[2];
     662           36 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     663              :               {
     664            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     665              :               }
     666              :             else
     667              :               _r2 = _o2[0];
     668           36 :             _o1[1] = _r2;
     669              :           }
     670           36 :           _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     671           36 :           res_op0 = _r1;
     672              :         }
     673           36 :         tree res_op1;
     674           36 :         res_op1 = captures[1];
     675           36 :         tree _r;
     676           36 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
     677           36 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 176, __FILE__, __LINE__, true);
     678           36 :         return _r;
     679              :       }
     680              : next_after_fail209:;
     681              :     }
     682              :   return NULL_TREE;
     683              : }
     684              : 
     685              : tree
     686            0 : generic_simplify_123 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     687              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     688              : {
     689            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     690            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail220;
     691            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail220;
     692            0 :   {
     693            0 :     tree _r;
     694            0 :     _r = captures[2];
     695            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 185, __FILE__, __LINE__, true);
     696              :     return _r;
     697              :   }
     698              : next_after_fail220:;
     699              :   return NULL_TREE;
     700              : }
     701              : 
     702              : tree
     703           15 : generic_simplify_130 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     704              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     705              :  const enum tree_code ARG_UNUSED (bitop))
     706              : {
     707           15 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     708           15 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail227;
     709           15 :   {
     710           15 :     tree res_op0;
     711           15 :     res_op0 = captures[0];
     712           15 :     tree res_op1;
     713           15 :     {
     714           15 :       tree _o1[1], _r1;
     715           15 :       _o1[0] = captures[2];
     716           15 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     717           15 :       res_op1 = _r1;
     718              :     }
     719           15 :     tree _r;
     720           15 :     _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     721           15 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 189, __FILE__, __LINE__, true);
     722              :     return _r;
     723              :   }
     724            0 : next_after_fail227:;
     725            0 :   return NULL_TREE;
     726              : }
     727              : 
     728              : tree
     729            0 : generic_simplify_141 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     730              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     731              :  const enum tree_code ARG_UNUSED (op))
     732              : {
     733            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     734            0 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     735            0 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
     736              : )
     737              :     {
     738            0 :       if (single_use (captures[4]) && single_use (captures[5])
     739              : )
     740              :         {
     741            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail241;
     742            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail241;
     743            0 :           {
     744            0 :             tree res_op0;
     745            0 :             res_op0 = captures[0];
     746            0 :             tree res_op1;
     747            0 :             {
     748            0 :               tree _o1[1], _r1;
     749            0 :               _o1[0] = captures[6];
     750            0 :               if (TREE_TYPE (_o1[0]) != type)
     751              :                 {
     752            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     753              :                 }
     754              :               else
     755              :                 _r1 = _o1[0];
     756            0 :               res_op1 = _r1;
     757              :             }
     758            0 :             tree _r;
     759            0 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     760            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 195, __FILE__, __LINE__, true);
     761            0 :             return _r;
     762              :           }
     763              : next_after_fail241:;
     764              :         }
     765              :       else
     766              :         {
     767              :           if (single_use (captures[0]) && single_use (captures[1])
     768              : )
     769              :             {
     770              :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail242;
     771              :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail242;
     772              :               {
     773              :                 tree res_op0;
     774              :                 {
     775              :                   tree _o1[1], _r1;
     776              :                   _o1[0] = captures[3];
     777              :                   if (TREE_TYPE (_o1[0]) != type)
     778              :                     {
     779              :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     780              :                     }
     781              :                   else
     782              :                     _r1 = _o1[0];
     783              :                   res_op0 = _r1;
     784              :                 }
     785              :                 tree res_op1;
     786              :                 res_op1 = captures[4];
     787              :                 tree _r;
     788              :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     789              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 196, __FILE__, __LINE__, true);
     790              :                 return _r;
     791              :               }
     792              : next_after_fail242:;
     793              :             }
     794              :         }
     795              :     }
     796              :   return NULL_TREE;
     797              : }
     798              : 
     799              : tree
     800            4 : generic_simplify_156 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     801              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     802              : {
     803            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     804            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail261;
     805            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail261;
     806            4 :   {
     807            4 :     tree _r;
     808            4 :     _r = captures[2];
     809            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
     810            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     811            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 210, __FILE__, __LINE__, true);
     812              :     return _r;
     813              :   }
     814              : next_after_fail261:;
     815              :   return NULL_TREE;
     816              : }
     817              : 
     818              : tree
     819            0 : generic_simplify_161 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     820              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     821              :  const enum tree_code ARG_UNUSED (cmp))
     822              : {
     823            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     824            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail284;
     825            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail284;
     826            0 :   {
     827            0 :     tree res_op0;
     828            0 :     {
     829            0 :       tree _o1[2], _r1;
     830            0 :       _o1[0] =  build_zero_cst (TREE_TYPE (captures[0]));
     831            0 :       _o1[1] = captures[3];
     832            0 :       _r1 = fold_build2_loc (loc, cmp, type, _o1[0], _o1[1]);
     833            0 :       res_op0 = _r1;
     834              :     }
     835            0 :     tree res_op1;
     836            0 :     res_op1 = captures[4];
     837            0 :     tree _r;
     838            0 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     839            0 :     if (TREE_SIDE_EFFECTS (captures[2]))
     840            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     841            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 226, __FILE__, __LINE__, true);
     842              :     return _r;
     843              :   }
     844              : next_after_fail284:;
     845              :   return NULL_TREE;
     846              : }
     847              : 
     848              : tree
     849            4 : generic_simplify_171 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     850              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     851              : {
     852            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     853            4 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail308;
     854            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail308;
     855            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail308;
     856            4 :   {
     857            4 :     tree _r;
     858            4 :     _r = captures[0];
     859            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 231, __FILE__, __LINE__, true);
     860              :     return _r;
     861              :   }
     862              : next_after_fail308:;
     863              :   return NULL_TREE;
     864              : }
     865              : 
     866              : tree
     867            0 : generic_simplify_173 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     868              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     869              :  const enum tree_code ARG_UNUSED (bitop),
     870              :  const enum tree_code ARG_UNUSED (result),
     871              :  const enum tree_code ARG_UNUSED (rresult))
     872              : {
     873            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     874            0 :   if (INTEGRAL_TYPE_P (type)
     875            0 :  && !TYPE_UNSIGNED (type)
     876            0 :  && wi::eq_p (wi::to_wide (captures[1]), TYPE_PRECISION (type) - 1)
     877              : )
     878              :     {
     879            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail310;
     880            0 :       {
     881            0 :         tree res_op0;
     882            0 :         res_op0 = captures[0];
     883            0 :         tree res_op1;
     884            0 :         res_op1 =  build_int_cst (type, bitop == BIT_IOR_EXPR ? -1 : 0);
     885            0 :         tree _r;
     886            0 :         _r = fold_build2_loc (loc, rresult, type, res_op0, res_op1);
     887            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
     888            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     889            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 232, __FILE__, __LINE__, true);
     890            0 :         return _r;
     891              :       }
     892            0 : next_after_fail310:;
     893              :     }
     894              :   return NULL_TREE;
     895              : }
     896              : 
     897              : tree
     898            4 : generic_simplify_180 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     899              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     900              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
     901              : {
     902            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     903            4 :   if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
     904              : )
     905              :     {
     906            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail317;
     907            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail317;
     908            0 :       {
     909            0 :         tree res_op0;
     910            0 :         res_op0 = captures[0];
     911            0 :         tree _r;
     912            0 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     913            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 237, __FILE__, __LINE__, true);
     914            0 :         return _r;
     915              :       }
     916              : next_after_fail317:;
     917              :     }
     918              :   return NULL_TREE;
     919              : }
     920              : 
     921              : tree
     922      6184451 : generic_simplify_183 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     923              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     924              :  const enum tree_code ARG_UNUSED (op))
     925              : {
     926      6184451 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     927      6184451 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail320;
     928      6184451 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail320;
     929      6184451 :   {
     930      6184451 :     tree res_op0;
     931      6184451 :     res_op0 = captures[0];
     932      6184451 :     tree _r;
     933      6184451 :     _r = non_lvalue_loc (loc, res_op0);
     934      6184451 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 239, __FILE__, __LINE__, true);
     935              :     return _r;
     936              :   }
     937              : next_after_fail320:;
     938              :   return NULL_TREE;
     939              : }
     940              : 
     941              : tree
     942            0 : generic_simplify_187 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     943              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     944              : {
     945            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     946            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail324;
     947            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail324;
     948            0 :   {
     949            0 :     tree _r;
     950            0 :     _r =  build_zero_cst (type);
     951            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 242, __FILE__, __LINE__, true);
     952              :     return _r;
     953              :   }
     954              : next_after_fail324:;
     955              :   return NULL_TREE;
     956              : }
     957              : 
     958              : tree
     959        45998 : generic_simplify_190 (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        45998 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     963        45998 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     964        45998 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     965              : )
     966              :     {
     967        43208 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail329;
     968        43208 :       {
     969        43208 :         tree res_op0;
     970        43208 :         {
     971        43208 :           tree _o1[1], _r1;
     972        43208 :           _o1[0] = captures[0];
     973        43208 :           if (TREE_TYPE (_o1[0]) != type)
     974              :             {
     975          801 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     976              :             }
     977              :           else
     978              :             _r1 = _o1[0];
     979        43208 :           res_op0 = _r1;
     980              :         }
     981        43208 :         tree res_op1;
     982        43208 :         {
     983        43208 :           tree _o1[1], _r1;
     984        43208 :           {
     985        43208 :             tree _o2[1], _r2;
     986        43208 :             _o2[0] = captures[1];
     987        43208 :             _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
     988        43208 :             _o1[0] = _r2;
     989              :           }
     990        43208 :           if (TREE_TYPE (_o1[0]) != type)
     991              :             {
     992            7 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     993              :             }
     994              :           else
     995              :             _r1 = _o1[0];
     996        43208 :           res_op1 = _r1;
     997              :         }
     998        43208 :         tree _r;
     999        43208 :         _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    1000        43208 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 245, __FILE__, __LINE__, true);
    1001        43208 :         return _r;
    1002              :       }
    1003            0 : next_after_fail329:;
    1004              :     }
    1005              :   return NULL_TREE;
    1006              : }
    1007              : 
    1008              : tree
    1009            2 : generic_simplify_199 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1010              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1011              :  const combined_fn ARG_UNUSED (SQRT_ALL))
    1012              : {
    1013            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1014            2 :   if (flag_unsafe_math_optimizations
    1015              : )
    1016              :     {
    1017            2 :       if (!tree_expr_maybe_signaling_nan_p (captures[1])
    1018              : )
    1019              :         {
    1020            2 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail339;
    1021            2 :           {
    1022            2 :             tree _r;
    1023            2 :             _r = captures[1];
    1024            2 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 254, __FILE__, __LINE__, true);
    1025            2 :             return _r;
    1026              :           }
    1027            0 : next_after_fail339:;
    1028              :         }
    1029              :     }
    1030              :   return NULL_TREE;
    1031              : }
    1032              : 
    1033              : tree
    1034            9 : generic_simplify_202 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1035              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1036              :  const combined_fn ARG_UNUSED (LDEXP))
    1037              : {
    1038            9 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1039            9 :   if (flag_unsafe_math_optimizations
    1040              : )
    1041              :     {
    1042            9 :       if (real_equal (TREE_REAL_CST_PTR (captures[1]), &dconst1)
    1043              : )
    1044              :         {
    1045            9 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail342;
    1046            9 :           {
    1047            9 :             tree res_op0;
    1048            9 :             res_op0 = captures[0];
    1049            9 :             tree res_op1;
    1050            9 :             res_op1 = captures[2];
    1051            9 :             tree _r;
    1052            9 :             _r = maybe_build_call_expr_loc (loc, LDEXP, type, 2, res_op0, res_op1);
    1053            9 :             if (!_r)
    1054            0 :               goto next_after_fail342;
    1055            9 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1056            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1057            9 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 257, __FILE__, __LINE__, true);
    1058            9 :             return _r;
    1059              :           }
    1060              : next_after_fail342:;
    1061              :         }
    1062              :     }
    1063              :   return NULL_TREE;
    1064              : }
    1065              : 
    1066              : tree
    1067          166 : generic_simplify_209 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1068              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1069              :  const enum tree_code ARG_UNUSED (op))
    1070              : {
    1071          166 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1072          332 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    1073          332 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
    1074          166 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
    1075              :  && (CONSTANT_CLASS_P (captures[2]) || (single_use (captures[1]) && single_use (captures[0])))
    1076          166 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1077          498 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    1078              : )
    1079              :     {
    1080          166 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail349;
    1081          166 :       {
    1082          166 :         tree res_op0;
    1083          166 :         res_op0 = captures[2];
    1084          166 :         tree res_op1;
    1085          166 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[2]));
    1086          166 :         tree _r;
    1087          166 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1088          166 :         if (TREE_SIDE_EFFECTS (captures[3]))
    1089            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1090          166 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 264, __FILE__, __LINE__, true);
    1091          166 :         return _r;
    1092              :       }
    1093            0 : next_after_fail349:;
    1094              :     }
    1095              :   return NULL_TREE;
    1096              : }
    1097              : 
    1098              : tree
    1099         7929 : generic_simplify_220 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1100              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1101              :  const enum tree_code ARG_UNUSED (op))
    1102              : {
    1103         7929 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1104         7929 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail376;
    1105         7929 :   {
    1106         7929 :     tree res_op0;
    1107         7929 :     res_op0 = captures[1];
    1108         7929 :     tree res_op1;
    1109         7929 :     res_op1 = captures[2];
    1110         7929 :     tree _r;
    1111         7929 :     _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1112         7929 :     if (TREE_SIDE_EFFECTS (captures[0]))
    1113            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1114         7929 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 290, __FILE__, __LINE__, true);
    1115              :     return _r;
    1116              :   }
    1117            0 : next_after_fail376:;
    1118            0 :   return NULL_TREE;
    1119              : }
    1120              : 
    1121              : tree
    1122        61116 : generic_simplify_226 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1123              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1124              :  const enum tree_code ARG_UNUSED (neeq))
    1125              : {
    1126        61116 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1127        61116 :   {
    1128        61116 :  poly_int64 diff; tree inner_type = TREE_TYPE (captures[1]);
    1129        61116 :       if (ptr_difference_const (captures[2], captures[0], &diff)
    1130              : )
    1131              :         {
    1132        15637 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail382;
    1133        15637 :           {
    1134        15637 :             tree res_op0;
    1135        15637 :             res_op0 =  build_int_cst_type (inner_type, diff);
    1136        15637 :             tree res_op1;
    1137        15637 :             res_op1 = captures[1];
    1138        15637 :             tree _r;
    1139        15637 :             _r = fold_build2_loc (loc, neeq, type, res_op0, res_op1);
    1140        15637 :             if (TREE_SIDE_EFFECTS (captures[0]))
    1141            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1142        15637 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1143            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1144        15637 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 295, __FILE__, __LINE__, true);
    1145        15637 :             return _r;
    1146              :           }
    1147            0 : next_after_fail382:;
    1148              :         }
    1149              :   }
    1150        45479 :   return NULL_TREE;
    1151              : }
    1152              : 
    1153              : tree
    1154          726 : generic_simplify_234 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1155              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1156              :  const enum tree_code ARG_UNUSED (cmp))
    1157              : {
    1158          726 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1159          726 :   if (wi::gt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    1160          726 :  TYPE_SIGN (TREE_TYPE (captures[0])))
    1161              : )
    1162              :     {
    1163           42 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail391;
    1164           42 :       {
    1165           42 :         tree _r;
    1166           42 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1167           42 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1168            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1169           42 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1170            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1171           42 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1172            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1173           42 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 304, __FILE__, __LINE__, true);
    1174           42 :         return _r;
    1175              :       }
    1176            0 : next_after_fail391:;
    1177              :     }
    1178              :   else
    1179              :     {
    1180          684 :       if (wi::lt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    1181          684 :  TYPE_SIGN (TREE_TYPE (captures[0])))
    1182              : )
    1183              :         {
    1184          684 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail392;
    1185          684 :           {
    1186          684 :             tree res_op0;
    1187          684 :             res_op0 = captures[0];
    1188          684 :             tree res_op1;
    1189          684 :             res_op1 = captures[2];
    1190          684 :             tree _r;
    1191          684 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1192          684 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1193            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1194          684 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 305, __FILE__, __LINE__, true);
    1195          684 :             return _r;
    1196              :           }
    1197            0 : next_after_fail392:;
    1198              :         }
    1199              :     }
    1200              :   return NULL_TREE;
    1201              : }
    1202              : 
    1203              : tree
    1204           47 : generic_simplify_245 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1205              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1206              : {
    1207           47 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1208           47 :   if (TREE_CODE (TREE_TYPE (captures[1])) != COMPLEX_TYPE
    1209           47 :  && (!VECTOR_MODE_P (TYPE_MODE (TREE_TYPE (captures[1])))
    1210            7 :  || !target_supports_op_p (TREE_TYPE (captures[1]), TRUNC_DIV_EXPR,
    1211              :  optab_vector)
    1212            0 :  || target_supports_op_p (TREE_TYPE (captures[1]), TRUNC_MOD_EXPR,
    1213              :  optab_vector))
    1214              : )
    1215              :     {
    1216           47 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail413;
    1217           47 :       {
    1218           47 :         tree res_op0;
    1219           47 :         {
    1220           47 :           tree _o1[2], _r1;
    1221           47 :           _o1[0] = captures[1];
    1222           47 :           _o1[1] = captures[2];
    1223           47 :           _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1224           47 :           res_op0 = _r1;
    1225              :         }
    1226           47 :         tree res_op1;
    1227           47 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1228           47 :         tree _r;
    1229           47 :         _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1230           47 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 326, __FILE__, __LINE__, true);
    1231           47 :         return _r;
    1232              :       }
    1233            0 : next_after_fail413:;
    1234              :     }
    1235              :   return NULL_TREE;
    1236              : }
    1237              : 
    1238              : tree
    1239        60096 : generic_simplify_253 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1240              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1241              :  const enum tree_code ARG_UNUSED (cmp))
    1242              : {
    1243        60096 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1244       120192 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1245       120192 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    1246       136832 :  && wi::to_wide (captures[1]) != 0
    1247              : )
    1248              :     {
    1249        16640 :       {
    1250        16640 :  widest_int quot;
    1251        16640 :           if (wi::multiple_of_p (wi::to_widest (captures[2]), wi::to_widest (captures[1]),
    1252        16640 :  TYPE_SIGN (TREE_TYPE (captures[0])), &quot)
    1253              : )
    1254              :             {
    1255        12596 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail424;
    1256        12596 :               {
    1257        12596 :                 tree res_op0;
    1258        12596 :                 res_op0 = captures[0];
    1259        12596 :                 tree res_op1;
    1260        12596 :                 res_op1 =  wide_int_to_tree (TREE_TYPE (captures[0]), quot);
    1261        12596 :                 tree _r;
    1262        12596 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1263        12596 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1264            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1265        12596 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1266            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1267        12596 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 336, __FILE__, __LINE__, true);
    1268        12596 :                 return _r;
    1269              :               }
    1270            0 : next_after_fail424:;
    1271              :             }
    1272              :           else
    1273              :             {
    1274         4044 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail425;
    1275         4044 :               {
    1276         4044 :                 tree _r;
    1277         4044 :                 _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1278         4044 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    1279            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1280         4044 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1281            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1282         4044 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1283            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1284         4044 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 337, __FILE__, __LINE__, true);
    1285         4044 :                 return _r;
    1286              :               }
    1287            0 : next_after_fail425:;
    1288              :             }
    1289        16640 :       }
    1290              :     }
    1291              :   else
    1292              :     {
    1293        86912 :       if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1294        43456 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))
    1295        86912 :  && (wi::bit_and (wi::to_wide (captures[1]), 1) == 1)
    1296              : )
    1297              :         {
    1298         1098 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail426;
    1299         1098 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail426;
    1300         1098 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail426;
    1301         1098 :           {
    1302         1098 :             tree res_op0;
    1303         1098 :             res_op0 = captures[0];
    1304         1098 :             tree res_op1;
    1305         1098 :  tree itype = TREE_TYPE (captures[0]);
    1306         1098 :  int p = TYPE_PRECISION (itype);
    1307         1098 :  wide_int m = wi::one (p + 1) << p;
    1308         1098 :  wide_int a = wide_int::from (wi::to_wide (captures[1]), p + 1, UNSIGNED);
    1309         1098 :  wide_int i = wide_int::from (wi::mod_inv (a, m),
    1310         2196 :  p, TYPE_SIGN (itype));     res_op1 = 
    1311         1098 :  wide_int_to_tree (itype, wi::mul (i, wi::to_wide (captures[2])));
    1312         1098 :             tree _r;
    1313         1098 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1314         1098 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 338, __FILE__, __LINE__, true);
    1315         1098 :             return _r;
    1316         1098 :           }
    1317              : next_after_fail426:;
    1318              :         }
    1319              :     }
    1320              :   return NULL_TREE;
    1321              : }
    1322              : 
    1323              : tree
    1324      7622102 : generic_simplify_269 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1325              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1326              :  const enum tree_code ARG_UNUSED (cmp))
    1327              : {
    1328      7622102 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1329     15244180 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1330      2525521 :  && !(targetm.have_canonicalize_funcptr_for_compare ()
    1331            0 :  && ((POINTER_TYPE_P (TREE_TYPE (captures[1]))
    1332            0 :  && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[1]))))
    1333            0 :  || (POINTER_TYPE_P (TREE_TYPE (captures[3]))
    1334            0 :  && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[3]))))))
    1335      7622102 :  && single_use (captures[0])
    1336              : )
    1337              :     {
    1338      2525521 :       if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[0]))
    1339      1781161 :  && (TREE_CODE (captures[3]) == INTEGER_CST
    1340      1781161 :  || captures[2] != captures[3])
    1341      1781161 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1])) == TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1342              :  || cmp == NE_EXPR
    1343      1019507 :  || cmp == EQ_EXPR)
    1344       799879 :  && !POINTER_TYPE_P (TREE_TYPE (captures[1]))
    1345      3214691 :  && (TREE_CODE (TREE_TYPE (captures[1])) != BOOLEAN_TYPE
    1346          390 :  || TREE_CODE (TREE_TYPE (captures[3])) == BOOLEAN_TYPE)
    1347              : )
    1348              :         {
    1349       689170 :           if (TREE_CODE (captures[2]) == INTEGER_CST
    1350              : )
    1351              :             {
    1352            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail484;
    1353            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail484;
    1354            0 :               {
    1355            0 :                 tree res_op0;
    1356            0 :                 res_op0 = captures[1];
    1357            0 :                 tree res_op1;
    1358            0 :                 res_op1 =  force_fit_type (TREE_TYPE (captures[1]),
    1359            0 :  wide_int::from (wi::to_wide (captures[2]),
    1360            0 :  MAX (TYPE_PRECISION (TREE_TYPE (captures[2])),
    1361              :  TYPE_PRECISION (TREE_TYPE (captures[1]))),
    1362            0 :  TYPE_SIGN (TREE_TYPE (captures[2]))),
    1363            0 :  0, TREE_OVERFLOW (captures[2]));
    1364            0 :                 tree _r;
    1365            0 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1366            0 :                 if (TREE_SIDE_EFFECTS (captures[3]))
    1367            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1368            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 395, __FILE__, __LINE__, true);
    1369            0 :                 return _r;
    1370              :               }
    1371              : next_after_fail484:;
    1372              :             }
    1373              :           else
    1374              :             {
    1375       689170 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail485;
    1376       596921 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail485;
    1377       596921 :               {
    1378       596921 :                 tree res_op0;
    1379       596921 :                 res_op0 = captures[1];
    1380       596921 :                 tree res_op1;
    1381       596921 :                 {
    1382       596921 :                   tree _o1[1], _r1;
    1383       596921 :                   _o1[0] = captures[2];
    1384       596921 :                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1385              :                     {
    1386       596799 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1387              :                     }
    1388              :                   else
    1389              :                     _r1 = _o1[0];
    1390       596921 :                   res_op1 = _r1;
    1391              :                 }
    1392       596921 :                 tree _r;
    1393       596921 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1394       596921 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 396, __FILE__, __LINE__, true);
    1395       596921 :                 return _r;
    1396              :               }
    1397              : next_after_fail485:;
    1398              :             }
    1399              :         }
    1400              :       else
    1401              :         {
    1402      1836351 :           if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
    1403              : )
    1404              :             {
    1405       691078 :               if ((cmp == EQ_EXPR || cmp == NE_EXPR
    1406       224440 :  || TYPE_UNSIGNED (TREE_TYPE (captures[0])) == TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1407       116178 :  || (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1408       115082 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))))
    1409       914422 :  && (types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]))
    1410       115523 :  || ((TYPE_PRECISION (TREE_TYPE (captures[1]))
    1411       115523 :  >= TYPE_PRECISION (TREE_TYPE (captures[3])))
    1412        49812 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1413        49812 :  == TYPE_UNSIGNED (TREE_TYPE (captures[3]))))
    1414        77553 :  || (TREE_CODE (captures[2]) == INTEGER_CST
    1415            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1416            0 :  && int_fits_type_p (captures[2], TREE_TYPE (captures[1]))))
    1417              : )
    1418              :                 {
    1419       612429 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail486;
    1420       612429 :                   {
    1421       612429 :                     tree res_op0;
    1422       612429 :                     res_op0 = captures[1];
    1423       612429 :                     tree res_op1;
    1424       612429 :                     {
    1425       612429 :                       tree _o1[1], _r1;
    1426       612429 :                       _o1[0] = captures[3];
    1427       612429 :                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1428              :                         {
    1429       132271 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1430              :                         }
    1431              :                       else
    1432              :                         _r1 = _o1[0];
    1433       612429 :                       res_op1 = _r1;
    1434              :                     }
    1435       612429 :                     tree _r;
    1436       612429 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1437       612429 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 397, __FILE__, __LINE__, true);
    1438       612429 :                     return _r;
    1439              :                   }
    1440            0 : next_after_fail486:;
    1441              :                 }
    1442              :               else
    1443              :                 {
    1444        78649 :                   if (TREE_CODE (captures[2]) == INTEGER_CST
    1445            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1446        78649 :  && !int_fits_type_p (captures[2], TREE_TYPE (captures[1]))
    1447              : )
    1448              :                     {
    1449            0 :                       {
    1450            0 :  tree min = lower_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
    1451            0 :  tree max = upper_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
    1452            0 :  bool above = integer_nonzerop (const_binop (LT_EXPR, type, max, captures[2]));
    1453            0 :  bool below = integer_nonzerop (const_binop (LT_EXPR, type, captures[2], min));
    1454            0 :                           if (above || below
    1455              : )
    1456              :                             {
    1457            0 :                               if (cmp == EQ_EXPR || cmp == NE_EXPR
    1458              : )
    1459              :                                 {
    1460            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail487;
    1461            0 :                                   {
    1462            0 :                                     tree _r;
    1463            0 :                                     _r =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
    1464            0 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1465            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1466            0 :                                     if (TREE_SIDE_EFFECTS (captures[3]))
    1467            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1468            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 398, __FILE__, __LINE__, true);
    1469            0 :                                     return _r;
    1470              :                                   }
    1471            0 : next_after_fail487:;
    1472              :                                 }
    1473              :                               else
    1474              :                                 {
    1475            0 :                                   if (cmp == LT_EXPR || cmp == LE_EXPR
    1476              : )
    1477              :                                     {
    1478            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail488;
    1479            0 :                                       {
    1480            0 :                                         tree _r;
    1481            0 :                                         _r =  constant_boolean_node (above ? true : false, type);
    1482            0 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1483            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1484            0 :                                         if (TREE_SIDE_EFFECTS (captures[3]))
    1485            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1486            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 399, __FILE__, __LINE__, true);
    1487            0 :                                         return _r;
    1488              :                                       }
    1489            0 : next_after_fail488:;
    1490              :                                     }
    1491              :                                   else
    1492              :                                     {
    1493            0 :                                       if (cmp == GT_EXPR || cmp == GE_EXPR
    1494              : )
    1495              :                                         {
    1496            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail489;
    1497            0 :                                           {
    1498            0 :                                             tree _r;
    1499            0 :                                             _r =  constant_boolean_node (above ? false : true, type);
    1500            0 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1501            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1502            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
    1503            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1504            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 400, __FILE__, __LINE__, true);
    1505            0 :                                             return _r;
    1506              :                                           }
    1507            0 : next_after_fail489:;
    1508              :                                         }
    1509              :                                     }
    1510              :                                 }
    1511              :                             }
    1512              :                       }
    1513              :                     }
    1514              :                 }
    1515              :             }
    1516              :           else
    1517              :             {
    1518      2290527 :               if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1519      1031909 :  && (TYPE_PRECISION (TREE_TYPE (captures[0]))
    1520      1031909 :  < TYPE_PRECISION (TREE_TYPE (captures[1])))
    1521        53243 :  && (cmp == EQ_EXPR || cmp == NE_EXPR)
    1522      1147306 :  && types_match (TREE_TYPE (captures[1]),
    1523         2033 :  TREE_TYPE (captures[3]))
    1524              : )
    1525              :                 {
    1526         1621 :                   {
    1527         1621 :  tree itype = TREE_TYPE (captures[0]);
    1528         1621 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail490;
    1529         1621 :                       {
    1530         1621 :                         tree res_op0;
    1531         1621 :                         {
    1532         1621 :                           tree _o1[1], _r1;
    1533         1621 :                           {
    1534         1621 :                             tree _o2[2], _r2;
    1535         1621 :                             _o2[0] = captures[1];
    1536         1621 :                             _o2[1] = captures[3];
    1537         1621 :                             _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1538         1621 :                             _o1[0] = _r2;
    1539              :                           }
    1540         1621 :                           if (TREE_TYPE (_o1[0]) != itype)
    1541              :                             {
    1542         1621 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, itype, _o1[0]);
    1543              :                             }
    1544              :                           else
    1545              :                             _r1 = _o1[0];
    1546         1621 :                           res_op0 = _r1;
    1547              :                         }
    1548         1621 :                         tree res_op1;
    1549         1621 :                         res_op1 =  build_zero_cst (itype);
    1550         1621 :                         tree _r;
    1551         1621 :                         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1552         1621 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 401, __FILE__, __LINE__, true);
    1553         1621 :                         return _r;
    1554              :                       }
    1555            0 : next_after_fail490:;
    1556              :                   }
    1557              :                 }
    1558              :             }
    1559              :         }
    1560              :     }
    1561              :   else
    1562              :     {
    1563     10150464 :       if (FLOAT_TYPE_P (TREE_TYPE (captures[1]))
    1564        85478 :  && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1565        42739 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[1])))
    1566      5182051 :  && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1567        42735 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[3])))
    1568              : )
    1569              :         {
    1570        42731 :           {
    1571        42731 :  tree type1 = TREE_TYPE (captures[3]);
    1572        42731 :  if (TREE_CODE (captures[3]) == REAL_CST && !DECIMAL_FLOAT_TYPE_P (type1))
    1573              :  {
    1574            0 :  REAL_VALUE_TYPE orig = TREE_REAL_CST (captures[3]);
    1575            0 :  if (TYPE_PRECISION (type1) > TYPE_PRECISION (float_type_node)
    1576            0 :  && exact_real_truncate (TYPE_MODE (float_type_node), &orig))
    1577            0 :  type1 = float_type_node;
    1578            0 :  if (TYPE_PRECISION (type1) > TYPE_PRECISION (double_type_node)
    1579            0 :  && exact_real_truncate (TYPE_MODE (double_type_node), &orig))
    1580            0 :  type1 = double_type_node;
    1581              :  }
    1582        42731 :  tree newtype
    1583        42731 :  = (element_precision (TREE_TYPE (captures[1])) > element_precision (type1)
    1584        42731 :  ? TREE_TYPE (captures[1]) : type1);
    1585        42731 :               if (element_precision (TREE_TYPE (captures[0])) > element_precision (newtype)
    1586        42731 :  && (!VECTOR_TYPE_P (type) || is_truth_type_for (newtype, type))
    1587              : )
    1588              :                 {
    1589         1527 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail491;
    1590         1527 :                   {
    1591         1527 :                     tree res_op0;
    1592         1527 :                     {
    1593         1527 :                       tree _o1[1], _r1;
    1594         1527 :                       _o1[0] = captures[1];
    1595         1527 :                       if (TREE_TYPE (_o1[0]) != newtype)
    1596              :                         {
    1597            9 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    1598              :                         }
    1599              :                       else
    1600              :                         _r1 = _o1[0];
    1601         1527 :                       res_op0 = _r1;
    1602              :                     }
    1603         1527 :                     tree res_op1;
    1604         1527 :                     {
    1605         1527 :                       tree _o1[1], _r1;
    1606         1527 :                       _o1[0] = captures[3];
    1607         1527 :                       if (TREE_TYPE (_o1[0]) != newtype)
    1608              :                         {
    1609            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    1610              :                         }
    1611              :                       else
    1612              :                         _r1 = _o1[0];
    1613         1527 :                       res_op1 = _r1;
    1614              :                     }
    1615         1527 :                     tree _r;
    1616         1527 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1617         1527 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 402, __FILE__, __LINE__, true);
    1618         1527 :                     return _r;
    1619              :                   }
    1620            0 : next_after_fail491:;
    1621              :                 }
    1622              :           }
    1623              :         }
    1624              :     }
    1625              :   return NULL_TREE;
    1626              : }
    1627              : 
    1628              : tree
    1629           17 : generic_simplify_301 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1630              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1631              :  const enum tree_code ARG_UNUSED (cmp),
    1632              :  const combined_fn ARG_UNUSED (ffs))
    1633              : {
    1634           17 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1635           17 :   {
    1636           17 :  int prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
    1637           17 :       if (integer_zerop (captures[2])
    1638              : )
    1639              :         {
    1640            9 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail564;
    1641            9 :           {
    1642            9 :             tree res_op0;
    1643            9 :             res_op0 = captures[1];
    1644            9 :             tree res_op1;
    1645            9 :             res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1646            9 :             tree _r;
    1647            9 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1648            9 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1649            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1650            9 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 457, __FILE__, __LINE__, true);
    1651           17 :             return _r;
    1652              :           }
    1653            0 : next_after_fail564:;
    1654              :         }
    1655              :       else
    1656              :         {
    1657            8 :           if (tree_int_cst_sgn (captures[2]) < 0 || wi::to_widest (captures[2]) > prec
    1658              : )
    1659              :             {
    1660            4 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail565;
    1661            4 :               {
    1662            4 :                 tree _r;
    1663            4 :                 _r =  constant_boolean_node (cmp == NE_EXPR ? true : false, type);
    1664            4 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1665            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1666            4 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1667            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1668            4 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 458, __FILE__, __LINE__, true);
    1669            4 :                 return _r;
    1670              :               }
    1671            0 : next_after_fail565:;
    1672              :             }
    1673              :           else
    1674              :             {
    1675            4 :               if (single_use (captures[0])
    1676              : )
    1677              :                 {
    1678            4 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail566;
    1679            4 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail566;
    1680            4 :                   {
    1681            4 :                     tree res_op0;
    1682            4 :                     {
    1683            4 :                       tree _o1[2], _r1;
    1684            4 :                       _o1[0] = captures[1];
    1685            4 :                       _o1[1] =  wide_int_to_tree (TREE_TYPE (captures[1]),
    1686            4 :  wi::mask (tree_to_uhwi (captures[2]),
    1687              :  false, prec));
    1688            4 :                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1689            4 :                       res_op0 = _r1;
    1690              :                     }
    1691            4 :                     tree res_op1;
    1692            4 :                     res_op1 =  wide_int_to_tree (TREE_TYPE (captures[1]),
    1693            4 :  wi::shifted_mask (tree_to_uhwi (captures[2]) - 1, 1,
    1694              :  false, prec));
    1695            4 :                     tree _r;
    1696            4 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1697            4 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 459, __FILE__, __LINE__, true);
    1698            4 :                     return _r;
    1699              :                   }
    1700            0 : next_after_fail566:;
    1701              :                 }
    1702              :             }
    1703              :         }
    1704              :   }
    1705            0 :   return NULL_TREE;
    1706              : }
    1707              : 
    1708              : tree
    1709            1 : generic_simplify_319 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1710              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1711              :  const enum tree_code ARG_UNUSED (div))
    1712              : {
    1713            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1714            0 :   if ((INTEGRAL_TYPE_P (type) || VECTOR_INTEGER_TYPE_P (type))
    1715            1 :  && TYPE_OVERFLOW_UNDEFINED (type)
    1716            1 :  && !integer_zerop (captures[0])
    1717            2 :  && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[0]))
    1718              : )
    1719              :     {
    1720            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail587;
    1721            1 :       {
    1722            1 :         tree _r;
    1723            1 :         _r =  build_minus_one_cst (type);
    1724            1 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1725            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1726            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 478, __FILE__, __LINE__, true);
    1727            1 :         return _r;
    1728              :       }
    1729            0 : next_after_fail587:;
    1730              :     }
    1731              :   return NULL_TREE;
    1732              : }
    1733              : 
    1734              : tree
    1735            3 : generic_simplify_324 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1736              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1737              :  const enum tree_code ARG_UNUSED (div))
    1738              : {
    1739            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1740            3 :   if (INTEGRAL_TYPE_P (type)
    1741            3 :  && wi::multiple_of_p (wi::to_widest (captures[2]), wi::to_widest (captures[3]), SIGNED)
    1742              : )
    1743              :     {
    1744            3 :       if (TYPE_OVERFLOW_UNDEFINED (type) && !TYPE_OVERFLOW_SANITIZED (type)
    1745              : )
    1746              :         {
    1747            3 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail593;
    1748            3 :           {
    1749            3 :             tree res_op0;
    1750            3 :             res_op0 = captures[2];
    1751            3 :             tree res_op1;
    1752            3 :             res_op1 = captures[3];
    1753            3 :             tree _r;
    1754            3 :             _r = fold_build2_loc (loc, div, type, res_op0, res_op1);
    1755            3 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1756            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1757            3 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 484, __FILE__, __LINE__, true);
    1758            3 :             return _r;
    1759              :           }
    1760            0 : next_after_fail593:;
    1761              :         }
    1762              :     }
    1763              :   return NULL_TREE;
    1764              : }
    1765              : 
    1766              : tree
    1767            0 : generic_simplify_334 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1768              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1769              : {
    1770            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1771            0 :   if (SCALAR_FLOAT_TYPE_P (type)
    1772            0 :  && ! HONOR_NANS (type)
    1773            0 :  && ! HONOR_INFINITIES (type)
    1774              : )
    1775              :     {
    1776            0 :       if (types_match (type, float_type_node)
    1777              : )
    1778              :         {
    1779            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail603;
    1780            0 :           {
    1781            0 :             tree res_op0;
    1782            0 :             res_op0 =  build_one_cst (type);
    1783            0 :             tree res_op1;
    1784            0 :             {
    1785            0 :               tree _o1[1], _r1;
    1786            0 :               _o1[0] = captures[0];
    1787            0 :               if (TREE_TYPE (_o1[0]) != type)
    1788              :                 {
    1789            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1790              :                 }
    1791              :               else
    1792              :                 _r1 = _o1[0];
    1793            0 :               res_op1 = _r1;
    1794              :             }
    1795            0 :             tree _r;
    1796            0 :             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COPYSIGNF, type, 2, res_op0, res_op1);
    1797            0 :             if (!_r)
    1798            0 :               goto next_after_fail603;
    1799            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 494, __FILE__, __LINE__, true);
    1800            0 :             return _r;
    1801              :           }
    1802              : next_after_fail603:;
    1803              :         }
    1804              :       else
    1805              :         {
    1806            0 :           if (types_match (type, double_type_node)
    1807              : )
    1808              :             {
    1809            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail604;
    1810            0 :               {
    1811            0 :                 tree res_op0;
    1812            0 :                 res_op0 =  build_one_cst (type);
    1813            0 :                 tree res_op1;
    1814            0 :                 {
    1815            0 :                   tree _o1[1], _r1;
    1816            0 :                   _o1[0] = captures[0];
    1817            0 :                   if (TREE_TYPE (_o1[0]) != type)
    1818              :                     {
    1819            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1820              :                     }
    1821              :                   else
    1822              :                     _r1 = _o1[0];
    1823            0 :                   res_op1 = _r1;
    1824              :                 }
    1825            0 :                 tree _r;
    1826            0 :                 _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COPYSIGN, type, 2, res_op0, res_op1);
    1827            0 :                 if (!_r)
    1828            0 :                   goto next_after_fail604;
    1829            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 495, __FILE__, __LINE__, true);
    1830            0 :                 return _r;
    1831              :               }
    1832              : next_after_fail604:;
    1833              :             }
    1834              :           else
    1835              :             {
    1836            0 :               if (types_match (type, long_double_type_node)
    1837              : )
    1838              :                 {
    1839            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail605;
    1840            0 :                   {
    1841            0 :                     tree res_op0;
    1842            0 :                     res_op0 =  build_one_cst (type);
    1843            0 :                     tree res_op1;
    1844            0 :                     {
    1845            0 :                       tree _o1[1], _r1;
    1846            0 :                       _o1[0] = captures[0];
    1847            0 :                       if (TREE_TYPE (_o1[0]) != type)
    1848              :                         {
    1849            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1850              :                         }
    1851              :                       else
    1852              :                         _r1 = _o1[0];
    1853            0 :                       res_op1 = _r1;
    1854              :                     }
    1855            0 :                     tree _r;
    1856            0 :                     _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COPYSIGNL, type, 2, res_op0, res_op1);
    1857            0 :                     if (!_r)
    1858            0 :                       goto next_after_fail605;
    1859            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 496, __FILE__, __LINE__, true);
    1860            0 :                     return _r;
    1861              :                   }
    1862              : next_after_fail605:;
    1863              :                 }
    1864              :             }
    1865              :         }
    1866              :     }
    1867              :   return NULL_TREE;
    1868              : }
    1869              : 
    1870              : tree
    1871            0 : generic_simplify_354 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1872              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1873              :  const enum tree_code ARG_UNUSED (op))
    1874              : {
    1875            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1876            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail631;
    1877            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail631;
    1878            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail631;
    1879            0 :   {
    1880            0 :     tree _r;
    1881            0 :     _r = captures[2];
    1882            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 522, __FILE__, __LINE__, true);
    1883              :     return _r;
    1884              :   }
    1885              : next_after_fail631:;
    1886              :   return NULL_TREE;
    1887              : }
    1888              : 
    1889              : tree
    1890            0 : generic_simplify_359 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1891              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1892              : {
    1893            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1894            0 :   if (INTEGRAL_TYPE_P (type)
    1895              : )
    1896              :     {
    1897            0 :       if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail636;
    1898            0 :       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail636;
    1899            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail636;
    1900            0 :       {
    1901            0 :         tree _r;
    1902            0 :         _r = captures[2];
    1903            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 527, __FILE__, __LINE__, true);
    1904            0 :         return _r;
    1905              :       }
    1906              : next_after_fail636:;
    1907              :     }
    1908              :   return NULL_TREE;
    1909              : }
    1910              : 
    1911              : tree
    1912            0 : generic_simplify_366 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1913              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1914              :  const enum tree_code ARG_UNUSED (op))
    1915              : {
    1916            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1917            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail643;
    1918            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail643;
    1919            0 :   {
    1920            0 :     tree _r;
    1921            0 :     _r = captures[2];
    1922            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 534, __FILE__, __LINE__, true);
    1923              :     return _r;
    1924              :   }
    1925              : next_after_fail643:;
    1926              :   return NULL_TREE;
    1927              : }
    1928              : 
    1929              : tree
    1930            3 : generic_simplify_372 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1931              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1932              :  const combined_fn ARG_UNUSED (func))
    1933              : {
    1934            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1935            3 :   if (wi::to_widest (captures[4]) == TYPE_PRECISION (TREE_TYPE (captures[3])) - 1
    1936              : )
    1937              :     {
    1938            3 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail650;
    1939            3 :       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail650;
    1940            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail650;
    1941            3 :       {
    1942            3 :         tree _r;
    1943            3 :         _r = captures[2];
    1944            3 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1945            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1946            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 540, __FILE__, __LINE__, true);
    1947            3 :         return _r;
    1948              :       }
    1949              : next_after_fail650:;
    1950              :     }
    1951              :   return NULL_TREE;
    1952              : }
    1953              : 
    1954              : tree
    1955       162262 : generic_simplify_380 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1956              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1957              :  const enum tree_code ARG_UNUSED (op))
    1958              : {
    1959       162262 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1960       324524 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1961       324524 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    1962              : )
    1963              :     {
    1964        68364 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail662;
    1965        68364 :       {
    1966        68364 :         tree res_op0;
    1967        68364 :         res_op0 = captures[0];
    1968        68364 :         tree res_op1;
    1969        68364 :         res_op1 = captures[2];
    1970        68364 :         tree _r;
    1971        68364 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1972        68364 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1973            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1974        68364 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 551, __FILE__, __LINE__, true);
    1975        68364 :         return _r;
    1976              :       }
    1977            0 : next_after_fail662:;
    1978              :     }
    1979              :   return NULL_TREE;
    1980              : }
    1981              : 
    1982              : tree
    1983         5312 : generic_simplify_385 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1984              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1985              :  const enum tree_code ARG_UNUSED (cmp),
    1986              :  const enum tree_code ARG_UNUSED (bitop))
    1987              : {
    1988         5312 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1989         5312 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1990              : )
    1991              :     {
    1992         5312 :       if (bitop == BIT_AND_EXPR || tree_expr_nonnegative_p (captures[1])
    1993              : )
    1994              :         {
    1995         5312 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail667;
    1996         5312 :           {
    1997         5312 :             tree _r;
    1998         5312 :             _r =  constant_boolean_node (cmp == GE_EXPR || cmp == LE_EXPR, type);
    1999         5312 :             if (TREE_SIDE_EFFECTS (captures[0]))
    2000            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2001         5312 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2002            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2003         5312 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 556, __FILE__, __LINE__, true);
    2004         5312 :             return _r;
    2005              :           }
    2006            0 : next_after_fail667:;
    2007              :         }
    2008              :       else
    2009              :         {
    2010            0 :           if (TREE_CODE (captures[1]) == INTEGER_CST && wi::neg_p (wi::to_wide (captures[1]))
    2011              : )
    2012              :             {
    2013            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail668;
    2014            0 :               {
    2015            0 :                 tree _r;
    2016            0 :                 _r =  constant_boolean_node (cmp == LT_EXPR, type);
    2017            0 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    2018            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2019            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2020            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2021            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 557, __FILE__, __LINE__, true);
    2022            0 :                 return _r;
    2023              :               }
    2024            0 : next_after_fail668:;
    2025              :             }
    2026              :         }
    2027              :     }
    2028              :   return NULL_TREE;
    2029              : }
    2030              : 
    2031              : tree
    2032            2 : generic_simplify_399 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2033              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2034              :  const enum tree_code ARG_UNUSED (cmp))
    2035              : {
    2036            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2037            4 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2038            4 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2039              : )
    2040              :     {
    2041            2 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail714;
    2042            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail714;
    2043            2 :       {
    2044            2 :         tree res_op0;
    2045            2 :         res_op0 = captures[1];
    2046            2 :         tree res_op1;
    2047            2 :         res_op1 = captures[0];
    2048            2 :         tree _r;
    2049            2 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2050            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 586, __FILE__, __LINE__, true);
    2051            2 :         return _r;
    2052              :       }
    2053              : next_after_fail714:;
    2054              :     }
    2055              :   return NULL_TREE;
    2056              : }
    2057              : 
    2058              : tree
    2059      2449552 : generic_simplify_404 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2060              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2061              :  const enum tree_code ARG_UNUSED (op),
    2062              :  const enum tree_code ARG_UNUSED (rop),
    2063              :  const enum tree_code ARG_UNUSED (cmp),
    2064              :  const enum tree_code ARG_UNUSED (rcmp))
    2065              : {
    2066      2449552 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2067      4899090 :   if (!TREE_OVERFLOW (captures[2]) && !TREE_OVERFLOW (captures[3])
    2068      4899078 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    2069              : )
    2070              :     {
    2071       882637 :       {
    2072       882637 :  tree res = int_const_binop (rop, captures[3], captures[2]);
    2073       882637 :           if (TREE_OVERFLOW (res)
    2074              : )
    2075              :             {
    2076        12776 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail720;
    2077        12776 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail720;
    2078        12776 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail720;
    2079        12776 :               {
    2080        12776 :                 tree _r;
    2081        12776 :  bool less = cmp == LE_EXPR || cmp == LT_EXPR;
    2082        12776 :  bool ovf_high = wi::lt_p (wi::to_wide (captures[2]), 0,
    2083        12776 :  TYPE_SIGN (TREE_TYPE (captures[2])))
    2084        12776 :  != (op == MINUS_EXPR);         _r = 
    2085        12776 :  constant_boolean_node (less == ovf_high, type);
    2086        12776 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2087            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2088        12776 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 592, __FILE__, __LINE__, true);
    2089        12776 :                 return _r;
    2090              :               }
    2091              : next_after_fail720:;
    2092              :             }
    2093              :           else
    2094              :             {
    2095       869861 :               if (single_use (captures[0])
    2096              : )
    2097              :                 {
    2098       869861 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail721;
    2099       869861 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail721;
    2100       869861 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail721;
    2101       869861 :                   {
    2102       869861 :                     tree res_op0;
    2103       869861 :                     res_op0 = captures[1];
    2104       869861 :                     tree res_op1;
    2105       869861 :                     res_op1 =  res;
    2106       869861 :                     tree _r;
    2107       869861 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2108       869861 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 593, __FILE__, __LINE__, true);
    2109       869861 :                     return _r;
    2110              :                   }
    2111              : next_after_fail721:;
    2112              :                 }
    2113              :             }
    2114              :       }
    2115              :     }
    2116              :   else
    2117              :     {
    2118      1566915 :       if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
    2119              : )
    2120              :         {
    2121      1566790 :           {
    2122      1566790 :  wide_int max = wi::max_value (TREE_TYPE (captures[1]));
    2123      1566790 :  wide_int min = wi::min_value (TREE_TYPE (captures[1]));
    2124      1566790 :  wide_int c2 = rop == PLUS_EXPR
    2125      1566790 :  ? wi::add (wi::to_wide (captures[3]), wi::to_wide (captures[2]))
    2126      1566790 :  : wi::sub (wi::to_wide (captures[3]), wi::to_wide (captures[2]));
    2127      1495626 :               if (((cmp == LE_EXPR || cmp == GT_EXPR) && wi::eq_p (c2, max))
    2128      3047289 :  || ((cmp == LT_EXPR || cmp == GE_EXPR) && wi::eq_p (c2, min))
    2129              : )
    2130              :                 {
    2131        15285 :                   {
    2132        15285 :  wide_int c1 = rop == PLUS_EXPR
    2133        15285 :  ? wi::add (wi::bit_not (c2), wi::to_wide (captures[2]))
    2134        30570 :  : wi::sub (wi::bit_not (c2), wi::to_wide (captures[2]));
    2135        15285 :  tree c1_cst = wide_int_to_tree (TREE_TYPE (captures[1]), c1);
    2136        15285 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail722;
    2137        15285 :                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail722;
    2138        15285 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail722;
    2139        15285 :                       {
    2140        15285 :                         tree res_op0;
    2141        15285 :                         res_op0 = captures[1];
    2142        15285 :                         tree res_op1;
    2143        15285 :                         res_op1 =  c1_cst;
    2144        15285 :                         tree _r;
    2145        15285 :                         _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    2146        15285 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 594, __FILE__, __LINE__, true);
    2147        15285 :                         return _r;
    2148              :                       }
    2149            0 : next_after_fail722:;
    2150        15285 :                   }
    2151              :                 }
    2152      1566792 :           }
    2153              :         }
    2154              :     }
    2155              :   return NULL_TREE;
    2156              : }
    2157              : 
    2158              : tree
    2159           11 : generic_simplify_420 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2160              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2161              : {
    2162           11 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2163           11 :   if (wi::ltu_p (wi::to_wide (captures[1]), element_precision (type))
    2164              : )
    2165              :     {
    2166           11 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail746;
    2167           11 :       {
    2168           11 :         tree res_op0;
    2169           11 :         {
    2170           11 :           tree _o1[1], _r1;
    2171           11 :           _o1[0] = captures[0];
    2172           11 :           if (TREE_TYPE (_o1[0]) != type)
    2173              :             {
    2174            8 :               _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    2175              :             }
    2176              :           else
    2177              :             _r1 = _o1[0];
    2178           11 :           res_op0 = _r1;
    2179              :         }
    2180           11 :         tree res_op1;
    2181           11 :         {
    2182           11 :           tree _o1[2], _r1;
    2183           11 :           _o1[0] =  build_minus_one_cst (type);
    2184           11 :           _o1[1] = captures[1];
    2185           11 :           _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2186           11 :           res_op1 = _r1;
    2187              :         }
    2188           11 :         tree _r;
    2189           11 :         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2190           11 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 614, __FILE__, __LINE__, true);
    2191           11 :         return _r;
    2192              :       }
    2193            0 : next_after_fail746:;
    2194              :     }
    2195              :   return NULL_TREE;
    2196              : }
    2197              : 
    2198              : tree
    2199          271 : generic_simplify_429 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2200              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2201              :  const combined_fn ARG_UNUSED (bswap))
    2202              : {
    2203          271 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2204          271 :   if (BITS_PER_UNIT == 8
    2205              :  && CHAR_TYPE_SIZE == 8
    2206          271 :  && tree_fits_uhwi_p (captures[2])
    2207              : )
    2208              :     {
    2209          271 :       {
    2210          271 :  unsigned HOST_WIDE_INT prec = TYPE_PRECISION (TREE_TYPE (captures[0]));
    2211          271 :  unsigned HOST_WIDE_INT bits = tree_to_uhwi (captures[2]);
    2212          271 :  tree st = TYPE_PRECISION (type) > prec ? TREE_TYPE (captures[0]) : type;
    2213          271 :           if (TYPE_PRECISION (type) > prec
    2214            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2215            0 :  && TYPE_UNSIGNED (type)
    2216          271 :  && bits < prec && bits + 8 >= prec
    2217              : )
    2218              :             {
    2219            0 :               {
    2220            0 :  tree nst = build_int_cst (integer_type_node, prec - 8);
    2221            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail759;
    2222            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail759;
    2223            0 :                   {
    2224            0 :                     tree res_op0;
    2225            0 :                     {
    2226            0 :                       tree _o1[1], _r1;
    2227            0 :                       {
    2228            0 :                         tree _o2[2], _r2;
    2229            0 :                         {
    2230            0 :                           tree _o3[1], _r3;
    2231            0 :                           _o3[0] = captures[1];
    2232            0 :                           if (TREE_TYPE (_o3[0]) != st)
    2233              :                             {
    2234            0 :                               _r3 = fold_build1_loc (loc, NOP_EXPR, st, _o3[0]);
    2235              :                             }
    2236              :                           else
    2237              :                             _r3 = _o3[0];
    2238            0 :                           _o2[0] = _r3;
    2239              :                         }
    2240            0 :                         _o2[1] = nst;
    2241            0 :                         _r2 = fold_build2_loc (loc, LSHIFT_EXPR, st, _o2[0], _o2[1]);
    2242            0 :                         _o1[0] = _r2;
    2243              :                       }
    2244            0 :                       if (TREE_TYPE (_o1[0]) != type)
    2245              :                         {
    2246            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2247              :                         }
    2248              :                       else
    2249              :                         _r1 = _o1[0];
    2250            0 :                       res_op0 = _r1;
    2251              :                     }
    2252            0 :                     tree res_op1;
    2253            0 :                     res_op1 = captures[2];
    2254            0 :                     tree _r;
    2255            0 :                     _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
    2256            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 625, __FILE__, __LINE__, true);
    2257            0 :                     return _r;
    2258              :                   }
    2259              : next_after_fail759:;
    2260              :               }
    2261              :             }
    2262              :           else
    2263              :             {
    2264          271 :               if (bits + 8 == prec
    2265              : )
    2266              :                 {
    2267           46 :                   if (TYPE_UNSIGNED (st)
    2268              : )
    2269              :                     {
    2270           36 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail760;
    2271           36 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail760;
    2272           36 :                       {
    2273           36 :                         tree res_op0;
    2274           36 :                         {
    2275           36 :                           tree _o1[1], _r1;
    2276           36 :                           _o1[0] = captures[1];
    2277           36 :                           if (TREE_TYPE (_o1[0]) != unsigned_char_type_node)
    2278              :                             {
    2279           36 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, unsigned_char_type_node, _o1[0]);
    2280              :                             }
    2281              :                           else
    2282              :                             _r1 = _o1[0];
    2283           36 :                           res_op0 = _r1;
    2284              :                         }
    2285           36 :                         tree _r;
    2286           36 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2287           36 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 626, __FILE__, __LINE__, true);
    2288           36 :                         return _r;
    2289              :                       }
    2290              : next_after_fail760:;
    2291              :                     }
    2292              :                   else
    2293              :                     {
    2294           10 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail761;
    2295           10 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail761;
    2296           10 :                       {
    2297           10 :                         tree res_op0;
    2298           10 :                         {
    2299           10 :                           tree _o1[1], _r1;
    2300           10 :                           _o1[0] = captures[1];
    2301           10 :                           if (TREE_TYPE (_o1[0]) != signed_char_type_node)
    2302              :                             {
    2303           10 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, signed_char_type_node, _o1[0]);
    2304              :                             }
    2305              :                           else
    2306              :                             _r1 = _o1[0];
    2307           10 :                           res_op0 = _r1;
    2308              :                         }
    2309           10 :                         tree _r;
    2310           10 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2311           10 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 627, __FILE__, __LINE__, true);
    2312           10 :                         return _r;
    2313              :                       }
    2314              : next_after_fail761:;
    2315              :                     }
    2316              :                 }
    2317              :               else
    2318              :                 {
    2319          225 :                   if (bits < prec && bits + 8 > prec
    2320              : )
    2321              :                     {
    2322           57 :                       {
    2323           57 :  tree nst = build_int_cst (integer_type_node, bits & 7);
    2324           57 :  tree bt = TYPE_UNSIGNED (st) ? unsigned_char_type_node
    2325           57 :  : signed_char_type_node;
    2326           57 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail762;
    2327           57 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail762;
    2328           57 :                           {
    2329           57 :                             tree res_op0;
    2330           57 :                             {
    2331           57 :                               tree _o1[2], _r1;
    2332           57 :                               {
    2333           57 :                                 tree _o2[1], _r2;
    2334           57 :                                 _o2[0] = captures[1];
    2335           57 :                                 if (TREE_TYPE (_o2[0]) != bt)
    2336              :                                   {
    2337           57 :                                     _r2 = fold_build1_loc (loc, NOP_EXPR, bt, _o2[0]);
    2338              :                                   }
    2339              :                                 else
    2340              :                                   _r2 = _o2[0];
    2341           57 :                                 _o1[0] = _r2;
    2342              :                               }
    2343           57 :                               _o1[1] = nst;
    2344           57 :                               _r1 = fold_build2_loc (loc, RSHIFT_EXPR, bt, _o1[0], _o1[1]);
    2345           57 :                               res_op0 = _r1;
    2346              :                             }
    2347           57 :                             tree _r;
    2348           57 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2349           57 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 628, __FILE__, __LINE__, true);
    2350           57 :                             return _r;
    2351              :                           }
    2352              : next_after_fail762:;
    2353              :                       }
    2354              :                     }
    2355              :                 }
    2356              :             }
    2357              :       }
    2358              :     }
    2359              :   return NULL_TREE;
    2360              : }
    2361              : 
    2362              : tree
    2363            0 : generic_simplify_444 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2364              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2365              :  const combined_fn ARG_UNUSED (pow))
    2366              : {
    2367            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2368            0 :   if (flag_unsafe_math_optimizations
    2369              : )
    2370              :     {
    2371            0 :       if (! HONOR_INFINITIES (type)
    2372            0 :  && ! flag_trapping_math
    2373            0 :  && ! flag_errno_math
    2374              : )
    2375              :         {
    2376            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail791;
    2377            0 :           {
    2378            0 :             tree res_op0;
    2379            0 :             res_op0 = captures[2];
    2380            0 :             tree res_op1;
    2381            0 :             {
    2382            0 :               tree _o1[1], _r1;
    2383            0 :               _o1[0] = captures[3];
    2384            0 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2385            0 :               res_op1 = _r1;
    2386              :             }
    2387            0 :             tree _r;
    2388            0 :             _r = maybe_build_call_expr_loc (loc, pow, type, 2, res_op0, res_op1);
    2389            0 :             if (!_r)
    2390            0 :               goto next_after_fail791;
    2391            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2392            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2393            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 645, __FILE__, __LINE__, true);
    2394            0 :             return _r;
    2395              :           }
    2396              : next_after_fail791:;
    2397              :         }
    2398              :     }
    2399              :   return NULL_TREE;
    2400              : }
    2401              : 
    2402              : tree
    2403            0 : generic_simplify_450 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2404              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2405              :  const combined_fn ARG_UNUSED (HYPOT))
    2406              : {
    2407            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2408            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail797;
    2409            0 :   {
    2410            0 :     tree res_op0;
    2411            0 :     res_op0 = captures[0];
    2412            0 :     tree _r;
    2413            0 :     _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    2414            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2415            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2416            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 651, __FILE__, __LINE__, true);
    2417              :     return _r;
    2418              :   }
    2419            0 : next_after_fail797:;
    2420            0 :   return NULL_TREE;
    2421              : }
    2422              : 
    2423              : tree
    2424            8 : generic_simplify_453 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2425              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2426              : {
    2427            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2428           16 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2429           16 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
    2430              : )
    2431              :     {
    2432            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail800;
    2433            0 :       {
    2434            0 :         tree res_op0;
    2435            0 :         res_op0 = captures[0];
    2436            0 :         tree res_op1;
    2437            0 :         res_op1 = captures[1];
    2438            0 :         tree _r;
    2439            0 :         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2440            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 654, __FILE__, __LINE__, true);
    2441            0 :         return _r;
    2442              :       }
    2443            0 : next_after_fail800:;
    2444              :     }
    2445              :   return NULL_TREE;
    2446              : }
    2447              : 
    2448              : tree
    2449            2 : generic_simplify_458 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2450              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2451              : {
    2452            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2453            2 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail805;
    2454            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail805;
    2455            2 :   {
    2456            2 :     tree res_op0;
    2457            2 :     res_op0 = captures[0];
    2458            2 :     tree res_op1;
    2459            2 :     {
    2460            2 :       tree _o1[1], _r1;
    2461            2 :       _o1[0] = captures[5];
    2462            2 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2463            2 :       res_op1 = _r1;
    2464              :     }
    2465            2 :     tree _r;
    2466            2 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2467            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 659, __FILE__, __LINE__, true);
    2468              :     return _r;
    2469              :   }
    2470              : next_after_fail805:;
    2471              :   return NULL_TREE;
    2472              : }
    2473              : 
    2474              : tree
    2475           15 : generic_simplify_463 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2476              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2477              :  const enum tree_code ARG_UNUSED (bitop))
    2478              : {
    2479           15 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2480           15 :   {
    2481           15 :  tree pmop[2];
    2482           15 :  tree utype = fold_bit_and_mask (TREE_TYPE (captures[1]), captures[4], NEGATE_EXPR, captures[1],
    2483              :  bitop, captures[2], captures[3], NULL_TREE, ERROR_MARK,
    2484              :  NULL_TREE, NULL_TREE, pmop);
    2485           15 :       if (utype
    2486              : )
    2487              :         {
    2488            7 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail810;
    2489            7 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail810;
    2490            7 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail810;
    2491            7 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail810;
    2492            7 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail810;
    2493            7 :           {
    2494            7 :             tree res_op0;
    2495            7 :             {
    2496            7 :               tree _o1[2], _r1;
    2497            7 :               {
    2498            7 :                 tree _o2[1], _r2;
    2499            7 :                 {
    2500            7 :                   tree _o3[1], _r3;
    2501            7 :                   _o3[0] =  pmop[0];
    2502            7 :                   if (TREE_TYPE (_o3[0]) != utype)
    2503              :                     {
    2504            4 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2505              :                     }
    2506              :                   else
    2507              :                     _r3 = _o3[0];
    2508            7 :                   _o2[0] = _r3;
    2509              :                 }
    2510            7 :                 _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    2511            7 :                 _o1[0] = _r2;
    2512              :               }
    2513            7 :               {
    2514            7 :                 tree _o2[1], _r2;
    2515            7 :                 _o2[0] = captures[4];
    2516            7 :                 if (TREE_TYPE (_o2[0]) != utype)
    2517              :                   {
    2518            4 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2519              :                   }
    2520              :                 else
    2521              :                   _r2 = _o2[0];
    2522            7 :                 _o1[1] = _r2;
    2523              :               }
    2524            7 :               _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2525            7 :               res_op0 = _r1;
    2526              :             }
    2527            7 :             tree _r;
    2528            7 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2529            7 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 663, __FILE__, __LINE__, true);
    2530            7 :             return _r;
    2531              :           }
    2532            8 : next_after_fail810:;
    2533              :         }
    2534              :   }
    2535            8 :   return NULL_TREE;
    2536              : }
    2537              : 
    2538              : tree
    2539            0 : generic_simplify_478 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2540              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2541              :  const enum tree_code ARG_UNUSED (eqne))
    2542              : {
    2543            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2544            0 :   if (eqne == EQ_EXPR
    2545              : )
    2546              :     {
    2547            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail845;
    2548            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail845;
    2549            0 :       {
    2550            0 :         tree _r;
    2551            0 :         _r =  constant_boolean_node (false, type);
    2552            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    2553            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2554            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 672, __FILE__, __LINE__, true);
    2555            0 :         return _r;
    2556              :       }
    2557              : next_after_fail845:;
    2558              :     }
    2559              :   else
    2560              :     {
    2561            0 :       if (eqne == NE_EXPR
    2562              : )
    2563              :         {
    2564            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail846;
    2565            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail846;
    2566            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail846;
    2567            0 :           {
    2568            0 :             tree _r;
    2569            0 :             _r = captures[0];
    2570            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 673, __FILE__, __LINE__, true);
    2571            0 :             return _r;
    2572              :           }
    2573              : next_after_fail846:;
    2574              :         }
    2575              :     }
    2576              :   return NULL_TREE;
    2577              : }
    2578              : 
    2579              : tree
    2580            0 : generic_simplify_487 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2581              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2582              : {
    2583            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2584            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2585            0 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
    2586              : )
    2587              :     {
    2588            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail868;
    2589            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail868;
    2590            0 :       {
    2591            0 :         tree res_op0;
    2592            0 :         res_op0 = captures[3];
    2593            0 :         tree res_op1;
    2594            0 :         {
    2595            0 :           tree _o1[2], _r1;
    2596            0 :           _o1[0] = captures[1];
    2597            0 :           _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
    2598            0 :           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2599            0 :           res_op1 = _r1;
    2600              :         }
    2601            0 :         tree _r;
    2602            0 :         _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2603            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 692, __FILE__, __LINE__, true);
    2604            0 :         return _r;
    2605              :       }
    2606              : next_after_fail868:;
    2607              :     }
    2608              :   return NULL_TREE;
    2609              : }
    2610              : 
    2611              : tree
    2612          234 : generic_simplify_493 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2613              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2614              :  const combined_fn ARG_UNUSED (bswap))
    2615              : {
    2616          234 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2617          234 :   if (BITS_PER_UNIT == 8
    2618          234 :  && tree_fits_uhwi_p (captures[3])
    2619          234 :  && tree_fits_uhwi_p (captures[4])
    2620              : )
    2621              :     {
    2622          234 :       {
    2623          234 :  unsigned HOST_WIDE_INT prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
    2624          234 :  unsigned HOST_WIDE_INT bits = tree_to_uhwi (captures[3]);
    2625          234 :  unsigned HOST_WIDE_INT mask = tree_to_uhwi (captures[4]);
    2626          234 :  unsigned HOST_WIDE_INT lo = bits & 7;
    2627          234 :  unsigned HOST_WIDE_INT hi = bits - lo;
    2628          234 :           if (bits < prec
    2629          234 :  && mask < (256u>>lo)
    2630          468 :  && bits < TYPE_PRECISION (TREE_TYPE(captures[0]))
    2631              : )
    2632              :             {
    2633          234 :               {
    2634          234 :  unsigned HOST_WIDE_INT ns = (prec - (hi + 8)) + lo;
    2635          234 :                   if (ns == 0
    2636              : )
    2637              :                     {
    2638            1 :                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail882;
    2639            1 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail882;
    2640            1 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail882;
    2641            1 :                       {
    2642            1 :                         tree res_op0;
    2643            1 :                         {
    2644            1 :                           tree _o1[1], _r1;
    2645            1 :                           _o1[0] = captures[2];
    2646            1 :                           if (TREE_TYPE (_o1[0]) != type)
    2647              :                             {
    2648            1 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2649              :                             }
    2650              :                           else
    2651              :                             _r1 = _o1[0];
    2652            1 :                           res_op0 = _r1;
    2653              :                         }
    2654            1 :                         tree res_op1;
    2655            1 :                         res_op1 = captures[4];
    2656            1 :                         tree _r;
    2657            1 :                         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2658            1 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 697, __FILE__, __LINE__, true);
    2659            1 :                         return _r;
    2660              :                       }
    2661              : next_after_fail882:;
    2662              :                     }
    2663              :                   else
    2664              :                     {
    2665          233 :                       {
    2666          233 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
    2667          233 :  tree nst = build_int_cst (integer_type_node, ns);
    2668          233 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail883;
    2669          233 :                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail883;
    2670          233 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail883;
    2671          233 :                           {
    2672          233 :                             tree res_op0;
    2673          233 :                             {
    2674          233 :                               tree _o1[1], _r1;
    2675          233 :                               {
    2676          233 :                                 tree _o2[2], _r2;
    2677          233 :                                 {
    2678          233 :                                   tree _o3[1], _r3;
    2679          233 :                                   _o3[0] = captures[2];
    2680          233 :                                   if (TREE_TYPE (_o3[0]) != utype)
    2681              :                                     {
    2682            0 :                                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2683              :                                     }
    2684              :                                   else
    2685              :                                     _r3 = _o3[0];
    2686          233 :                                   _o2[0] = _r3;
    2687              :                                 }
    2688          233 :                                 _o2[1] = nst;
    2689          233 :                                 _r2 = fold_build2_loc (loc, RSHIFT_EXPR, utype, _o2[0], _o2[1]);
    2690          233 :                                 _o1[0] = _r2;
    2691              :                               }
    2692          233 :                               if (TREE_TYPE (_o1[0]) != type)
    2693              :                                 {
    2694          101 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2695              :                                 }
    2696              :                               else
    2697              :                                 _r1 = _o1[0];
    2698          233 :                               res_op0 = _r1;
    2699              :                             }
    2700          233 :                             tree res_op1;
    2701          233 :                             res_op1 = captures[4];
    2702          233 :                             tree _r;
    2703          233 :                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2704          233 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 698, __FILE__, __LINE__, true);
    2705          233 :                             return _r;
    2706              :                           }
    2707              : next_after_fail883:;
    2708              :                       }
    2709              :                     }
    2710              :               }
    2711              :             }
    2712              :       }
    2713              :     }
    2714              :   return NULL_TREE;
    2715              : }
    2716              : 
    2717              : tree
    2718            0 : generic_simplify_495 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2719              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2720              : {
    2721            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2722            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail885;
    2723            0 :   {
    2724            0 :     tree res_op0;
    2725            0 :     res_op0 = captures[0];
    2726            0 :     tree res_op1;
    2727            0 :     res_op1 = captures[1];
    2728            0 :     tree _r;
    2729            0 :     _r = fold_build2_loc (loc, LTGT_EXPR, type, res_op0, res_op1);
    2730            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 700, __FILE__, __LINE__, true);
    2731              :     return _r;
    2732              :   }
    2733            0 : next_after_fail885:;
    2734            0 :   return NULL_TREE;
    2735              : }
    2736              : 
    2737              : tree
    2738            0 : generic_simplify_496 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2739              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2740              : {
    2741            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2742            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail886;
    2743            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail886;
    2744            0 :   {
    2745            0 :     tree _r;
    2746            0 :     _r = captures[1];
    2747            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 701, __FILE__, __LINE__, true);
    2748              :     return _r;
    2749              :   }
    2750              : next_after_fail886:;
    2751              :   return NULL_TREE;
    2752              : }
    2753              : 
    2754              : tree
    2755            3 : generic_simplify_499 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2756              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2757              :  const combined_fn ARG_UNUSED (POPCOUNT),
    2758              :  const combined_fn ARG_UNUSED (PARITY))
    2759              : {
    2760            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2761            3 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail890;
    2762            3 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail890;
    2763            3 :   {
    2764            3 :     tree res_op0;
    2765            3 :     res_op0 = captures[0];
    2766            3 :     tree _r;
    2767            3 :     _r = maybe_build_call_expr_loc (loc, PARITY, type, 1, res_op0);
    2768            3 :     if (!_r)
    2769            0 :       goto next_after_fail890;
    2770            3 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 704, __FILE__, __LINE__, true);
    2771              :     return _r;
    2772              :   }
    2773              : next_after_fail890:;
    2774              :   return NULL_TREE;
    2775              : }
    2776              : 
    2777              : tree
    2778           31 : generic_simplify_505 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2779              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2780              : {
    2781           31 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2782           31 :   if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2783           54 :  && (element_precision (TREE_TYPE (captures[2]))
    2784           23 :  <= element_precision (TREE_TYPE (captures[3]))
    2785            1 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2786              : )
    2787              :     {
    2788           22 :       {
    2789           22 :  tree shift_type = TREE_TYPE (captures[2]);
    2790           22 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail896;
    2791           22 :           {
    2792           22 :             tree res_op0;
    2793           22 :             {
    2794           22 :               tree _o1[2], _r1;
    2795           22 :               {
    2796           22 :                 tree _o2[1], _r2;
    2797           22 :                 _o2[0] = captures[3];
    2798           22 :                 if (TREE_TYPE (_o2[0]) != shift_type)
    2799              :                   {
    2800            1 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o2[0]);
    2801              :                   }
    2802              :                 else
    2803              :                   _r2 = _o2[0];
    2804           22 :                 _o1[0] = _r2;
    2805              :               }
    2806           22 :               _o1[1] = captures[4];
    2807           22 :               _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2808           22 :               res_op0 = _r1;
    2809              :             }
    2810           22 :             tree _r;
    2811           22 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2812           22 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 710, __FILE__, __LINE__, true);
    2813           22 :             return _r;
    2814              :           }
    2815            0 : next_after_fail896:;
    2816              :       }
    2817              :     }
    2818              :   return NULL_TREE;
    2819              : }
    2820              : 
    2821              : tree
    2822         3799 : generic_simplify_517 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2823              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2824              : {
    2825         3799 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2826         3799 :   if (!TYPE_SATURATING (type)
    2827              : )
    2828              :     {
    2829         3764 :       if (!TYPE_OVERFLOW_SANITIZED (type)
    2830         7550 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
    2831              : )
    2832              :         {
    2833         3786 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail909;
    2834         3786 :           {
    2835         3786 :             tree res_op0;
    2836         3786 :             {
    2837         3786 :               tree _o1[1], _r1;
    2838         3786 :               _o1[0] = captures[0];
    2839         3786 :               if (TREE_TYPE (_o1[0]) != type)
    2840              :                 {
    2841           31 :                   _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    2842              :                 }
    2843              :               else
    2844              :                 _r1 = _o1[0];
    2845         3786 :               res_op0 = _r1;
    2846              :             }
    2847         3786 :             tree _r;
    2848         3786 :             _r = non_lvalue_loc (loc, res_op0);
    2849         3786 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 721, __FILE__, __LINE__, true);
    2850         3786 :             return _r;
    2851              :           }
    2852            0 : next_after_fail909:;
    2853              :         }
    2854              :     }
    2855              :   return NULL_TREE;
    2856              : }
    2857              : 
    2858              : tree
    2859            4 : generic_simplify_524 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2860              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2861              : {
    2862            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2863            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail917;
    2864            4 :   {
    2865            4 :     tree _r;
    2866            4 :     _r = captures[1];
    2867            4 :     if (TREE_SIDE_EFFECTS (captures[0]))
    2868            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2869            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 728, __FILE__, __LINE__, true);
    2870              :     return _r;
    2871              :   }
    2872            0 : next_after_fail917:;
    2873            0 :   return NULL_TREE;
    2874              : }
    2875              : 
    2876              : tree
    2877           20 : generic_simplify_533 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2878              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2879              :  const enum tree_code ARG_UNUSED (minmax),
    2880              :  const enum tree_code ARG_UNUSED (cmp))
    2881              : {
    2882           20 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2883           20 :   {
    2884           20 :  poly_int64 off0, off1;
    2885           20 :  tree base0, base1;
    2886           20 :  int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[3], base0, base1,
    2887              :  off0, off1,
    2888              : 1
    2889              : );
    2890           20 :       if (equal == 1
    2891              : )
    2892              :         {
    2893            0 :           if (minmax == MIN_EXPR
    2894              : )
    2895              :             {
    2896            0 :               if (known_le (off0, off1)
    2897              : )
    2898              :                 {
    2899            0 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail937;
    2900            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail937;
    2901            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail937;
    2902            0 :                   {
    2903            0 :                     tree _r;
    2904            0 :                     _r = captures[0];
    2905            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 736, __FILE__, __LINE__, true);
    2906            0 :                     return _r;
    2907              :                   }
    2908           20 : next_after_fail937:;
    2909              :                 }
    2910              :               else
    2911              :                 {
    2912            0 :                   if (known_gt (off0, off1)
    2913              : )
    2914              :                     {
    2915            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail938;
    2916            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail938;
    2917            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail938;
    2918            0 :                       {
    2919            0 :                         tree _r;
    2920            0 :                         _r = captures[2];
    2921            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 737, __FILE__, __LINE__, true);
    2922            0 :                         return _r;
    2923              :                       }
    2924           20 : next_after_fail938:;
    2925              :                     }
    2926              :                 }
    2927              :             }
    2928              :           else
    2929              :             {
    2930            0 :               if (known_ge (off0, off1)
    2931              : )
    2932              :                 {
    2933            0 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail939;
    2934            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail939;
    2935            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail939;
    2936            0 :                   {
    2937            0 :                     tree _r;
    2938            0 :                     _r = captures[0];
    2939            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 738, __FILE__, __LINE__, true);
    2940            0 :                     return _r;
    2941              :                   }
    2942           20 : next_after_fail939:;
    2943              :                 }
    2944              :               else
    2945              :                 {
    2946            0 :                   if (known_lt (off0, off1)
    2947              : )
    2948              :                     {
    2949            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail940;
    2950            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail940;
    2951            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail940;
    2952            0 :                       {
    2953            0 :                         tree _r;
    2954            0 :                         _r = captures[2];
    2955            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 739, __FILE__, __LINE__, true);
    2956            0 :                         return _r;
    2957              :                       }
    2958           20 : next_after_fail940:;
    2959              :                     }
    2960              :                 }
    2961              :             }
    2962              :         }
    2963              :   }
    2964           20 :   return NULL_TREE;
    2965              : }
    2966              : 
    2967              : tree
    2968            0 : generic_simplify_554 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2969              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2970              :  const combined_fn ARG_UNUSED (cond_len_op))
    2971              : {
    2972            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2973            0 :   {
    2974            0 :  tree op_type = TREE_TYPE (captures[6]);
    2975            0 :       if (inverse_conditions_p (captures[0], captures[2])
    2976            0 :  && element_precision (type) == element_precision (op_type)
    2977              : )
    2978              :         {
    2979            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail961;
    2980            0 :           {
    2981            0 :             tree res_op0;
    2982            0 :             {
    2983            0 :               tree _o1[7], _r1;
    2984            0 :               _o1[0] = captures[2];
    2985            0 :               _o1[1] = captures[3];
    2986            0 :               _o1[2] = captures[4];
    2987            0 :               _o1[3] = captures[5];
    2988            0 :               {
    2989            0 :                 tree _o2[1], _r2;
    2990            0 :                 _o2[0] = captures[1];
    2991            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    2992              :                   {
    2993            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    2994              :                   }
    2995              :                 else
    2996              :                   _r2 = _o2[0];
    2997            0 :                 _o1[4] = _r2;
    2998              :               }
    2999            0 :               _o1[5] = captures[7];
    3000            0 :               _o1[6] = captures[8];
    3001            0 :               _r1 = maybe_build_call_expr_loc (loc, cond_len_op, TREE_TYPE (_o1[1]), 7, _o1[0], _o1[1], _o1[2], _o1[3], _o1[4], _o1[5], _o1[6]);
    3002            0 :               if (!_r1)
    3003            0 :                 goto next_after_fail961;
    3004            0 :               res_op0 = _r1;
    3005              :             }
    3006            0 :             tree _r;
    3007            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3008            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
    3009            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3010            0 :             if (TREE_SIDE_EFFECTS (captures[6]))
    3011            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[6]), _r);
    3012            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 755, __FILE__, __LINE__, true);
    3013            0 :             return _r;
    3014              :           }
    3015              : next_after_fail961:;
    3016              :         }
    3017              :   }
    3018              :   return NULL_TREE;
    3019              : }
    3020              : 
    3021              : tree
    3022            0 : generic_simplify_567 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3023              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    3024              :  const combined_fn ARG_UNUSED (ovf))
    3025              : {
    3026            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3027            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3028            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3029            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
    3030            0 :  && (!TYPE_UNSIGNED (TREE_TYPE (captures[0])) || TYPE_UNSIGNED (TREE_TYPE (captures[1])))
    3031              : )
    3032              :     {
    3033            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail977;
    3034            0 :       {
    3035            0 :         tree res_op0;
    3036            0 :         res_op0 = captures[1];
    3037            0 :         tree res_op1;
    3038            0 :         res_op1 = captures[2];
    3039            0 :         tree _r;
    3040            0 :         _r = maybe_build_call_expr_loc (loc, ovf, type, 2, res_op0, res_op1);
    3041            0 :         if (!_r)
    3042            0 :           goto next_after_fail977;
    3043            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 771, __FILE__, __LINE__, true);
    3044            0 :         return _r;
    3045              :       }
    3046              : next_after_fail977:;
    3047              :     }
    3048              :   return NULL_TREE;
    3049              : }
    3050              : 
    3051              : tree
    3052            0 : generic_simplify_575 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3053              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3054              :  const combined_fn ARG_UNUSED (fns))
    3055              : {
    3056            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3057            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail985;
    3058            0 :   {
    3059            0 :     tree res_op0;
    3060            0 :     res_op0 = captures[0];
    3061            0 :     tree _r;
    3062            0 :     _r = maybe_build_call_expr_loc (loc, fns, type, 1, res_op0);
    3063            0 :     if (!_r)
    3064            0 :       goto next_after_fail985;
    3065            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 779, __FILE__, __LINE__, true);
    3066              :     return _r;
    3067              :   }
    3068              : next_after_fail985:;
    3069              :   return NULL_TREE;
    3070              : }
    3071              : 
    3072              : tree
    3073            0 : generic_simplify_582 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3074              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3075              :  const combined_fn ARG_UNUSED (froms),
    3076              :  const combined_fn ARG_UNUSED (tos))
    3077              : {
    3078            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3079            0 :   if (optimize && canonicalize_math_p ()
    3080              : )
    3081              :     {
    3082            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail992;
    3083            0 :       {
    3084            0 :         tree res_op0;
    3085            0 :         res_op0 = captures[0];
    3086            0 :         tree _r;
    3087            0 :         _r = maybe_build_call_expr_loc (loc, tos, type, 1, res_op0);
    3088            0 :         if (!_r)
    3089            0 :           goto next_after_fail992;
    3090            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 786, __FILE__, __LINE__, true);
    3091            0 :         return _r;
    3092              :       }
    3093              : next_after_fail992:;
    3094              :     }
    3095              :   return NULL_TREE;
    3096              : }
    3097              : 
    3098              : tree
    3099            0 : generic_simplify_590 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3100              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3101              :  const combined_fn ARG_UNUSED (SIGNBIT))
    3102              : {
    3103            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3104            0 :   if (!HONOR_SIGNED_ZEROS (captures[0])
    3105              : )
    3106              :     {
    3107            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1000;
    3108            0 :       {
    3109            0 :         tree res_op0;
    3110            0 :         {
    3111            0 :           tree _o1[2], _r1;
    3112            0 :           _o1[0] = captures[0];
    3113            0 :           _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
    3114            0 :           _r1 = fold_build2_loc (loc, LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3115            0 :           res_op0 = _r1;
    3116              :         }
    3117            0 :         tree _r;
    3118            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3119            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 794, __FILE__, __LINE__, true);
    3120            0 :         return _r;
    3121              :       }
    3122            0 : next_after_fail1000:;
    3123              :     }
    3124              :   return NULL_TREE;
    3125              : }
    3126              : 
    3127              : tree
    3128            0 : generic_simplify_600 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3129              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    3130              : {
    3131            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3132            0 :   if (canonicalize_math_after_vectorization_p ()
    3133              : )
    3134              :     {
    3135              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1010;
    3136              :       {
    3137              :         tree res_op0;
    3138              :         res_op0 = captures[0];
    3139              :         tree res_op1;
    3140              :         res_op1 = captures[1];
    3141              :         tree res_op2;
    3142              :         res_op2 = captures[2];
    3143              :         tree _r;
    3144              :         _r = maybe_build_call_expr_loc (loc, CFN_FMA, type, 3, res_op0, res_op1, res_op2);
    3145              :         if (!_r)
    3146              :           goto next_after_fail1010;
    3147              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 804, __FILE__, __LINE__, true);
    3148              :         return _r;
    3149              :       }
    3150            0 : next_after_fail1010:;
    3151              :     }
    3152            0 :   return NULL_TREE;
    3153              : }
    3154              : 
    3155              : tree
    3156            0 : generic_simplify_609 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3157              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3158              :  const combined_fn ARG_UNUSED (ctz))
    3159              : {
    3160            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3161            0 :   {
    3162            0 :  tree t = TREE_TYPE (captures[0]);
    3163            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1019;
    3164            0 :       {
    3165            0 :         tree res_op0;
    3166            0 :         {
    3167            0 :           tree _o1[1], _r1;
    3168            0 :           _o1[0] = captures[1];
    3169            0 :           if (TREE_TYPE (_o1[0]) != t)
    3170              :             {
    3171            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, t, _o1[0]);
    3172              :             }
    3173              :           else
    3174              :             _r1 = _o1[0];
    3175            0 :           res_op0 = _r1;
    3176              :         }
    3177            0 :         tree _r;
    3178            0 :         _r = maybe_build_call_expr_loc (loc, ctz, type, 1, res_op0);
    3179            0 :         if (!_r)
    3180            0 :           goto next_after_fail1019;
    3181            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 813, __FILE__, __LINE__, true);
    3182              :         return _r;
    3183              :       }
    3184              : next_after_fail1019:;
    3185              :   }
    3186              :   return NULL_TREE;
    3187              : }
    3188              : 
    3189              : tree
    3190            0 : generic_simplify_618 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3191              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3192              :  const combined_fn ARG_UNUSED (pfun))
    3193              : {
    3194            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3195            0 :   if (INTEGRAL_TYPE_P (type)
    3196              : )
    3197              :     {
    3198            0 :       {
    3199            0 :  wide_int nz = tree_nonzero_bits (captures[0]);
    3200            0 :           if (nz == 1
    3201              : )
    3202              :             {
    3203            0 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1028;
    3204            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1028;
    3205            0 :               {
    3206            0 :                 tree res_op0;
    3207            0 :                 res_op0 = captures[0];
    3208            0 :                 tree _r;
    3209            0 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3210            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 817, __FILE__, __LINE__, true);
    3211            0 :                 return _r;
    3212              :               }
    3213            0 : next_after_fail1028:;
    3214              :             }
    3215              :           else
    3216              :             {
    3217            0 :               if (wi::popcount (nz) == 1
    3218              : )
    3219              :                 {
    3220            0 :                   {
    3221            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
    3222            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1029;
    3223            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1029;
    3224            0 :                       {
    3225            0 :                         tree res_op0;
    3226            0 :                         {
    3227            0 :                           tree _o1[2], _r1;
    3228            0 :                           {
    3229            0 :                             tree _o2[1], _r2;
    3230            0 :                             _o2[0] = captures[0];
    3231            0 :                             if (TREE_TYPE (_o2[0]) != utype)
    3232              :                               {
    3233            0 :                                 _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    3234              :                               }
    3235              :                             else
    3236              :                               _r2 = _o2[0];
    3237            0 :                             _o1[0] = _r2;
    3238              :                           }
    3239            0 :                           _o1[1] =  build_int_cst (integer_type_node,
    3240            0 :  wi::ctz (nz));
    3241            0 :                           _r1 = fold_build2_loc (loc, RSHIFT_EXPR, utype, _o1[0], _o1[1]);
    3242            0 :                           res_op0 = _r1;
    3243              :                         }
    3244            0 :                         tree _r;
    3245            0 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3246            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 818, __FILE__, __LINE__, true);
    3247            0 :                         return _r;
    3248              :                       }
    3249            0 : next_after_fail1029:;
    3250              :                   }
    3251              :                 }
    3252              :             }
    3253            0 :       }
    3254              :     }
    3255              :   return NULL_TREE;
    3256              : }
    3257              : 
    3258              : tree
    3259      2775958 : generic_simplify_BIT_NOT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3260              : {
    3261      2775958 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3262      2775958 :   switch (TREE_CODE (_p0))
    3263              :     {
    3264         1134 :     case BIT_AND_EXPR:
    3265         1134 :       {
    3266         1134 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3267         1134 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3268         1134 :         switch (TREE_CODE (_q20))
    3269              :           {
    3270           33 :           case BIT_NOT_EXPR:
    3271           33 :             {
    3272           33 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3273           33 :               {
    3274           33 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3275           33 :                 tree res = generic_simplify_500 (loc, type, _p0, captures);
    3276           33 :                 if (res) return res;
    3277              :               }
    3278            0 :               break;
    3279              :             }
    3280         1101 :           default:;
    3281              :           }
    3282         1101 :         switch (TREE_CODE (_q21))
    3283              :           {
    3284            9 :           case BIT_NOT_EXPR:
    3285            9 :             {
    3286            9 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3287            9 :               {
    3288            9 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3289            9 :                 tree res = generic_simplify_500 (loc, type, _p0, captures);
    3290            9 :                 if (res) return res;
    3291              :               }
    3292            0 :               break;
    3293              :             }
    3294              :           default:;
    3295              :           }
    3296              :         break;
    3297              :       }
    3298         1209 :     case BIT_IOR_EXPR:
    3299         1209 :       {
    3300         1209 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3301         1209 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3302         1209 :         switch (TREE_CODE (_q20))
    3303              :           {
    3304           68 :           case BIT_NOT_EXPR:
    3305           68 :             {
    3306           68 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3307           68 :               {
    3308           68 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3309           68 :                 tree res = generic_simplify_501 (loc, type, _p0, captures);
    3310           68 :                 if (res) return res;
    3311              :               }
    3312            0 :               break;
    3313              :             }
    3314         1141 :           default:;
    3315              :           }
    3316         1141 :         switch (TREE_CODE (_q21))
    3317              :           {
    3318           40 :           case BIT_NOT_EXPR:
    3319           40 :             {
    3320           40 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3321           40 :               {
    3322           40 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3323           40 :                 tree res = generic_simplify_501 (loc, type, _p0, captures);
    3324           40 :                 if (res) return res;
    3325              :               }
    3326            0 :               break;
    3327              :             }
    3328              :           default:;
    3329              :           }
    3330              :         break;
    3331              :       }
    3332          137 :     case MINUS_EXPR:
    3333          137 :       {
    3334          137 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3335          137 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3336          137 :         switch (TREE_CODE (_q20))
    3337              :           {
    3338            1 :           case BIT_NOT_EXPR:
    3339            1 :             {
    3340            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3341            1 :               {
    3342            1 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    3343            1 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1068;
    3344            1 :                 {
    3345            1 :                   tree res_op0;
    3346            1 :                   res_op0 = captures[0];
    3347            1 :                   tree res_op1;
    3348            1 :                   res_op1 = captures[1];
    3349            1 :                   tree _r;
    3350            1 :                   _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3351            1 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 848, __FILE__, __LINE__, true);
    3352            1 :                   return _r;
    3353              :                 }
    3354            0 : next_after_fail1068:;
    3355              :               }
    3356            0 :               break;
    3357              :             }
    3358          136 :           default:;
    3359              :           }
    3360          136 :         {
    3361          136 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3362          136 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1069;
    3363          136 :           {
    3364          136 :             tree res_op0;
    3365          136 :             {
    3366          136 :               tree _o1[1], _r1;
    3367          136 :               _o1[0] = captures[1];
    3368          136 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3369          136 :               res_op0 = _r1;
    3370              :             }
    3371          136 :             tree res_op1;
    3372          136 :             res_op1 = captures[2];
    3373          136 :             tree _r;
    3374          136 :             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3375          136 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 849, __FILE__, __LINE__, true);
    3376          136 :             return _r;
    3377              :           }
    3378            0 : next_after_fail1069:;
    3379              :         }
    3380            0 :         if (integer_each_onep (_q21))
    3381              :           {
    3382            0 :             {
    3383            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3384            0 :               tree res = generic_simplify_502 (loc, type, _p0, captures);
    3385            0 :               if (res) return res;
    3386              :             }
    3387              :           }
    3388              :         break;
    3389              :       }
    3390        90948 :     case PLUS_EXPR:
    3391        90948 :       {
    3392        90948 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3393        90948 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3394        90948 :         switch (TREE_CODE (_q20))
    3395              :           {
    3396           16 :           case BIT_NOT_EXPR:
    3397           16 :             {
    3398           16 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3399           16 :               {
    3400           16 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    3401           16 :                 tree res = generic_simplify_503 (loc, type, _p0, captures);
    3402           16 :                 if (res) return res;
    3403              :               }
    3404            0 :               break;
    3405              :             }
    3406        90932 :           default:;
    3407              :           }
    3408        90932 :         switch (TREE_CODE (_q21))
    3409              :           {
    3410            1 :           case BIT_NOT_EXPR:
    3411            1 :             {
    3412            1 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3413            1 :               {
    3414            1 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    3415            1 :                 tree res = generic_simplify_503 (loc, type, _p0, captures);
    3416            1 :                 if (res) return res;
    3417              :               }
    3418            0 :               break;
    3419              :             }
    3420        76006 :           case INTEGER_CST:
    3421        76006 :             {
    3422        76006 :               {
    3423        76006 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3424        76006 :                 if ((INTEGRAL_TYPE_P (type)
    3425        76006 :  && TYPE_UNSIGNED (type))
    3426        89876 :  || (!TYPE_OVERFLOW_SANITIZED (type)
    3427        13862 :  && may_negate_without_overflow_p (captures[2]))
    3428              : )
    3429              :                   {
    3430        75991 :                     if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1070;
    3431        75991 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1070;
    3432        75991 :                     {
    3433        75991 :                       tree res_op0;
    3434        75991 :                       {
    3435        75991 :                         tree _o1[1], _r1;
    3436        75991 :                         _o1[0] = captures[1];
    3437        75991 :                         _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3438        75991 :                         res_op0 = _r1;
    3439              :                       }
    3440        75991 :                       tree res_op1;
    3441        75991 :                       res_op1 =  const_unop (NEGATE_EXPR, type, captures[2]);
    3442        75991 :                       tree _r;
    3443        75991 :                       _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3444        75991 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 850, __FILE__, __LINE__, true);
    3445        75991 :                       return _r;
    3446              :                     }
    3447           15 : next_after_fail1070:;
    3448              :                   }
    3449              :               }
    3450           15 :               break;
    3451              :             }
    3452        14940 :           default:;
    3453              :           }
    3454        14940 :       if (integer_all_onesp (_q21))
    3455              :         {
    3456            0 :           {
    3457            0 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3458            0 :             tree res = generic_simplify_504 (loc, type, _p0, captures);
    3459            0 :             if (res) return res;
    3460              :           }
    3461              :         }
    3462              :         break;
    3463              :       }
    3464          398 :     case RSHIFT_EXPR:
    3465          398 :       {
    3466          398 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3467          398 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3468          398 :         {
    3469          398 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3470          398 :           if (!TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    3471              : )
    3472              :             {
    3473          295 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1071;
    3474          295 :               {
    3475          295 :                 tree res_op0;
    3476          295 :                 {
    3477          295 :                   tree _o1[1], _r1;
    3478          295 :                   _o1[0] = captures[1];
    3479          295 :                   _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3480          295 :                   if (EXPR_P (_r1))
    3481          289 :                     goto next_after_fail1071;
    3482            6 :                   res_op0 = _r1;
    3483              :                 }
    3484            6 :                 tree res_op1;
    3485            6 :                 res_op1 = captures[2];
    3486            6 :                 tree _r;
    3487            6 :                 _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
    3488            6 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 851, __FILE__, __LINE__, true);
    3489            6 :                 return _r;
    3490              :               }
    3491          377 : next_after_fail1071:;
    3492              :             }
    3493              :           else
    3494              :             {
    3495          206 :               if (INTEGRAL_TYPE_P (type)
    3496          206 :  && !wi::neg_p (tree_nonzero_bits (captures[1]))
    3497              : )
    3498              :                 {
    3499           15 :                   {
    3500           15 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    3501           15 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1072;
    3502           15 :                       {
    3503           15 :                         tree res_op0;
    3504           15 :                         {
    3505           15 :                           tree _o1[2], _r1;
    3506           15 :                           {
    3507           15 :                             tree _o2[1], _r2;
    3508           15 :                             {
    3509           15 :                               tree _o3[1], _r3;
    3510           15 :                               _o3[0] = captures[1];
    3511           15 :                               if (TREE_TYPE (_o3[0]) != stype)
    3512              :                                 {
    3513           15 :                                   _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
    3514              :                                 }
    3515              :                               else
    3516              :                                 _r3 = _o3[0];
    3517           15 :                               _o2[0] = _r3;
    3518              :                             }
    3519           15 :                             _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    3520           15 :                             if (EXPR_P (_r2))
    3521            0 :                               goto next_after_fail1072;
    3522           15 :                             _o1[0] = _r2;
    3523              :                           }
    3524           15 :                           _o1[1] = captures[2];
    3525           15 :                           _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3526           15 :                           res_op0 = _r1;
    3527              :                         }
    3528           15 :                         tree _r;
    3529           15 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3530           15 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 852, __FILE__, __LINE__, true);
    3531           15 :                         return _r;
    3532              :                       }
    3533          377 : next_after_fail1072:;
    3534              :                   }
    3535              :                 }
    3536              :             }
    3537              :         }
    3538          377 :         switch (TREE_CODE (_q20))
    3539              :           {
    3540           40 :           CASE_CONVERT:
    3541           40 :             {
    3542           40 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3543           40 :               switch (TREE_CODE (_q30))
    3544              :                 {
    3545            2 :                 case BIT_NOT_EXPR:
    3546            2 :                   {
    3547            2 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3548            2 :                     {
    3549            2 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
    3550            2 :                       tree res = generic_simplify_505 (loc, type, _p0, captures);
    3551            2 :                       if (res) return res;
    3552              :                     }
    3553            1 :                     break;
    3554              :                   }
    3555              :                 default:;
    3556              :                 }
    3557              :               break;
    3558              :             }
    3559           29 :           case BIT_NOT_EXPR:
    3560           29 :             {
    3561           29 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3562           29 :               {
    3563           29 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
    3564           29 :                 tree res = generic_simplify_505 (loc, type, _p0, captures);
    3565           29 :                 if (res) return res;
    3566              :               }
    3567            8 :               break;
    3568              :             }
    3569              :           default:;
    3570              :           }
    3571              :         break;
    3572              :       }
    3573          102 :     case BIT_NOT_EXPR:
    3574          102 :       {
    3575          102 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3576          102 :         {
    3577          102 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3578          102 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1073;
    3579          102 :           {
    3580          102 :             tree res_op0;
    3581          102 :             res_op0 = captures[0];
    3582          102 :             tree _r;
    3583          102 :             _r = non_lvalue_loc (loc, res_op0);
    3584          102 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 853, __FILE__, __LINE__, true);
    3585      2775958 :             return _r;
    3586              :           }
    3587            0 : next_after_fail1073:;
    3588              :         }
    3589            0 :         break;
    3590              :       }
    3591      1004527 :     CASE_CONVERT:
    3592      1004527 :       {
    3593      1004527 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3594      1004527 :         switch (TREE_CODE (_q20))
    3595              :           {
    3596           25 :           case NEGATE_EXPR:
    3597           25 :             {
    3598           25 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3599           25 :               {
    3600           25 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3601           25 :                 tree res = generic_simplify_506 (loc, type, _p0, captures);
    3602           25 :                 if (res) return res;
    3603              :               }
    3604            0 :               break;
    3605              :             }
    3606          842 :           case MINUS_EXPR:
    3607          842 :             {
    3608          842 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3609          842 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3610          842 :               if (integer_each_onep (_q31))
    3611              :                 {
    3612           28 :                   {
    3613           28 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3614           28 :                     tree res = generic_simplify_502 (loc, type, _p0, captures);
    3615           28 :                     if (res) return res;
    3616              :                   }
    3617              :                 }
    3618              :               break;
    3619              :             }
    3620        56646 :           case PLUS_EXPR:
    3621        56646 :             {
    3622        56646 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3623        56646 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3624        56646 :               if (integer_all_onesp (_q31))
    3625              :                 {
    3626         3790 :                   {
    3627         3790 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3628         3790 :                     tree res = generic_simplify_504 (loc, type, _p0, captures);
    3629         3790 :                     if (res) return res;
    3630              :                   }
    3631              :                 }
    3632              :               break;
    3633              :             }
    3634          145 :           case BIT_XOR_EXPR:
    3635          145 :             {
    3636          145 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3637          145 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3638          145 :               switch (TREE_CODE (_q31))
    3639              :                 {
    3640            7 :                 case INTEGER_CST:
    3641            7 :                   {
    3642            7 :                     {
    3643            7 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    3644            7 :                       tree res = generic_simplify_507 (loc, type, _p0, captures);
    3645            7 :                       if (res) return res;
    3646              :                     }
    3647            0 :                     break;
    3648              :                   }
    3649          138 :                 default:;
    3650              :                 }
    3651          138 :               switch (TREE_CODE (_q30))
    3652              :                 {
    3653            0 :                 case BIT_NOT_EXPR:
    3654            0 :                   {
    3655            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3656            0 :                     {
    3657            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q31 };
    3658            0 :                       tree res = generic_simplify_508 (loc, type, _p0, captures);
    3659            0 :                       if (res) return res;
    3660              :                     }
    3661            0 :                     break;
    3662              :                   }
    3663          138 :                 default:;
    3664              :                 }
    3665          138 :               switch (TREE_CODE (_q31))
    3666              :                 {
    3667            0 :                 case BIT_NOT_EXPR:
    3668            0 :                   {
    3669            0 :                     tree _q50 = TREE_OPERAND (_q31, 0);
    3670            0 :                     {
    3671            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    3672            0 :                       tree res = generic_simplify_508 (loc, type, _p0, captures);
    3673            0 :                       if (res) return res;
    3674              :                     }
    3675            0 :                     break;
    3676              :                   }
    3677              :                 default:;
    3678              :                 }
    3679              :               break;
    3680              :             }
    3681           93 :           case RSHIFT_EXPR:
    3682           93 :             {
    3683           93 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3684           93 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3685           93 :               switch (TREE_CODE (_q30))
    3686              :                 {
    3687           17 :                 CASE_CONVERT:
    3688           17 :                   {
    3689           17 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3690           17 :                     switch (TREE_CODE (_q40))
    3691              :                       {
    3692            1 :                       case BIT_NOT_EXPR:
    3693            1 :                         {
    3694            1 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    3695            1 :                           {
    3696            1 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
    3697            1 :                             tree res = generic_simplify_509 (loc, type, _p0, captures);
    3698            1 :                             if (res) return res;
    3699              :                           }
    3700            0 :                           break;
    3701              :                         }
    3702              :                       default:;
    3703              :                       }
    3704              :                     break;
    3705              :                   }
    3706            3 :                 case BIT_NOT_EXPR:
    3707            3 :                   {
    3708            3 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3709            3 :                     {
    3710            3 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    3711            3 :                       tree res = generic_simplify_509 (loc, type, _p0, captures);
    3712            3 :                       if (res) return res;
    3713              :                     }
    3714            1 :                     break;
    3715              :                   }
    3716              :                 default:;
    3717              :                 }
    3718              :               break;
    3719              :             }
    3720            0 :           case LROTATE_EXPR:
    3721            0 :             {
    3722            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3723            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3724            0 :               switch (TREE_CODE (_q30))
    3725              :                 {
    3726            0 :                 CASE_CONVERT:
    3727            0 :                   {
    3728            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3729            0 :                     switch (TREE_CODE (_q40))
    3730              :                       {
    3731            0 :                       case BIT_NOT_EXPR:
    3732            0 :                         {
    3733            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    3734            0 :                           {
    3735            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
    3736            0 :                             tree res = generic_simplify_510 (loc, type, _p0, captures, LROTATE_EXPR);
    3737            0 :                             if (res) return res;
    3738              :                           }
    3739            0 :                           break;
    3740              :                         }
    3741              :                       default:;
    3742              :                       }
    3743              :                     break;
    3744              :                   }
    3745            0 :                 case BIT_NOT_EXPR:
    3746            0 :                   {
    3747            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3748            0 :                     {
    3749            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    3750            0 :                       tree res = generic_simplify_510 (loc, type, _p0, captures, LROTATE_EXPR);
    3751            0 :                       if (res) return res;
    3752              :                     }
    3753            0 :                     break;
    3754              :                   }
    3755              :                 default:;
    3756              :                 }
    3757              :               break;
    3758              :             }
    3759            0 :           case RROTATE_EXPR:
    3760            0 :             {
    3761            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3762            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3763            0 :               switch (TREE_CODE (_q30))
    3764              :                 {
    3765            0 :                 CASE_CONVERT:
    3766            0 :                   {
    3767            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3768            0 :                     switch (TREE_CODE (_q40))
    3769              :                       {
    3770            0 :                       case BIT_NOT_EXPR:
    3771            0 :                         {
    3772            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    3773            0 :                           {
    3774            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
    3775            0 :                             tree res = generic_simplify_510 (loc, type, _p0, captures, RROTATE_EXPR);
    3776            0 :                             if (res) return res;
    3777              :                           }
    3778            0 :                           break;
    3779              :                         }
    3780              :                       default:;
    3781              :                       }
    3782              :                     break;
    3783              :                   }
    3784            0 :                 case BIT_NOT_EXPR:
    3785            0 :                   {
    3786            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3787            0 :                     {
    3788            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    3789            0 :                       tree res = generic_simplify_510 (loc, type, _p0, captures, RROTATE_EXPR);
    3790            0 :                       if (res) return res;
    3791              :                     }
    3792            0 :                     break;
    3793              :                   }
    3794              :                 default:;
    3795              :                 }
    3796              :               break;
    3797              :             }
    3798              :           default:;
    3799              :           }
    3800              :         break;
    3801              :       }
    3802          120 :     case NEGATE_EXPR:
    3803          120 :       {
    3804          120 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3805          120 :         {
    3806          120 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3807          120 :           tree res = generic_simplify_506 (loc, type, _p0, captures);
    3808          120 :           if (res) return res;
    3809              :         }
    3810            0 :         break;
    3811              :       }
    3812         1572 :     case BIT_XOR_EXPR:
    3813         1572 :       {
    3814         1572 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3815         1572 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3816         1572 :         switch (TREE_CODE (_q21))
    3817              :           {
    3818           22 :           case INTEGER_CST:
    3819           22 :             {
    3820           22 :               {
    3821           22 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3822           22 :                 tree res = generic_simplify_507 (loc, type, _p0, captures);
    3823           22 :                 if (res) return res;
    3824              :               }
    3825            0 :               break;
    3826              :             }
    3827         1550 :           default:;
    3828              :           }
    3829         1550 :         switch (TREE_CODE (_q20))
    3830              :           {
    3831            0 :           case BIT_NOT_EXPR:
    3832            0 :             {
    3833            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3834            0 :               {
    3835            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    3836            0 :                 tree res = generic_simplify_508 (loc, type, _p0, captures);
    3837            0 :                 if (res) return res;
    3838              :               }
    3839            0 :               break;
    3840              :             }
    3841         1550 :           default:;
    3842              :           }
    3843         1550 :         switch (TREE_CODE (_q21))
    3844              :           {
    3845            0 :           case BIT_NOT_EXPR:
    3846            0 :             {
    3847            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3848            0 :               {
    3849            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    3850            0 :                 tree res = generic_simplify_508 (loc, type, _p0, captures);
    3851            0 :                 if (res) return res;
    3852              :               }
    3853            0 :               break;
    3854              :             }
    3855         1550 :           default:;
    3856              :           }
    3857         1550 :         if (tree_truth_valued_p (_q20))
    3858              :           {
    3859           31 :             if (tree_truth_valued_p (_q21))
    3860              :               {
    3861            7 :                 {
    3862            7 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3863           14 :                   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3864           14 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) == 1
    3865              : )
    3866              :                     {
    3867            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1074;
    3868            0 :                       {
    3869            0 :                         tree res_op0;
    3870            0 :                         {
    3871            0 :                           tree _o1[2], _r1;
    3872            0 :                           _o1[0] = captures[1];
    3873            0 :                           _o1[1] = captures[2];
    3874            0 :                           _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3875            0 :                           res_op0 = _r1;
    3876              :                         }
    3877            0 :                         tree _r;
    3878            0 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3879            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 854, __FILE__, __LINE__, true);
    3880            0 :                         return _r;
    3881              :                       }
    3882            0 : next_after_fail1074:;
    3883              :                     }
    3884              :                 }
    3885              :               }
    3886              :           }
    3887              :         break;
    3888              :       }
    3889            0 :     case MIN_EXPR:
    3890            0 :       {
    3891            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3892            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3893            0 :         switch (TREE_CODE (_q20))
    3894              :           {
    3895            0 :           case BIT_NOT_EXPR:
    3896            0 :             {
    3897            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3898            0 :               {
    3899            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3900            0 :                 tree res = generic_simplify_511 (loc, type, _p0, captures, MIN_EXPR, MAX_EXPR);
    3901            0 :                 if (res) return res;
    3902              :               }
    3903            0 :               break;
    3904              :             }
    3905            0 :           default:;
    3906              :           }
    3907            0 :         switch (TREE_CODE (_q21))
    3908              :           {
    3909            0 :           case BIT_NOT_EXPR:
    3910            0 :             {
    3911            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3912            0 :               {
    3913            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3914            0 :                 tree res = generic_simplify_511 (loc, type, _p0, captures, MIN_EXPR, MAX_EXPR);
    3915            0 :                 if (res) return res;
    3916              :               }
    3917            0 :               break;
    3918              :             }
    3919              :           default:;
    3920              :           }
    3921              :         break;
    3922              :       }
    3923            0 :     case MAX_EXPR:
    3924            0 :       {
    3925            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3926            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3927            0 :         switch (TREE_CODE (_q20))
    3928              :           {
    3929            0 :           case BIT_NOT_EXPR:
    3930            0 :             {
    3931            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3932            0 :               {
    3933            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3934            0 :                 tree res = generic_simplify_511 (loc, type, _p0, captures, MAX_EXPR, MIN_EXPR);
    3935            0 :                 if (res) return res;
    3936              :               }
    3937            0 :               break;
    3938              :             }
    3939            0 :           default:;
    3940              :           }
    3941            0 :         switch (TREE_CODE (_q21))
    3942              :           {
    3943            0 :           case BIT_NOT_EXPR:
    3944            0 :             {
    3945            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3946            0 :               {
    3947            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3948            0 :                 tree res = generic_simplify_511 (loc, type, _p0, captures, MAX_EXPR, MIN_EXPR);
    3949            0 :                 if (res) return res;
    3950              :               }
    3951            0 :               break;
    3952              :             }
    3953              :           default:;
    3954              :           }
    3955              :         break;
    3956              :       }
    3957            1 :     case LROTATE_EXPR:
    3958            1 :       {
    3959            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3960            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3961            1 :         switch (TREE_CODE (_q20))
    3962              :           {
    3963            0 :           CASE_CONVERT:
    3964            0 :             {
    3965            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3966            0 :               switch (TREE_CODE (_q30))
    3967              :                 {
    3968            0 :                 case BIT_NOT_EXPR:
    3969            0 :                   {
    3970            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3971            0 :                     {
    3972            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
    3973            0 :                       tree res = generic_simplify_512 (loc, type, _p0, captures, LROTATE_EXPR);
    3974            0 :                       if (res) return res;
    3975              :                     }
    3976            0 :                     break;
    3977              :                   }
    3978              :                 default:;
    3979              :                 }
    3980              :               break;
    3981              :             }
    3982            1 :           case BIT_NOT_EXPR:
    3983            1 :             {
    3984            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3985            1 :               {
    3986            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
    3987            1 :                 tree res = generic_simplify_512 (loc, type, _p0, captures, LROTATE_EXPR);
    3988            1 :                 if (res) return res;
    3989              :               }
    3990            0 :               break;
    3991              :             }
    3992              :           default:;
    3993              :           }
    3994              :         break;
    3995              :       }
    3996            1 :     case RROTATE_EXPR:
    3997            1 :       {
    3998            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3999            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4000            1 :         switch (TREE_CODE (_q20))
    4001              :           {
    4002            0 :           CASE_CONVERT:
    4003            0 :             {
    4004            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4005            0 :               switch (TREE_CODE (_q30))
    4006              :                 {
    4007            0 :                 case BIT_NOT_EXPR:
    4008            0 :                   {
    4009            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    4010            0 :                     {
    4011            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
    4012            0 :                       tree res = generic_simplify_512 (loc, type, _p0, captures, RROTATE_EXPR);
    4013            0 :                       if (res) return res;
    4014              :                     }
    4015            0 :                     break;
    4016              :                   }
    4017              :                 default:;
    4018              :                 }
    4019              :               break;
    4020              :             }
    4021            1 :           case BIT_NOT_EXPR:
    4022            1 :             {
    4023            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4024            1 :               {
    4025            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
    4026            1 :                 tree res = generic_simplify_512 (loc, type, _p0, captures, RROTATE_EXPR);
    4027            1 :                 if (res) return res;
    4028              :               }
    4029            0 :               break;
    4030              :             }
    4031              :           default:;
    4032              :           }
    4033              :         break;
    4034              :       }
    4035           32 :     case VEC_COND_EXPR:
    4036           32 :       {
    4037           32 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4038           32 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4039           32 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4040           32 :         {
    4041           32 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    4042           32 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1075;
    4043           32 :           {
    4044           32 :             tree res_op0;
    4045           32 :             res_op0 = captures[1];
    4046           32 :             tree res_op1;
    4047           32 :             {
    4048           32 :               tree _o1[1], _r1;
    4049           32 :               _o1[0] = captures[2];
    4050           32 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, type, _o1[0]);
    4051           32 :               if (EXPR_P (_r1))
    4052            0 :                 goto next_after_fail1075;
    4053           32 :               res_op1 = _r1;
    4054              :             }
    4055           32 :             tree res_op2;
    4056           32 :             {
    4057           32 :               tree _o1[1], _r1;
    4058           32 :               _o1[0] = captures[3];
    4059           32 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, type, _o1[0]);
    4060           32 :               if (EXPR_P (_r1))
    4061            0 :                 goto next_after_fail1075;
    4062           32 :               res_op2 = _r1;
    4063              :             }
    4064           32 :             tree _r;
    4065           32 :             _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4066           32 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 830, __FILE__, __LINE__, true);
    4067           32 :             return _r;
    4068              :           }
    4069            0 : next_after_fail1075:;
    4070              :         }
    4071            0 :         break;
    4072              :       }
    4073            4 :     case LT_EXPR:
    4074            4 :       {
    4075            4 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4076            4 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4077            4 :         {
    4078            4 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4079            4 :           tree res = generic_simplify_513 (loc, type, _p0, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    4080            4 :           if (res) return res;
    4081              :         }
    4082            4 :         break;
    4083              :       }
    4084            4 :     case LE_EXPR:
    4085            4 :       {
    4086            4 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4087            4 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4088            4 :         {
    4089            4 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4090            4 :           tree res = generic_simplify_513 (loc, type, _p0, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    4091            4 :           if (res) return res;
    4092              :         }
    4093            4 :         break;
    4094              :       }
    4095           63 :     case EQ_EXPR:
    4096           63 :       {
    4097           63 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4098           63 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4099           63 :         {
    4100           63 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4101           63 :           tree res = generic_simplify_513 (loc, type, _p0, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    4102           63 :           if (res) return res;
    4103              :         }
    4104           56 :         break;
    4105              :       }
    4106          112 :     case NE_EXPR:
    4107          112 :       {
    4108          112 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4109          112 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4110          112 :         {
    4111          112 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4112          112 :           tree res = generic_simplify_513 (loc, type, _p0, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    4113          112 :           if (res) return res;
    4114              :         }
    4115          107 :         break;
    4116              :       }
    4117            0 :     case GE_EXPR:
    4118            0 :       {
    4119            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4120            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4121            0 :         {
    4122            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4123            0 :           tree res = generic_simplify_513 (loc, type, _p0, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    4124            0 :           if (res) return res;
    4125              :         }
    4126            0 :         break;
    4127              :       }
    4128           66 :     case GT_EXPR:
    4129           66 :       {
    4130           66 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4131           66 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4132           66 :         {
    4133           66 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4134           66 :           tree res = generic_simplify_513 (loc, type, _p0, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    4135           66 :           if (res) return res;
    4136              :         }
    4137           66 :         break;
    4138              :       }
    4139            0 :     case UNORDERED_EXPR:
    4140            0 :       {
    4141            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4142            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4143            0 :         {
    4144            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4145            0 :           tree res = generic_simplify_513 (loc, type, _p0, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    4146            0 :           if (res) return res;
    4147              :         }
    4148            0 :         break;
    4149              :       }
    4150            0 :     case ORDERED_EXPR:
    4151            0 :       {
    4152            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4153            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4154            0 :         {
    4155            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4156            0 :           tree res = generic_simplify_513 (loc, type, _p0, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    4157            0 :           if (res) return res;
    4158              :         }
    4159            0 :         break;
    4160              :       }
    4161            0 :     case UNLT_EXPR:
    4162            0 :       {
    4163            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4164            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4165            0 :         {
    4166            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4167            0 :           tree res = generic_simplify_513 (loc, type, _p0, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    4168            0 :           if (res) return res;
    4169              :         }
    4170            0 :         break;
    4171              :       }
    4172            0 :     case UNLE_EXPR:
    4173            0 :       {
    4174            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4175            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4176            0 :         {
    4177            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4178            0 :           tree res = generic_simplify_513 (loc, type, _p0, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    4179            0 :           if (res) return res;
    4180              :         }
    4181            0 :         break;
    4182              :       }
    4183            0 :     case UNGT_EXPR:
    4184            0 :       {
    4185            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4186            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4187            0 :         {
    4188            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4189            0 :           tree res = generic_simplify_513 (loc, type, _p0, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    4190            0 :           if (res) return res;
    4191              :         }
    4192            0 :         break;
    4193              :       }
    4194            0 :     case UNGE_EXPR:
    4195            0 :       {
    4196            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4197            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4198            0 :         {
    4199            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4200            0 :           tree res = generic_simplify_513 (loc, type, _p0, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    4201            0 :           if (res) return res;
    4202              :         }
    4203            0 :         break;
    4204              :       }
    4205            0 :     case UNEQ_EXPR:
    4206            0 :       {
    4207            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4208            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4209            0 :         {
    4210            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4211            0 :           tree res = generic_simplify_513 (loc, type, _p0, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    4212            0 :           if (res) return res;
    4213              :         }
    4214            0 :         break;
    4215              :       }
    4216            0 :     case LTGT_EXPR:
    4217            0 :       {
    4218            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4219            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4220            0 :         {
    4221            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4222            0 :           tree res = generic_simplify_513 (loc, type, _p0, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    4223            0 :           if (res) return res;
    4224              :         }
    4225            0 :         break;
    4226              :       }
    4227              :     default:;
    4228              :     }
    4229              :   return NULL_TREE;
    4230              : }
    4231              : 
    4232              : tree
    4233      2227189 : generic_simplify_TRUNC_DIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4234              : {
    4235      2227189 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4236      2227189 :   if (integer_onep (_p1))
    4237              :     {
    4238        21670 :       {
    4239        21670 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4240        21670 :         tree res = generic_simplify_183 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4241        21670 :         if (res) return res;
    4242              :       }
    4243              :     }
    4244      2205519 :   switch (TREE_CODE (_p0))
    4245              :     {
    4246       159740 :     CASE_CONVERT:
    4247       159740 :       {
    4248       159740 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4249       159740 :         switch (TREE_CODE (_p1))
    4250              :           {
    4251        36951 :           CASE_CONVERT:
    4252        36951 :             {
    4253        36951 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4254        36951 :               switch (TREE_CODE (_q40))
    4255              :                 {
    4256            0 :                 case LSHIFT_EXPR:
    4257            0 :                   {
    4258            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    4259            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    4260            0 :                     if (integer_onep (_q50))
    4261              :                       {
    4262            0 :                         {
    4263            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q50, _q51 };
    4264            0 :                           tree res = generic_simplify_312 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4265            0 :                           if (res) return res;
    4266              :                         }
    4267              :                       }
    4268              :                     break;
    4269              :                   }
    4270              :                 default:;
    4271              :                 }
    4272              :               break;
    4273              :             }
    4274            8 :           case LSHIFT_EXPR:
    4275            8 :             {
    4276            8 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4277            8 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4278            8 :               if (integer_onep (_q40))
    4279              :                 {
    4280            7 :                   {
    4281            7 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q41 };
    4282            7 :                     tree res = generic_simplify_312 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4283            7 :                     if (res) return res;
    4284              :                   }
    4285              :                 }
    4286              :               break;
    4287              :             }
    4288              :           default:;
    4289              :           }
    4290              :         break;
    4291              :       }
    4292      2205519 :     default:;
    4293              :     }
    4294      2205519 :   switch (TREE_CODE (_p1))
    4295              :     {
    4296       132058 :     CASE_CONVERT:
    4297       132058 :       {
    4298       132058 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4299       132058 :         switch (TREE_CODE (_q30))
    4300              :           {
    4301            7 :           case LSHIFT_EXPR:
    4302            7 :             {
    4303            7 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4304            7 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4305            7 :               if (integer_onep (_q40))
    4306              :                 {
    4307            7 :                   {
    4308            7 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q40, _q41 };
    4309            7 :                     tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4310            7 :                     if (res) return res;
    4311              :                   }
    4312              :                 }
    4313              :               break;
    4314              :             }
    4315              :           default:;
    4316              :           }
    4317              :         break;
    4318              :       }
    4319           33 :     case LSHIFT_EXPR:
    4320           33 :       {
    4321           33 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4322           33 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4323           33 :         if (integer_onep (_q30))
    4324              :           {
    4325           16 :             {
    4326           16 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q31 };
    4327           16 :               tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4328           16 :               if (res) return res;
    4329              :             }
    4330              :           }
    4331              :         break;
    4332              :       }
    4333      2205510 :     default:;
    4334              :     }
    4335      2205510 :   if (integer_zerop (_p0))
    4336              :     {
    4337         2359 :       {
    4338         2359 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4339         2359 :         tree res = generic_simplify_314 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4340         2359 :         if (res) return res;
    4341              :       }
    4342              :     }
    4343      2203777 :   switch (TREE_CODE (_p1))
    4344              :     {
    4345        13398 :     case SSA_NAME:
    4346        13398 :       {
    4347        13398 :         {
    4348        13398 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4349        13398 :           tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4350        13398 :           if (res) return res;
    4351              :         }
    4352        13398 :         break;
    4353              :       }
    4354      2203777 :     default:;
    4355              :     }
    4356      2203777 : if (integer_minus_onep (_p1))
    4357              :   {
    4358         2520 :     {
    4359         2520 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4360         2520 :       tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4361         2520 :       if (res) return res;
    4362              :     }
    4363              :   }
    4364      2202155 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    4365              :     {
    4366          893 :       {
    4367          893 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4368          893 :         tree res = generic_simplify_317 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4369          893 :         if (res) return res;
    4370              :       }
    4371              :     }
    4372      2202044 :   switch (TREE_CODE (_p1))
    4373              :     {
    4374            1 :     case ABS_EXPR:
    4375            1 :       {
    4376            1 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4377            1 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4378              :           {
    4379            1 :             {
    4380            1 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4381            1 :               tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4382            1 :               if (res) return res;
    4383              :             }
    4384              :           }
    4385              :         break;
    4386              :       }
    4387      2202043 :     default:;
    4388              :     }
    4389      2202043 :   switch (TREE_CODE (_p0))
    4390              :     {
    4391            0 :     case ABS_EXPR:
    4392            0 :       {
    4393            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4394            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4395              :           {
    4396            0 :             {
    4397            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4398            0 :               tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4399            0 :               if (res) return res;
    4400              :             }
    4401              :           }
    4402              :         break;
    4403              :       }
    4404      2202043 :     default:;
    4405              :     }
    4406      2202043 :   switch (TREE_CODE (_p1))
    4407              :     {
    4408          658 :     case NEGATE_EXPR:
    4409          658 :       {
    4410          658 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4411          658 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4412              :           {
    4413            1 :             {
    4414            1 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4415            1 :               tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4416            1 :               if (res) return res;
    4417              :             }
    4418              :           }
    4419              :         break;
    4420              :       }
    4421      2202042 :     default:;
    4422              :     }
    4423      2202042 :   switch (TREE_CODE (_p0))
    4424              :     {
    4425          374 :     case NEGATE_EXPR:
    4426          374 :       {
    4427          374 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4428          374 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4429              :           {
    4430            0 :             {
    4431            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4432            0 :               tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4433            0 :               if (res) return res;
    4434              :             }
    4435              :           }
    4436              :         break;
    4437              :       }
    4438         9139 :     case TRUNC_DIV_EXPR:
    4439         9139 :       {
    4440         9139 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4441         9139 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4442         9139 :         switch (TREE_CODE (_q21))
    4443              :           {
    4444         9050 :           case INTEGER_CST:
    4445         9050 :             {
    4446         9050 :               switch (TREE_CODE (_p1))
    4447              :                 {
    4448         9049 :                 case INTEGER_CST:
    4449         9049 :                   {
    4450         9049 :                     {
    4451         9049 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    4452         9049 :                       tree res = generic_simplify_320 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4453         9049 :                       if (res) return res;
    4454              :                     }
    4455         9049 :                     break;
    4456              :                   }
    4457              :                 default:;
    4458              :                 }
    4459              :               break;
    4460              :             }
    4461              :           default:;
    4462              :           }
    4463              :         break;
    4464              :       }
    4465       159699 :     CASE_CONVERT:
    4466       159699 :       {
    4467       159699 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4468       159699 :         switch (TREE_CODE (_q20))
    4469              :           {
    4470            0 :           case BIT_AND_EXPR:
    4471            0 :             {
    4472            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4473            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4474            0 :               switch (TREE_CODE (_q31))
    4475              :                 {
    4476            0 :                 case INTEGER_CST:
    4477            0 :                   {
    4478            0 :                     switch (TREE_CODE (_p1))
    4479              :                       {
    4480            0 :                       case INTEGER_CST:
    4481            0 :                         {
    4482            0 :                           {
    4483            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    4484            0 :                             tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4485            0 :                             if (res) return res;
    4486              :                           }
    4487            0 :                           break;
    4488              :                         }
    4489              :                       default:;
    4490              :                       }
    4491              :                     break;
    4492              :                   }
    4493              :                 default:;
    4494              :                 }
    4495              :               break;
    4496              :             }
    4497              :           default:;
    4498              :           }
    4499              :         break;
    4500              :       }
    4501        45382 :     case BIT_AND_EXPR:
    4502        45382 :       {
    4503        45382 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4504        45382 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4505        45382 :         switch (TREE_CODE (_q21))
    4506              :           {
    4507        45356 :           case INTEGER_CST:
    4508        45356 :             {
    4509        45356 :               switch (TREE_CODE (_p1))
    4510              :                 {
    4511        45352 :                 case INTEGER_CST:
    4512        45352 :                   {
    4513        45352 :                     {
    4514        45352 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4515        45352 :                       tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4516        45352 :                       if (res) return res;
    4517              :                     }
    4518        45351 :                     break;
    4519              :                   }
    4520              :                 default:;
    4521              :                 }
    4522              :               break;
    4523              :             }
    4524              :           default:;
    4525              :           }
    4526              :         break;
    4527              :       }
    4528        38092 :     case MULT_EXPR:
    4529        38092 :       {
    4530        38092 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4531        38092 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4532        38092 :         if (integer_pow2p (_q21))
    4533              :           {
    4534         7722 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4535              :               {
    4536         7206 :                 {
    4537         7206 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4538         7206 :                   tree res = generic_simplify_322 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4539         7206 :                   if (res) return res;
    4540              :                 }
    4541              :               }
    4542              :           }
    4543        31027 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4544              :           {
    4545          163 :             {
    4546          163 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4547          163 :               tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4548          163 :               if (res) return res;
    4549              :             }
    4550              :           }
    4551        30879 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4552              :           {
    4553           22 :             {
    4554           22 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    4555           22 :               tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4556           22 :               if (res) return res;
    4557              :             }
    4558              :           }
    4559        30870 :         switch (TREE_CODE (_q21))
    4560              :           {
    4561        30544 :           case INTEGER_CST:
    4562        30544 :             {
    4563        30544 :               switch (TREE_CODE (_p1))
    4564              :                 {
    4565            3 :                 case MULT_EXPR:
    4566            3 :                   {
    4567            3 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4568            3 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4569            3 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4570              :                       {
    4571            3 :                         switch (TREE_CODE (_q51))
    4572              :                           {
    4573            3 :                           case INTEGER_CST:
    4574            3 :                             {
    4575            3 :                               {
    4576            3 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    4577            3 :                                 tree res = generic_simplify_324 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4578            3 :                                 if (res) return res;
    4579              :                               }
    4580            0 :                               break;
    4581              :                             }
    4582              :                           default:;
    4583              :                           }
    4584              :                       }
    4585              :                     break;
    4586              :                   }
    4587              :                 default:;
    4588              :                 }
    4589              :               break;
    4590              :             }
    4591              :           default:;
    4592              :           }
    4593              :         break;
    4594              :       }
    4595            0 :     case VEC_COND_EXPR:
    4596            0 :       {
    4597            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4598            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4599            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4600            0 :         switch (TREE_CODE (_p1))
    4601              :           {
    4602            0 :           case VEC_COND_EXPR:
    4603            0 :             {
    4604            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    4605            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    4606            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    4607            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4608              :                 {
    4609            0 :                   {
    4610            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    4611            0 :                     if (VECTOR_TYPE_P (type)
    4612            0 :  && (TREE_CODE_CLASS (TRUNC_DIV_EXPR) != tcc_comparison
    4613              :  || types_match (type, TREE_TYPE (captures[2]))
    4614              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4615              :  || (optimize_vectors_before_lowering_p ()
    4616              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4617              : )
    4618              :                       {
    4619            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1577;
    4620            0 :                         {
    4621            0 :                           tree res_op0;
    4622            0 :                           res_op0 = captures[1];
    4623            0 :                           tree res_op1;
    4624            0 :                           {
    4625            0 :                             tree _o1[2], _r1;
    4626            0 :                             _o1[0] = captures[2];
    4627            0 :                             _o1[1] = captures[5];
    4628            0 :                             _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4629            0 :                             if (EXPR_P (_r1))
    4630            0 :                               goto next_after_fail1577;
    4631            0 :                             res_op1 = _r1;
    4632              :                           }
    4633            0 :                           tree res_op2;
    4634            0 :                           {
    4635            0 :                             tree _o1[2], _r1;
    4636            0 :                             _o1[0] = captures[3];
    4637            0 :                             _o1[1] = captures[6];
    4638            0 :                             _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4639            0 :                             if (EXPR_P (_r1))
    4640            0 :                               goto next_after_fail1577;
    4641            0 :                             res_op2 = _r1;
    4642              :                           }
    4643            0 :                           tree _r;
    4644            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4645            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    4646            0 :                           return _r;
    4647              :                         }
    4648            0 : next_after_fail1577:;
    4649              :                       }
    4650              :                   }
    4651              :                 }
    4652              :               break;
    4653              :             }
    4654            0 :           default:;
    4655              :           }
    4656            0 :         {
    4657            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    4658            0 :           if (VECTOR_TYPE_P (type)
    4659            0 :  && (TREE_CODE_CLASS (TRUNC_DIV_EXPR) != tcc_comparison
    4660              :  || types_match (type, TREE_TYPE (captures[2]))
    4661              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4662              :  || (optimize_vectors_before_lowering_p ()
    4663              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4664              : )
    4665              :             {
    4666            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1578;
    4667            0 :               {
    4668            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1578;
    4669            0 :                 tree res_op0;
    4670            0 :                 res_op0 = captures[1];
    4671            0 :                 tree res_op1;
    4672            0 :                 {
    4673            0 :                   tree _o1[2], _r1;
    4674            0 :                   _o1[0] = captures[2];
    4675            0 :                   _o1[1] = unshare_expr (captures[4]);
    4676            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4677            0 :                   if (EXPR_P (_r1))
    4678            0 :                     goto next_after_fail1578;
    4679            0 :                   res_op1 = _r1;
    4680              :                 }
    4681            0 :                 tree res_op2;
    4682            0 :                 {
    4683            0 :                   tree _o1[2], _r1;
    4684            0 :                   _o1[0] = captures[3];
    4685            0 :                   _o1[1] = captures[4];
    4686            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4687            0 :                   if (EXPR_P (_r1))
    4688            0 :                     goto next_after_fail1578;
    4689            0 :                   res_op2 = _r1;
    4690              :                 }
    4691            0 :                 tree _r;
    4692            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4693            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    4694            0 :                 return _r;
    4695              :               }
    4696            0 : next_after_fail1578:;
    4697              :             }
    4698              :         }
    4699            0 :         break;
    4700              :       }
    4701      2194816 :     default:;
    4702              :     }
    4703      2194816 : if (integer_onep (_p0))
    4704              :   {
    4705         1228 :     {
    4706         1228 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4707         1228 :       if (INTEGRAL_TYPE_P (type)
    4708         1225 :  && TYPE_PRECISION (type) > 1
    4709         1225 :  && !integer_zerop (captures[1])
    4710         1699 :  && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[1]))
    4711              : )
    4712              :         {
    4713          414 :           if (TYPE_UNSIGNED (type)
    4714              : )
    4715              :             {
    4716           54 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1579;
    4717           54 :               {
    4718           54 :                 tree res_op0;
    4719           54 :                 {
    4720           54 :                   tree _o1[2], _r1;
    4721           54 :                   _o1[0] = captures[1];
    4722           54 :                   _o1[1] =  build_one_cst (type);
    4723           54 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
    4724           54 :                   res_op0 = _r1;
    4725              :                 }
    4726           54 :                 tree _r;
    4727           54 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4728           54 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    4729            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4730           54 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 993, __FILE__, __LINE__, true);
    4731           54 :                 return _r;
    4732              :               }
    4733            0 : next_after_fail1579:;
    4734              :             }
    4735              :           else
    4736              :             {
    4737          360 :               if (fold_before_rtl_expansion_p ()
    4738              : )
    4739              :                 {
    4740            0 :                   {
    4741            0 :  tree utype = unsigned_type_for (type);
    4742            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1580;
    4743            0 :                       {
    4744            0 :                         if (! tree_invariant_p (captures[1])) goto next_after_fail1580;
    4745            0 :                         tree res_op0;
    4746            0 :                         {
    4747            0 :                           tree _o1[2], _r1;
    4748            0 :                           {
    4749            0 :                             tree _o2[2], _r2;
    4750            0 :                             {
    4751            0 :                               tree _o3[1], _r3;
    4752            0 :                               _o3[0] = unshare_expr (captures[1]);
    4753            0 :                               if (TREE_TYPE (_o3[0]) != utype)
    4754              :                                 {
    4755            0 :                                   _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    4756              :                                 }
    4757              :                               else
    4758              :                                 _r3 = _o3[0];
    4759            0 :                               _o2[0] = _r3;
    4760              :                             }
    4761            0 :                             _o2[1] =  build_one_cst (utype);
    4762            0 :                             _r2 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    4763            0 :                             _o1[0] = _r2;
    4764              :                           }
    4765            0 :                           _o1[1] =  build_int_cst (utype, 2);
    4766            0 :                           _r1 = fold_build2_loc (loc, LE_EXPR, boolean_type_node, _o1[0], _o1[1]);
    4767            0 :                           res_op0 = _r1;
    4768              :                         }
    4769            0 :                         tree res_op1;
    4770            0 :                         res_op1 = captures[1];
    4771            0 :                         tree res_op2;
    4772            0 :                         res_op2 =  build_zero_cst (type);
    4773            0 :                         tree _r;
    4774            0 :                         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    4775            0 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    4776            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4777            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 994, __FILE__, __LINE__, true);
    4778            0 :                         return _r;
    4779              :                       }
    4780         1174 : next_after_fail1580:;
    4781              :                   }
    4782              :                 }
    4783              :             }
    4784              :         }
    4785              :     }
    4786              :   }
    4787      2194762 :   switch (TREE_CODE (_p1))
    4788              :     {
    4789            0 :     case VEC_COND_EXPR:
    4790            0 :       {
    4791            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4792            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4793            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    4794            0 :         {
    4795            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    4796            0 :           if (VECTOR_TYPE_P (type)
    4797            0 :  && (TREE_CODE_CLASS (TRUNC_DIV_EXPR) != tcc_comparison
    4798              :  || types_match (type, TREE_TYPE (captures[3]))
    4799              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    4800              :  || (optimize_vectors_before_lowering_p ()
    4801              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    4802              : )
    4803              :             {
    4804            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1581;
    4805            0 :               {
    4806            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1581;
    4807            0 :                 tree res_op0;
    4808            0 :                 res_op0 = captures[2];
    4809            0 :                 tree res_op1;
    4810            0 :                 {
    4811            0 :                   tree _o1[2], _r1;
    4812            0 :                   _o1[0] = unshare_expr (captures[0]);
    4813            0 :                   _o1[1] = captures[3];
    4814            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4815            0 :                   if (EXPR_P (_r1))
    4816            0 :                     goto next_after_fail1581;
    4817            0 :                   res_op1 = _r1;
    4818              :                 }
    4819            0 :                 tree res_op2;
    4820            0 :                 {
    4821            0 :                   tree _o1[2], _r1;
    4822            0 :                   _o1[0] = captures[0];
    4823            0 :                   _o1[1] = captures[4];
    4824            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4825            0 :                   if (EXPR_P (_r1))
    4826            0 :                     goto next_after_fail1581;
    4827            0 :                   res_op2 = _r1;
    4828              :                 }
    4829            0 :                 tree _r;
    4830            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4831            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
    4832            0 :                 return _r;
    4833              :               }
    4834            0 : next_after_fail1581:;
    4835              :             }
    4836              :         }
    4837            0 :         break;
    4838              :       }
    4839              :     default:;
    4840              :     }
    4841              :   return NULL_TREE;
    4842              : }
    4843              : 
    4844              : tree
    4845            0 : generic_simplify_ROUND_DIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4846              : {
    4847            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4848            0 :   if (integer_onep (_p1))
    4849              :     {
    4850            0 :       {
    4851            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4852            0 :         tree res = generic_simplify_183 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4853            0 :         if (res) return res;
    4854              :       }
    4855              :     }
    4856            0 :   if (integer_zerop (_p0))
    4857              :     {
    4858            0 :       {
    4859            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4860            0 :         tree res = generic_simplify_314 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4861            0 :         if (res) return res;
    4862              :       }
    4863              :     }
    4864            0 :   switch (TREE_CODE (_p1))
    4865              :     {
    4866            0 :     case SSA_NAME:
    4867            0 :       {
    4868            0 :         {
    4869            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4870            0 :           tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4871            0 :           if (res) return res;
    4872              :         }
    4873            0 :         break;
    4874              :       }
    4875            0 :     default:;
    4876              :     }
    4877            0 : if (integer_minus_onep (_p1))
    4878              :   {
    4879            0 :     {
    4880            0 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4881            0 :       tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4882            0 :       if (res) return res;
    4883              :     }
    4884              :   }
    4885            0 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    4886              :     {
    4887            0 :       {
    4888            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4889            0 :         tree res = generic_simplify_317 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4890            0 :         if (res) return res;
    4891              :       }
    4892              :     }
    4893            0 :   switch (TREE_CODE (_p1))
    4894              :     {
    4895            0 :     case ABS_EXPR:
    4896            0 :       {
    4897            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4898            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4899              :           {
    4900            0 :             {
    4901            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4902            0 :               tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4903            0 :               if (res) return res;
    4904              :             }
    4905              :           }
    4906              :         break;
    4907              :       }
    4908            0 :     default:;
    4909              :     }
    4910            0 :   switch (TREE_CODE (_p0))
    4911              :     {
    4912            0 :     case ABS_EXPR:
    4913            0 :       {
    4914            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4915            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4916              :           {
    4917            0 :             {
    4918            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4919            0 :               tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4920            0 :               if (res) return res;
    4921              :             }
    4922              :           }
    4923              :         break;
    4924              :       }
    4925            0 :     default:;
    4926              :     }
    4927            0 :   switch (TREE_CODE (_p1))
    4928              :     {
    4929            0 :     case NEGATE_EXPR:
    4930            0 :       {
    4931            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4932            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4933              :           {
    4934            0 :             {
    4935            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4936            0 :               tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4937            0 :               if (res) return res;
    4938              :             }
    4939              :           }
    4940              :         break;
    4941              :       }
    4942            0 :     default:;
    4943              :     }
    4944            0 :   switch (TREE_CODE (_p0))
    4945              :     {
    4946            0 :     case NEGATE_EXPR:
    4947            0 :       {
    4948            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4949            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4950              :           {
    4951            0 :             {
    4952            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4953            0 :               tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4954            0 :               if (res) return res;
    4955              :             }
    4956              :           }
    4957              :         break;
    4958              :       }
    4959            0 :     CASE_CONVERT:
    4960            0 :       {
    4961            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4962            0 :         switch (TREE_CODE (_q20))
    4963              :           {
    4964            0 :           case BIT_AND_EXPR:
    4965            0 :             {
    4966            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4967            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4968            0 :               switch (TREE_CODE (_q31))
    4969              :                 {
    4970            0 :                 case INTEGER_CST:
    4971            0 :                   {
    4972            0 :                     switch (TREE_CODE (_p1))
    4973              :                       {
    4974            0 :                       case INTEGER_CST:
    4975            0 :                         {
    4976            0 :                           {
    4977            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    4978            0 :                             tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4979            0 :                             if (res) return res;
    4980              :                           }
    4981            0 :                           break;
    4982              :                         }
    4983              :                       default:;
    4984              :                       }
    4985              :                     break;
    4986              :                   }
    4987              :                 default:;
    4988              :                 }
    4989              :               break;
    4990              :             }
    4991              :           default:;
    4992              :           }
    4993              :         break;
    4994              :       }
    4995            0 :     case BIT_AND_EXPR:
    4996            0 :       {
    4997            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4998            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4999            0 :         switch (TREE_CODE (_q21))
    5000              :           {
    5001            0 :           case INTEGER_CST:
    5002            0 :             {
    5003            0 :               switch (TREE_CODE (_p1))
    5004              :                 {
    5005            0 :                 case INTEGER_CST:
    5006            0 :                   {
    5007            0 :                     {
    5008            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5009            0 :                       tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5010            0 :                       if (res) return res;
    5011              :                     }
    5012            0 :                     break;
    5013              :                   }
    5014              :                 default:;
    5015              :                 }
    5016              :               break;
    5017              :             }
    5018              :           default:;
    5019              :           }
    5020              :         break;
    5021              :       }
    5022            0 :     case MULT_EXPR:
    5023            0 :       {
    5024            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5025            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5026            0 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5027              :           {
    5028            0 :             {
    5029            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5030            0 :               tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5031            0 :               if (res) return res;
    5032              :             }
    5033              :           }
    5034            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5035              :           {
    5036            0 :             {
    5037            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    5038            0 :               tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5039            0 :               if (res) return res;
    5040              :             }
    5041              :           }
    5042            0 :         switch (TREE_CODE (_q21))
    5043              :           {
    5044            0 :           case INTEGER_CST:
    5045            0 :             {
    5046            0 :               switch (TREE_CODE (_p1))
    5047              :                 {
    5048            0 :                 case MULT_EXPR:
    5049            0 :                   {
    5050            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5051            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5052            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5053              :                       {
    5054            0 :                         switch (TREE_CODE (_q51))
    5055              :                           {
    5056            0 :                           case INTEGER_CST:
    5057            0 :                             {
    5058            0 :                               {
    5059            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    5060            0 :                                 tree res = generic_simplify_324 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5061            0 :                                 if (res) return res;
    5062              :                               }
    5063            0 :                               break;
    5064              :                             }
    5065              :                           default:;
    5066              :                           }
    5067              :                       }
    5068              :                     break;
    5069              :                   }
    5070              :                 default:;
    5071              :                 }
    5072              :               break;
    5073              :             }
    5074              :           default:;
    5075              :           }
    5076              :         break;
    5077              :       }
    5078            0 :     case VEC_COND_EXPR:
    5079            0 :       {
    5080            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5081            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5082            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    5083            0 :         switch (TREE_CODE (_p1))
    5084              :           {
    5085            0 :           case VEC_COND_EXPR:
    5086            0 :             {
    5087            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    5088            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    5089            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    5090            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5091              :                 {
    5092            0 :                   {
    5093            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    5094            0 :                     if (VECTOR_TYPE_P (type)
    5095            0 :  && (TREE_CODE_CLASS (ROUND_DIV_EXPR) != tcc_comparison
    5096              :  || types_match (type, TREE_TYPE (captures[2]))
    5097              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5098              :  || (optimize_vectors_before_lowering_p ()
    5099              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5100              : )
    5101              :                       {
    5102            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1588;
    5103            0 :                         {
    5104            0 :                           tree res_op0;
    5105            0 :                           res_op0 = captures[1];
    5106            0 :                           tree res_op1;
    5107            0 :                           {
    5108            0 :                             tree _o1[2], _r1;
    5109            0 :                             _o1[0] = captures[2];
    5110            0 :                             _o1[1] = captures[5];
    5111            0 :                             _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5112            0 :                             if (EXPR_P (_r1))
    5113            0 :                               goto next_after_fail1588;
    5114            0 :                             res_op1 = _r1;
    5115              :                           }
    5116            0 :                           tree res_op2;
    5117            0 :                           {
    5118            0 :                             tree _o1[2], _r1;
    5119            0 :                             _o1[0] = captures[3];
    5120            0 :                             _o1[1] = captures[6];
    5121            0 :                             _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5122            0 :                             if (EXPR_P (_r1))
    5123            0 :                               goto next_after_fail1588;
    5124            0 :                             res_op2 = _r1;
    5125              :                           }
    5126            0 :                           tree _r;
    5127            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5128            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    5129            0 :                           return _r;
    5130              :                         }
    5131            0 : next_after_fail1588:;
    5132              :                       }
    5133              :                   }
    5134              :                 }
    5135              :               break;
    5136              :             }
    5137            0 :           default:;
    5138              :           }
    5139            0 :         {
    5140            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    5141            0 :           if (VECTOR_TYPE_P (type)
    5142            0 :  && (TREE_CODE_CLASS (ROUND_DIV_EXPR) != tcc_comparison
    5143              :  || types_match (type, TREE_TYPE (captures[2]))
    5144              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5145              :  || (optimize_vectors_before_lowering_p ()
    5146              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5147              : )
    5148              :             {
    5149            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1589;
    5150            0 :               {
    5151            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1589;
    5152            0 :                 tree res_op0;
    5153            0 :                 res_op0 = captures[1];
    5154            0 :                 tree res_op1;
    5155            0 :                 {
    5156            0 :                   tree _o1[2], _r1;
    5157            0 :                   _o1[0] = captures[2];
    5158            0 :                   _o1[1] = unshare_expr (captures[4]);
    5159            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5160            0 :                   if (EXPR_P (_r1))
    5161            0 :                     goto next_after_fail1589;
    5162            0 :                   res_op1 = _r1;
    5163              :                 }
    5164            0 :                 tree res_op2;
    5165            0 :                 {
    5166            0 :                   tree _o1[2], _r1;
    5167            0 :                   _o1[0] = captures[3];
    5168            0 :                   _o1[1] = captures[4];
    5169            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5170            0 :                   if (EXPR_P (_r1))
    5171            0 :                     goto next_after_fail1589;
    5172            0 :                   res_op2 = _r1;
    5173              :                 }
    5174            0 :                 tree _r;
    5175            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5176            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    5177            0 :                 return _r;
    5178              :               }
    5179            0 : next_after_fail1589:;
    5180              :             }
    5181              :         }
    5182            0 :         break;
    5183              :       }
    5184            0 :     default:;
    5185              :     }
    5186            0 :   switch (TREE_CODE (_p1))
    5187              :     {
    5188            0 :     case VEC_COND_EXPR:
    5189            0 :       {
    5190            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5191            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5192            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    5193            0 :         {
    5194            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    5195            0 :           if (VECTOR_TYPE_P (type)
    5196            0 :  && (TREE_CODE_CLASS (ROUND_DIV_EXPR) != tcc_comparison
    5197              :  || types_match (type, TREE_TYPE (captures[3]))
    5198              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    5199              :  || (optimize_vectors_before_lowering_p ()
    5200              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    5201              : )
    5202              :             {
    5203            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1590;
    5204            0 :               {
    5205            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1590;
    5206            0 :                 tree res_op0;
    5207            0 :                 res_op0 = captures[2];
    5208            0 :                 tree res_op1;
    5209            0 :                 {
    5210            0 :                   tree _o1[2], _r1;
    5211            0 :                   _o1[0] = unshare_expr (captures[0]);
    5212            0 :                   _o1[1] = captures[3];
    5213            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5214            0 :                   if (EXPR_P (_r1))
    5215            0 :                     goto next_after_fail1590;
    5216            0 :                   res_op1 = _r1;
    5217              :                 }
    5218            0 :                 tree res_op2;
    5219            0 :                 {
    5220            0 :                   tree _o1[2], _r1;
    5221            0 :                   _o1[0] = captures[0];
    5222            0 :                   _o1[1] = captures[4];
    5223            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5224            0 :                   if (EXPR_P (_r1))
    5225            0 :                     goto next_after_fail1590;
    5226            0 :                   res_op2 = _r1;
    5227              :                 }
    5228            0 :                 tree _r;
    5229            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5230            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
    5231            0 :                 return _r;
    5232              :               }
    5233            0 : next_after_fail1590:;
    5234              :             }
    5235              :         }
    5236            0 :         break;
    5237              :       }
    5238              :     default:;
    5239              :     }
    5240              :   return NULL_TREE;
    5241              : }
    5242              : 
    5243              : tree
    5244      6185216 : generic_simplify_RDIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    5245              : {
    5246      6185216 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    5247      6185216 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5248              :     {
    5249          762 :       {
    5250          762 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5251            3 :         if (FLOAT_TYPE_P (type)
    5252          762 :  && ! HONOR_NANS (type)
    5253          764 :  && ! HONOR_INFINITIES (type)
    5254              : )
    5255              :           {
    5256            2 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1597;
    5257            2 :             {
    5258            2 :               tree _r;
    5259            2 :               _r =  build_one_cst (type);
    5260            2 :               if (TREE_SIDE_EFFECTS (captures[0]))
    5261            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    5262            2 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 995, __FILE__, __LINE__, true);
    5263            2 :               return _r;
    5264              :             }
    5265            0 : next_after_fail1597:;
    5266              :           }
    5267              :       }
    5268              :     }
    5269      6185214 :   switch (TREE_CODE (_p1))
    5270              :     {
    5271        18732 :     case NEGATE_EXPR:
    5272        18732 :       {
    5273        18732 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5274        18732 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5275              :           {
    5276            0 :             {
    5277            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5278            0 :               tree res = generic_simplify_333 (loc, type, _p0, _p1, captures);
    5279            0 :               if (res) return res;
    5280              :             }
    5281              :           }
    5282              :         break;
    5283              :       }
    5284      6185214 :     default:;
    5285              :     }
    5286      6185214 :   switch (TREE_CODE (_p0))
    5287              :     {
    5288        93751 :     case NEGATE_EXPR:
    5289        93751 :       {
    5290        93751 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5291        93751 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5292              :           {
    5293            2 :             {
    5294            2 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5295            2 :               tree res = generic_simplify_333 (loc, type, _p0, _p1, captures);
    5296            2 :               if (res) return res;
    5297              :             }
    5298              :           }
    5299              :         break;
    5300              :       }
    5301       538142 :     CASE_CONVERT:
    5302       538142 :       {
    5303       538142 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5304       538142 :         switch (TREE_CODE (_p1))
    5305              :           {
    5306        25458 :           CASE_CONVERT:
    5307        25458 :             {
    5308        25458 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5309        25458 :               switch (TREE_CODE (_q40))
    5310              :                 {
    5311            0 :                 case ABS_EXPR:
    5312            0 :                   {
    5313            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5314            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5315              :                       {
    5316            0 :                         {
    5317            0 :                           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5318            0 :                           tree res = generic_simplify_334 (loc, type, _p0, _p1, captures);
    5319            0 :                           if (res) return res;
    5320              :                         }
    5321              :                       }
    5322              :                     break;
    5323              :                   }
    5324              :                 default:;
    5325              :                 }
    5326              :               break;
    5327              :             }
    5328       538142 :           default:;
    5329              :           }
    5330       538142 :         switch (TREE_CODE (_q20))
    5331              :           {
    5332            0 :           case ABS_EXPR:
    5333            0 :             {
    5334            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5335            0 :               switch (TREE_CODE (_p1))
    5336              :                 {
    5337            0 :                 CASE_CONVERT:
    5338            0 :                   {
    5339            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5340            0 :                     if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
    5341              :                       {
    5342            0 :                         {
    5343            0 :                           tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    5344            0 :                           tree res = generic_simplify_334 (loc, type, _p0, _p1, captures);
    5345            0 :                           if (res) return res;
    5346              :                         }
    5347              :                       }
    5348              :                     break;
    5349              :                   }
    5350              :                 default:;
    5351              :                 }
    5352              :               break;
    5353              :             }
    5354              :           default:;
    5355              :           }
    5356              :         break;
    5357              :       }
    5358      6185214 :     default:;
    5359              :     }
    5360      6185214 :   switch (TREE_CODE (_p1))
    5361              :     {
    5362           48 :     case ABS_EXPR:
    5363           48 :       {
    5364           48 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5365           48 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5366              :           {
    5367            0 :             {
    5368            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5369            0 :               tree res = generic_simplify_334 (loc, type, _p0, _p1, captures);
    5370            0 :               if (res) return res;
    5371              :             }
    5372              :           }
    5373              :         break;
    5374              :       }
    5375      6185214 :     default:;
    5376              :     }
    5377      6185214 :   switch (TREE_CODE (_p0))
    5378              :     {
    5379          146 :     case ABS_EXPR:
    5380          146 :       {
    5381          146 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5382          146 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5383              :           {
    5384            0 :             {
    5385            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5386            0 :               tree res = generic_simplify_334 (loc, type, _p0, _p1, captures);
    5387            0 :               if (res) return res;
    5388              :             }
    5389              :           }
    5390              :         break;
    5391              :       }
    5392      6185214 :     default:;
    5393              :     }
    5394      6185214 :   if (real_onep (_p1))
    5395              :     {
    5396           86 :       {
    5397           86 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5398           86 :         if (!tree_expr_maybe_signaling_nan_p (captures[0])
    5399              : )
    5400              :           {
    5401           86 :             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1598;
    5402           86 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1598;
    5403           86 :             {
    5404           86 :               tree res_op0;
    5405           86 :               res_op0 = captures[0];
    5406           86 :               tree _r;
    5407           86 :               _r = non_lvalue_loc (loc, res_op0);
    5408           86 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 996, __FILE__, __LINE__, true);
    5409           86 :               return _r;
    5410              :             }
    5411              : next_after_fail1598:;
    5412              :           }
    5413              :       }
    5414              :     }
    5415      6185128 :   if (real_minus_onep (_p1))
    5416              :     {
    5417           36 :       {
    5418           36 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5419           36 :         if (!tree_expr_maybe_signaling_nan_p (captures[0])
    5420              : )
    5421              :           {
    5422           36 :             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1599;
    5423           36 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1599;
    5424           36 :             {
    5425           36 :               tree res_op0;
    5426           36 :               res_op0 = captures[0];
    5427           36 :               tree _r;
    5428           36 :               _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    5429           36 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 997, __FILE__, __LINE__, true);
    5430           36 :               return _r;
    5431              :             }
    5432              : next_after_fail1599:;
    5433              :           }
    5434              :       }
    5435              :     }
    5436      6185092 :   switch (TREE_CODE (_p0))
    5437              :     {
    5438        37050 :     case RDIV_EXPR:
    5439        37050 :       {
    5440        37050 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5441        37050 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5442        37050 :         {
    5443        37050 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    5444        37050 :           if (flag_reciprocal_math
    5445              : )
    5446              :             {
    5447           12 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1600;
    5448           12 :               {
    5449           12 :                 tree res_op0;
    5450           12 :                 res_op0 = captures[1];
    5451           12 :                 tree res_op1;
    5452           12 :                 {
    5453           12 :                   tree _o1[2], _r1;
    5454           12 :                   _o1[0] = captures[2];
    5455           12 :                   _o1[1] = captures[3];
    5456           12 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5457           12 :                   res_op1 = _r1;
    5458              :                 }
    5459           12 :                 tree _r;
    5460           12 :                 _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    5461           12 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 998, __FILE__, __LINE__, true);
    5462           12 :                 return _r;
    5463              :               }
    5464            0 : next_after_fail1600:;
    5465              :             }
    5466              :         }
    5467        37038 :         break;
    5468              :       }
    5469      6185080 :     default:;
    5470              :     }
    5471      6185080 :   switch (TREE_CODE (_p1))
    5472              :     {
    5473       949208 :     case MULT_EXPR:
    5474       949208 :       {
    5475       949208 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5476       949208 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5477       949208 :         switch (TREE_CODE (_q31))
    5478              :           {
    5479       372555 :           case REAL_CST:
    5480       372555 :             {
    5481       372555 :               {
    5482       372555 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    5483       372555 :                 if (flag_reciprocal_math
    5484              : )
    5485              :                   {
    5486          224 :                     {
    5487          224 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[3]);
    5488          224 :                         if (tem
    5489              : )
    5490              :                           {
    5491          224 :                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1601;
    5492          224 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1601;
    5493          224 :                             {
    5494          224 :                               tree res_op0;
    5495          224 :                               {
    5496          224 :                                 tree _o1[2], _r1;
    5497          224 :                                 _o1[0] = captures[0];
    5498          224 :                                 _o1[1] =  tem;
    5499          224 :                                 _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5500          224 :                                 res_op0 = _r1;
    5501              :                               }
    5502          224 :                               tree res_op1;
    5503          224 :                               res_op1 = captures[2];
    5504          224 :                               tree _r;
    5505          224 :                               _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    5506          224 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 999, __FILE__, __LINE__, true);
    5507          224 :                               return _r;
    5508              :                             }
    5509       372331 : next_after_fail1601:;
    5510              :                           }
    5511              :                     }
    5512              :                   }
    5513              :               }
    5514       372331 :               break;
    5515              :             }
    5516              :           default:;
    5517              :           }
    5518              :         break;
    5519              :       }
    5520            1 :     case RDIV_EXPR:
    5521            1 :       {
    5522            1 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5523            1 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5524            1 :         {
    5525            1 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    5526            1 :           if (flag_reciprocal_math
    5527              : )
    5528              :             {
    5529            1 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1602;
    5530            1 :               {
    5531            1 :                 tree res_op0;
    5532            1 :                 {
    5533            1 :                   tree _o1[2], _r1;
    5534            1 :                   _o1[0] = captures[0];
    5535            1 :                   _o1[1] = captures[2];
    5536            1 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5537            1 :                   res_op0 = _r1;
    5538              :                 }
    5539            1 :                 tree res_op1;
    5540            1 :                 res_op1 = captures[3];
    5541            1 :                 tree _r;
    5542            1 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5543            1 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1000, __FILE__, __LINE__, true);
    5544            1 :                 return _r;
    5545              :               }
    5546            0 : next_after_fail1602:;
    5547              :             }
    5548              :         }
    5549            0 :         break;
    5550              :       }
    5551        18732 :     case NEGATE_EXPR:
    5552        18732 :       {
    5553        18732 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5554        18732 :         {
    5555        18732 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5556        18732 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1603;
    5557        18732 :           {
    5558        18732 :             tree res_op0;
    5559        18732 :             {
    5560        18732 :               tree _o1[1], _r1;
    5561        18732 :               _o1[0] = captures[0];
    5562        18732 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    5563        18732 :               res_op0 = _r1;
    5564              :             }
    5565        18732 :             tree res_op1;
    5566        18732 :             res_op1 = captures[1];
    5567        18732 :             tree _r;
    5568        18732 :             _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    5569        18732 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1001, __FILE__, __LINE__, true);
    5570        18732 :             return _r;
    5571              :           }
    5572            0 : next_after_fail1603:;
    5573              :         }
    5574            0 :         break;
    5575              :       }
    5576      1051986 :     case REAL_CST:
    5577      1051986 :       {
    5578      1051986 :         {
    5579      1051986 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5580      1051986 :           if (optimize
    5581              : )
    5582              :             {
    5583      1045466 :               if (flag_reciprocal_math
    5584      1045466 :  && !real_zerop (captures[1])
    5585              : )
    5586              :                 {
    5587          571 :                   {
    5588          571 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
    5589          571 :                       if (tem
    5590              : )
    5591              :                         {
    5592          570 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1604;
    5593          570 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1604;
    5594          570 :                           {
    5595          570 :                             tree res_op0;
    5596          570 :                             res_op0 = captures[0];
    5597          570 :                             tree res_op1;
    5598          570 :                             res_op1 =  tem;
    5599          570 :                             tree _r;
    5600          570 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5601          570 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1002, __FILE__, __LINE__, true);
    5602          570 :                             return _r;
    5603              :                           }
    5604       734925 : next_after_fail1604:;
    5605              :                         }
    5606              :                   }
    5607              :                 }
    5608              :               else
    5609              :                 {
    5610      1044895 :                   if (REAL_CST != COMPLEX_CST
    5611              : )
    5612              :                     {
    5613      1044895 :                       {
    5614      1044895 :  tree inverse = exact_inverse (type, captures[1]);
    5615      1044895 :                           if (inverse
    5616              : )
    5617              :                             {
    5618       316491 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1605;
    5619       316491 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1605;
    5620       316491 :                               {
    5621       316491 :                                 tree res_op0;
    5622       316491 :                                 res_op0 = captures[0];
    5623       316491 :                                 tree res_op1;
    5624       316491 :                                 res_op1 =  inverse;
    5625       316491 :                                 tree _r;
    5626       316491 :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5627       316491 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1003, __FILE__, __LINE__, true);
    5628       316491 :                                 return _r;
    5629              :                               }
    5630       734925 : next_after_fail1605:;
    5631              :                             }
    5632              :                       }
    5633              :                     }
    5634              :                 }
    5635              :             }
    5636              :         }
    5637       734925 :         break;
    5638              :       }
    5639          114 :     case COMPLEX_CST:
    5640          114 :       {
    5641          114 :         {
    5642          114 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5643          114 :           if (optimize
    5644              : )
    5645              :             {
    5646          106 :               if (flag_reciprocal_math
    5647          106 :  && !real_zerop (captures[1])
    5648              : )
    5649              :                 {
    5650            7 :                   {
    5651            7 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
    5652            7 :                       if (tem
    5653              : )
    5654              :                         {
    5655            7 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1606;
    5656            7 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1606;
    5657            7 :                           {
    5658            7 :                             tree res_op0;
    5659            7 :                             res_op0 = captures[0];
    5660            7 :                             tree res_op1;
    5661            7 :                             res_op1 =  tem;
    5662            7 :                             tree _r;
    5663            7 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5664            7 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1002, __FILE__, __LINE__, true);
    5665            7 :                             return _r;
    5666              :                           }
    5667          107 : next_after_fail1606:;
    5668              :                         }
    5669              :                   }
    5670              :                 }
    5671              :               else
    5672              :                 {
    5673              :                   if (COMPLEX_CST != COMPLEX_CST
    5674              : )
    5675              :                     {
    5676              :                       {
    5677              :  tree inverse = exact_inverse (type, captures[1]);
    5678              :                           if (inverse
    5679              : )
    5680              :                             {
    5681              :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1607;
    5682              :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1607;
    5683              :                               {
    5684              :                                 tree res_op0;
    5685              :                                 res_op0 = captures[0];
    5686              :                                 tree res_op1;
    5687              :                                 res_op1 =  inverse;
    5688              :                                 tree _r;
    5689              :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5690              :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1003, __FILE__, __LINE__, true);
    5691              :                                 return _r;
    5692              :                               }
    5693              : next_after_fail1607:;
    5694              :                             }
    5695              :                       }
    5696              :                     }
    5697              :                 }
    5698              :             }
    5699              :         }
    5700          107 :         break;
    5701              :       }
    5702           45 :     case VECTOR_CST:
    5703           45 :       {
    5704           45 :         {
    5705           45 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5706           45 :           if (optimize
    5707              : )
    5708              :             {
    5709           41 :               if (flag_reciprocal_math
    5710           41 :  && !real_zerop (captures[1])
    5711              : )
    5712              :                 {
    5713            4 :                   {
    5714            4 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
    5715            4 :                       if (tem
    5716              : )
    5717              :                         {
    5718            0 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1608;
    5719            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1608;
    5720            0 :                           {
    5721            0 :                             tree res_op0;
    5722            0 :                             res_op0 = captures[0];
    5723            0 :                             tree res_op1;
    5724            0 :                             res_op1 =  tem;
    5725            0 :                             tree _r;
    5726            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5727            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1002, __FILE__, __LINE__, true);
    5728            0 :                             return _r;
    5729              :                           }
    5730           15 : next_after_fail1608:;
    5731              :                         }
    5732              :                   }
    5733              :                 }
    5734              :               else
    5735              :                 {
    5736           37 :                   if (VECTOR_CST != COMPLEX_CST
    5737              : )
    5738              :                     {
    5739           37 :                       {
    5740           37 :  tree inverse = exact_inverse (type, captures[1]);
    5741           37 :                           if (inverse
    5742              : )
    5743              :                             {
    5744           30 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1609;
    5745           30 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1609;
    5746           30 :                               {
    5747           30 :                                 tree res_op0;
    5748           30 :                                 res_op0 = captures[0];
    5749           30 :                                 tree res_op1;
    5750           30 :                                 res_op1 =  inverse;
    5751           30 :                                 tree _r;
    5752           30 :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5753           30 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1003, __FILE__, __LINE__, true);
    5754           30 :                                 return _r;
    5755              :                               }
    5756           15 : next_after_fail1609:;
    5757              :                             }
    5758              :                       }
    5759              :                     }
    5760              :                 }
    5761              :             }
    5762              :         }
    5763           15 :         break;
    5764              :       }
    5765      5849025 :     default:;
    5766              :     }
    5767      5849025 :   switch (TREE_CODE (_p0))
    5768              :     {
    5769            0 :     case VEC_COND_EXPR:
    5770            0 :       {
    5771            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5772            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5773            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    5774            0 :         switch (TREE_CODE (_p1))
    5775              :           {
    5776            0 :           case VEC_COND_EXPR:
    5777            0 :             {
    5778            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    5779            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    5780            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    5781            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5782              :                 {
    5783            0 :                   {
    5784            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    5785            0 :                     if (VECTOR_TYPE_P (type)
    5786            0 :  && (TREE_CODE_CLASS (RDIV_EXPR) != tcc_comparison
    5787              :  || types_match (type, TREE_TYPE (captures[2]))
    5788              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5789              :  || (optimize_vectors_before_lowering_p ()
    5790              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5791              : )
    5792              :                       {
    5793            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1610;
    5794            0 :                         {
    5795            0 :                           tree res_op0;
    5796            0 :                           res_op0 = captures[1];
    5797            0 :                           tree res_op1;
    5798            0 :                           {
    5799            0 :                             tree _o1[2], _r1;
    5800            0 :                             _o1[0] = captures[2];
    5801            0 :                             _o1[1] = captures[5];
    5802            0 :                             _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5803            0 :                             if (EXPR_P (_r1))
    5804            0 :                               goto next_after_fail1610;
    5805            0 :                             res_op1 = _r1;
    5806              :                           }
    5807            0 :                           tree res_op2;
    5808            0 :                           {
    5809            0 :                             tree _o1[2], _r1;
    5810            0 :                             _o1[0] = captures[3];
    5811            0 :                             _o1[1] = captures[6];
    5812            0 :                             _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5813            0 :                             if (EXPR_P (_r1))
    5814            0 :                               goto next_after_fail1610;
    5815            0 :                             res_op2 = _r1;
    5816              :                           }
    5817            0 :                           tree _r;
    5818            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5819            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    5820            0 :                           return _r;
    5821              :                         }
    5822            0 : next_after_fail1610:;
    5823              :                       }
    5824              :                   }
    5825              :                 }
    5826              :               break;
    5827              :             }
    5828            0 :           default:;
    5829              :           }
    5830            0 :         {
    5831            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    5832            0 :           if (VECTOR_TYPE_P (type)
    5833            0 :  && (TREE_CODE_CLASS (RDIV_EXPR) != tcc_comparison
    5834              :  || types_match (type, TREE_TYPE (captures[2]))
    5835              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5836              :  || (optimize_vectors_before_lowering_p ()
    5837              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5838              : )
    5839              :             {
    5840            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1611;
    5841            0 :               {
    5842            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1611;
    5843            0 :                 tree res_op0;
    5844            0 :                 res_op0 = captures[1];
    5845            0 :                 tree res_op1;
    5846            0 :                 {
    5847            0 :                   tree _o1[2], _r1;
    5848            0 :                   _o1[0] = captures[2];
    5849            0 :                   _o1[1] = unshare_expr (captures[4]);
    5850            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5851            0 :                   if (EXPR_P (_r1))
    5852            0 :                     goto next_after_fail1611;
    5853            0 :                   res_op1 = _r1;
    5854              :                 }
    5855            0 :                 tree res_op2;
    5856            0 :                 {
    5857            0 :                   tree _o1[2], _r1;
    5858            0 :                   _o1[0] = captures[3];
    5859            0 :                   _o1[1] = captures[4];
    5860            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5861            0 :                   if (EXPR_P (_r1))
    5862            0 :                     goto next_after_fail1611;
    5863            0 :                   res_op2 = _r1;
    5864              :                 }
    5865            0 :                 tree _r;
    5866            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5867            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    5868            0 :                 return _r;
    5869              :               }
    5870            0 : next_after_fail1611:;
    5871              :             }
    5872              :         }
    5873            0 :         break;
    5874              :       }
    5875      5849025 :     default:;
    5876              :     }
    5877      5849025 :   switch (TREE_CODE (_p1))
    5878              :     {
    5879            0 :     case VEC_COND_EXPR:
    5880            0 :       {
    5881            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5882            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5883            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    5884            0 :         {
    5885            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    5886            0 :           if (VECTOR_TYPE_P (type)
    5887            0 :  && (TREE_CODE_CLASS (RDIV_EXPR) != tcc_comparison
    5888              :  || types_match (type, TREE_TYPE (captures[3]))
    5889              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    5890              :  || (optimize_vectors_before_lowering_p ()
    5891              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    5892              : )
    5893              :             {
    5894            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1612;
    5895            0 :               {
    5896            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1612;
    5897            0 :                 tree res_op0;
    5898            0 :                 res_op0 = captures[2];
    5899            0 :                 tree res_op1;
    5900            0 :                 {
    5901            0 :                   tree _o1[2], _r1;
    5902            0 :                   _o1[0] = unshare_expr (captures[0]);
    5903            0 :                   _o1[1] = captures[3];
    5904            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5905            0 :                   if (EXPR_P (_r1))
    5906            0 :                     goto next_after_fail1612;
    5907            0 :                   res_op1 = _r1;
    5908              :                 }
    5909            0 :                 tree res_op2;
    5910            0 :                 {
    5911            0 :                   tree _o1[2], _r1;
    5912            0 :                   _o1[0] = captures[0];
    5913            0 :                   _o1[1] = captures[4];
    5914            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5915            0 :                   if (EXPR_P (_r1))
    5916            0 :                     goto next_after_fail1612;
    5917            0 :                   res_op2 = _r1;
    5918              :                 }
    5919            0 :                 tree _r;
    5920            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5921            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
    5922            0 :                 return _r;
    5923              :               }
    5924            0 : next_after_fail1612:;
    5925              :             }
    5926              :         }
    5927            0 :         break;
    5928              :       }
    5929       784162 :     case CALL_EXPR:
    5930       784162 :       switch (get_call_combined_fn (_p1))
    5931              :         {
    5932           20 :         case CFN_BUILT_IN_SQRTF:
    5933           20 :           if (call_expr_nargs (_p1) == 1)
    5934              :     {
    5935           20 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5936           20 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5937              :                 {
    5938            0 :                   {
    5939            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5940            0 :                     tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF);
    5941            0 :                     if (res) return res;
    5942              :                   }
    5943              :                 }
    5944           20 :               switch (TREE_CODE (_q30))
    5945              :                 {
    5946            0 :                 case RDIV_EXPR:
    5947            0 :                   {
    5948            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    5949            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    5950            0 :                     {
    5951            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    5952            0 :                       if (flag_unsafe_math_optimizations
    5953              : )
    5954              :                         {
    5955            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1613;
    5956            0 :                           {
    5957            0 :                             tree res_op0;
    5958            0 :                             res_op0 = captures[0];
    5959            0 :                             tree res_op1;
    5960            0 :                             {
    5961            0 :                               tree _o1[1], _r1;
    5962            0 :                               {
    5963            0 :                                 tree _o2[2], _r2;
    5964            0 :                                 _o2[0] = captures[4];
    5965            0 :                                 _o2[1] = captures[3];
    5966            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    5967            0 :                                 _o1[0] = _r2;
    5968              :                               }
    5969            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    5970            0 :                               if (!_r1)
    5971            0 :                                 goto next_after_fail1613;
    5972            0 :                               res_op1 = _r1;
    5973              :                             }
    5974            0 :                             tree _r;
    5975            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5976            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1004, __FILE__, __LINE__, true);
    5977            0 :                             return _r;
    5978              :                           }
    5979            0 : next_after_fail1613:;
    5980              :                         }
    5981              :                     }
    5982            0 :                     break;
    5983              :                   }
    5984              :                 default:;
    5985              :                 }
    5986              :             }
    5987              :           break;
    5988            0 :         case CFN_BUILT_IN_SQRTL:
    5989            0 :           if (call_expr_nargs (_p1) == 1)
    5990              :     {
    5991            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5992            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5993              :                 {
    5994            0 :                   {
    5995            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5996            0 :                     tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL);
    5997            0 :                     if (res) return res;
    5998              :                   }
    5999              :                 }
    6000            0 :               switch (TREE_CODE (_q30))
    6001              :                 {
    6002            0 :                 case RDIV_EXPR:
    6003            0 :                   {
    6004            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6005            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6006            0 :                     {
    6007            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6008            0 :                       if (flag_unsafe_math_optimizations
    6009              : )
    6010              :                         {
    6011            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1614;
    6012            0 :                           {
    6013            0 :                             tree res_op0;
    6014            0 :                             res_op0 = captures[0];
    6015            0 :                             tree res_op1;
    6016            0 :                             {
    6017            0 :                               tree _o1[1], _r1;
    6018            0 :                               {
    6019            0 :                                 tree _o2[2], _r2;
    6020            0 :                                 _o2[0] = captures[4];
    6021            0 :                                 _o2[1] = captures[3];
    6022            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6023            0 :                                 _o1[0] = _r2;
    6024              :                               }
    6025            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6026            0 :                               if (!_r1)
    6027            0 :                                 goto next_after_fail1614;
    6028            0 :                               res_op1 = _r1;
    6029              :                             }
    6030            0 :                             tree _r;
    6031            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6032            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1004, __FILE__, __LINE__, true);
    6033            0 :                             return _r;
    6034              :                           }
    6035            0 : next_after_fail1614:;
    6036              :                         }
    6037              :                     }
    6038            0 :                     break;
    6039              :                   }
    6040              :                 default:;
    6041              :                 }
    6042              :             }
    6043              :           break;
    6044           27 :         case CFN_BUILT_IN_EXP:
    6045           27 :           if (call_expr_nargs (_p1) == 1)
    6046              :     {
    6047           27 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6048           27 :               {
    6049           27 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6050           27 :                 if (flag_unsafe_math_optimizations
    6051              : )
    6052              :                   {
    6053           27 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1615;
    6054           27 :                     {
    6055           27 :                       tree res_op0;
    6056           27 :                       res_op0 = captures[0];
    6057           27 :                       tree res_op1;
    6058           27 :                       {
    6059           27 :                         tree _o1[1], _r1;
    6060           27 :                         {
    6061           27 :                           tree _o2[1], _r2;
    6062           27 :                           _o2[0] = captures[2];
    6063           27 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6064           27 :                           _o1[0] = _r2;
    6065              :                         }
    6066           27 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6067           27 :                         if (!_r1)
    6068            0 :                           goto next_after_fail1615;
    6069           27 :                         res_op1 = _r1;
    6070              :                       }
    6071           27 :                       tree _r;
    6072           27 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6073           27 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1005, __FILE__, __LINE__, true);
    6074           27 :                       return _r;
    6075              :                     }
    6076            0 : next_after_fail1615:;
    6077              :                   }
    6078              :               }
    6079              :             }
    6080              :           break;
    6081           24 :         case CFN_BUILT_IN_EXP10F:
    6082           24 :           if (call_expr_nargs (_p1) == 1)
    6083              :     {
    6084           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6085           24 :               {
    6086           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6087           24 :                 if (flag_unsafe_math_optimizations
    6088              : )
    6089              :                   {
    6090           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1616;
    6091           24 :                     {
    6092           24 :                       tree res_op0;
    6093           24 :                       res_op0 = captures[0];
    6094           24 :                       tree res_op1;
    6095           24 :                       {
    6096           24 :                         tree _o1[1], _r1;
    6097           24 :                         {
    6098           24 :                           tree _o2[1], _r2;
    6099           24 :                           _o2[0] = captures[2];
    6100           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6101           24 :                           _o1[0] = _r2;
    6102              :                         }
    6103           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6104           24 :                         if (!_r1)
    6105            0 :                           goto next_after_fail1616;
    6106           24 :                         res_op1 = _r1;
    6107              :                       }
    6108           24 :                       tree _r;
    6109           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6110           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1005, __FILE__, __LINE__, true);
    6111           24 :                       return _r;
    6112              :                     }
    6113            0 : next_after_fail1616:;
    6114              :                   }
    6115              :               }
    6116              :             }
    6117              :           break;
    6118           24 :         case CFN_BUILT_IN_EXP10L:
    6119           24 :           if (call_expr_nargs (_p1) == 1)
    6120              :     {
    6121           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6122           24 :               {
    6123           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6124           24 :                 if (flag_unsafe_math_optimizations
    6125              : )
    6126              :                   {
    6127           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1617;
    6128           24 :                     {
    6129           24 :                       tree res_op0;
    6130           24 :                       res_op0 = captures[0];
    6131           24 :                       tree res_op1;
    6132           24 :                       {
    6133           24 :                         tree _o1[1], _r1;
    6134           24 :                         {
    6135           24 :                           tree _o2[1], _r2;
    6136           24 :                           _o2[0] = captures[2];
    6137           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6138           24 :                           _o1[0] = _r2;
    6139              :                         }
    6140           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6141           24 :                         if (!_r1)
    6142            0 :                           goto next_after_fail1617;
    6143           24 :                         res_op1 = _r1;
    6144              :                       }
    6145           24 :                       tree _r;
    6146           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6147           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1005, __FILE__, __LINE__, true);
    6148           24 :                       return _r;
    6149              :                     }
    6150            0 : next_after_fail1617:;
    6151              :                   }
    6152              :               }
    6153              :             }
    6154              :           break;
    6155            3 :         case CFN_BUILT_IN_CBRT:
    6156            3 :           if (call_expr_nargs (_p1) == 1)
    6157              :     {
    6158            3 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6159            3 :               switch (TREE_CODE (_q30))
    6160              :                 {
    6161            2 :                 case RDIV_EXPR:
    6162            2 :                   {
    6163            2 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6164            2 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6165            2 :                     {
    6166            2 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6167            2 :                       if (flag_unsafe_math_optimizations
    6168              : )
    6169              :                         {
    6170            2 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1618;
    6171            2 :                           {
    6172            2 :                             tree res_op0;
    6173            2 :                             res_op0 = captures[0];
    6174            2 :                             tree res_op1;
    6175            2 :                             {
    6176            2 :                               tree _o1[1], _r1;
    6177            2 :                               {
    6178            2 :                                 tree _o2[2], _r2;
    6179            2 :                                 _o2[0] = captures[4];
    6180            2 :                                 _o2[1] = captures[3];
    6181            2 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6182            2 :                                 _o1[0] = _r2;
    6183              :                               }
    6184            2 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRT, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6185            2 :                               if (!_r1)
    6186            0 :                                 goto next_after_fail1618;
    6187            2 :                               res_op1 = _r1;
    6188              :                             }
    6189            2 :                             tree _r;
    6190            2 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6191            2 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1004, __FILE__, __LINE__, true);
    6192            2 :                             return _r;
    6193              :                           }
    6194            0 : next_after_fail1618:;
    6195              :                         }
    6196              :                     }
    6197            0 :                     break;
    6198              :                   }
    6199              :                 default:;
    6200              :                 }
    6201              :             }
    6202              :           break;
    6203           24 :         case CFN_BUILT_IN_EXP2:
    6204           24 :           if (call_expr_nargs (_p1) == 1)
    6205              :     {
    6206           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6207           24 :               {
    6208           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6209           24 :                 if (flag_unsafe_math_optimizations
    6210              : )
    6211              :                   {
    6212           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1619;
    6213           24 :                     {
    6214           24 :                       tree res_op0;
    6215           24 :                       res_op0 = captures[0];
    6216           24 :                       tree res_op1;
    6217           24 :                       {
    6218           24 :                         tree _o1[1], _r1;
    6219           24 :                         {
    6220           24 :                           tree _o2[1], _r2;
    6221           24 :                           _o2[0] = captures[2];
    6222           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6223           24 :                           _o1[0] = _r2;
    6224              :                         }
    6225           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6226           24 :                         if (!_r1)
    6227            0 :                           goto next_after_fail1619;
    6228           24 :                         res_op1 = _r1;
    6229              :                       }
    6230           24 :                       tree _r;
    6231           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6232           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1005, __FILE__, __LINE__, true);
    6233           24 :                       return _r;
    6234              :                     }
    6235            0 : next_after_fail1619:;
    6236              :                   }
    6237              :               }
    6238              :             }
    6239              :           break;
    6240           25 :         case CFN_BUILT_IN_EXPF:
    6241           25 :           if (call_expr_nargs (_p1) == 1)
    6242              :     {
    6243           25 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6244           25 :               {
    6245           25 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6246           25 :                 if (flag_unsafe_math_optimizations
    6247              : )
    6248              :                   {
    6249           25 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1620;
    6250           25 :                     {
    6251           25 :                       tree res_op0;
    6252           25 :                       res_op0 = captures[0];
    6253           25 :                       tree res_op1;
    6254           25 :                       {
    6255           25 :                         tree _o1[1], _r1;
    6256           25 :                         {
    6257           25 :                           tree _o2[1], _r2;
    6258           25 :                           _o2[0] = captures[2];
    6259           25 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6260           25 :                           _o1[0] = _r2;
    6261              :                         }
    6262           25 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6263           25 :                         if (!_r1)
    6264            0 :                           goto next_after_fail1620;
    6265           25 :                         res_op1 = _r1;
    6266              :                       }
    6267           25 :                       tree _r;
    6268           25 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6269           25 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1005, __FILE__, __LINE__, true);
    6270           25 :                       return _r;
    6271              :                     }
    6272            0 : next_after_fail1620:;
    6273              :                   }
    6274              :               }
    6275              :             }
    6276              :           break;
    6277           25 :         case CFN_BUILT_IN_EXPL:
    6278           25 :           if (call_expr_nargs (_p1) == 1)
    6279              :     {
    6280           25 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6281           25 :               {
    6282           25 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6283           25 :                 if (flag_unsafe_math_optimizations
    6284              : )
    6285              :                   {
    6286           25 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1621;
    6287           25 :                     {
    6288           25 :                       tree res_op0;
    6289           25 :                       res_op0 = captures[0];
    6290           25 :                       tree res_op1;
    6291           25 :                       {
    6292           25 :                         tree _o1[1], _r1;
    6293           25 :                         {
    6294           25 :                           tree _o2[1], _r2;
    6295           25 :                           _o2[0] = captures[2];
    6296           25 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6297           25 :                           _o1[0] = _r2;
    6298              :                         }
    6299           25 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6300           25 :                         if (!_r1)
    6301            0 :                           goto next_after_fail1621;
    6302           25 :                         res_op1 = _r1;
    6303              :                       }
    6304           25 :                       tree _r;
    6305           25 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6306           25 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1005, __FILE__, __LINE__, true);
    6307           25 :                       return _r;
    6308              :                     }
    6309            0 : next_after_fail1621:;
    6310              :                   }
    6311              :               }
    6312              :             }
    6313              :           break;
    6314          298 :         case CFN_BUILT_IN_SQRT:
    6315          298 :           if (call_expr_nargs (_p1) == 1)
    6316              :     {
    6317          298 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6318          298 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6319              :                 {
    6320            0 :                   {
    6321            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6322            0 :                     tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT);
    6323            0 :                     if (res) return res;
    6324              :                   }
    6325              :                 }
    6326          298 :               switch (TREE_CODE (_q30))
    6327              :                 {
    6328            2 :                 case RDIV_EXPR:
    6329            2 :                   {
    6330            2 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6331            2 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6332            2 :                     {
    6333            2 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6334            2 :                       if (flag_unsafe_math_optimizations
    6335              : )
    6336              :                         {
    6337            2 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1622;
    6338            2 :                           {
    6339            2 :                             tree res_op0;
    6340            2 :                             res_op0 = captures[0];
    6341            2 :                             tree res_op1;
    6342            2 :                             {
    6343            2 :                               tree _o1[1], _r1;
    6344            2 :                               {
    6345            2 :                                 tree _o2[2], _r2;
    6346            2 :                                 _o2[0] = captures[4];
    6347            2 :                                 _o2[1] = captures[3];
    6348            2 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6349            2 :                                 _o1[0] = _r2;
    6350              :                               }
    6351            2 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRT, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6352            2 :                               if (!_r1)
    6353            0 :                                 goto next_after_fail1622;
    6354            2 :                               res_op1 = _r1;
    6355              :                             }
    6356            2 :                             tree _r;
    6357            2 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6358            2 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1004, __FILE__, __LINE__, true);
    6359            2 :                             return _r;
    6360              :                           }
    6361            0 : next_after_fail1622:;
    6362              :                         }
    6363              :                     }
    6364            0 :                     break;
    6365              :                   }
    6366              :                 default:;
    6367              :                 }
    6368              :             }
    6369              :           break;
    6370            0 :         case CFN_EXP:
    6371            0 :           if (call_expr_nargs (_p1) == 1)
    6372              :     {
    6373            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6374            0 :               {
    6375            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6376            0 :                 if (flag_unsafe_math_optimizations
    6377              : )
    6378              :                   {
    6379            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1623;
    6380            0 :                     {
    6381            0 :                       tree res_op0;
    6382            0 :                       res_op0 = captures[0];
    6383            0 :                       tree res_op1;
    6384            0 :                       {
    6385            0 :                         tree _o1[1], _r1;
    6386            0 :                         {
    6387            0 :                           tree _o2[1], _r2;
    6388            0 :                           _o2[0] = captures[2];
    6389            0 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6390            0 :                           _o1[0] = _r2;
    6391              :                         }
    6392            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_EXP, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6393            0 :                         if (!_r1)
    6394            0 :                           goto next_after_fail1623;
    6395            0 :                         res_op1 = _r1;
    6396              :                       }
    6397            0 :                       tree _r;
    6398            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6399            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1005, __FILE__, __LINE__, true);
    6400            0 :                       return _r;
    6401              :                     }
    6402            0 : next_after_fail1623:;
    6403              :                   }
    6404              :               }
    6405              :             }
    6406              :           break;
    6407           24 :         case CFN_BUILT_IN_POW10F:
    6408           24 :           if (call_expr_nargs (_p1) == 1)
    6409              :     {
    6410           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6411           24 :               {
    6412           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6413           24 :                 if (flag_unsafe_math_optimizations
    6414              : )
    6415              :                   {
    6416           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1624;
    6417           24 :                     {
    6418           24 :                       tree res_op0;
    6419           24 :                       res_op0 = captures[0];
    6420           24 :                       tree res_op1;
    6421           24 :                       {
    6422           24 :                         tree _o1[1], _r1;
    6423           24 :                         {
    6424           24 :                           tree _o2[1], _r2;
    6425           24 :                           _o2[0] = captures[2];
    6426           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6427           24 :                           _o1[0] = _r2;
    6428              :                         }
    6429           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6430           24 :                         if (!_r1)
    6431           24 :                           goto next_after_fail1624;
    6432            0 :                         res_op1 = _r1;
    6433              :                       }
    6434            0 :                       tree _r;
    6435            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6436            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1005, __FILE__, __LINE__, true);
    6437            0 :                       return _r;
    6438              :                     }
    6439           24 : next_after_fail1624:;
    6440              :                   }
    6441              :               }
    6442              :             }
    6443              :           break;
    6444           24 :         case CFN_BUILT_IN_POW10L:
    6445           24 :           if (call_expr_nargs (_p1) == 1)
    6446              :     {
    6447           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6448           24 :               {
    6449           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6450           24 :                 if (flag_unsafe_math_optimizations
    6451              : )
    6452              :                   {
    6453           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1625;
    6454           24 :                     {
    6455           24 :                       tree res_op0;
    6456           24 :                       res_op0 = captures[0];
    6457           24 :                       tree res_op1;
    6458           24 :                       {
    6459           24 :                         tree _o1[1], _r1;
    6460           24 :                         {
    6461           24 :                           tree _o2[1], _r2;
    6462           24 :                           _o2[0] = captures[2];
    6463           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6464           24 :                           _o1[0] = _r2;
    6465              :                         }
    6466           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6467           24 :                         if (!_r1)
    6468           24 :                           goto next_after_fail1625;
    6469            0 :                         res_op1 = _r1;
    6470              :                       }
    6471            0 :                       tree _r;
    6472            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6473            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1005, __FILE__, __LINE__, true);
    6474            0 :                       return _r;
    6475              :                     }
    6476           24 : next_after_fail1625:;
    6477              :                   }
    6478              :               }
    6479              :             }
    6480              :           break;
    6481            0 :         case CFN_EXP2:
    6482            0 :           if (call_expr_nargs (_p1) == 1)
    6483              :     {
    6484            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6485            0 :               {
    6486            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6487            0 :                 if (flag_unsafe_math_optimizations
    6488              : )
    6489              :                   {
    6490            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1626;
    6491            0 :                     {
    6492            0 :                       tree res_op0;
    6493            0 :                       res_op0 = captures[0];
    6494            0 :                       tree res_op1;
    6495            0 :                       {
    6496            0 :                         tree _o1[1], _r1;
    6497            0 :                         {
    6498            0 :                           tree _o2[1], _r2;
    6499            0 :                           _o2[0] = captures[2];
    6500            0 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6501            0 :                           _o1[0] = _r2;
    6502              :                         }
    6503            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_EXP2, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6504            0 :                         if (!_r1)
    6505            0 :                           goto next_after_fail1626;
    6506            0 :                         res_op1 = _r1;
    6507              :                       }
    6508            0 :                       tree _r;
    6509            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6510            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1005, __FILE__, __LINE__, true);
    6511            0 :                       return _r;
    6512              :                     }
    6513            0 : next_after_fail1626:;
    6514              :                   }
    6515              :               }
    6516              :             }
    6517              :           break;
    6518            0 :         case CFN_SQRT:
    6519            0 :           if (call_expr_nargs (_p1) == 1)
    6520              :     {
    6521            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6522            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6523              :                 {
    6524            0 :                   {
    6525            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6526            0 :                     tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, CFN_SQRT);
    6527            0 :                     if (res) return res;
    6528              :                   }
    6529              :                 }
    6530            0 :               switch (TREE_CODE (_q30))
    6531              :                 {
    6532            0 :                 case RDIV_EXPR:
    6533            0 :                   {
    6534            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6535            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6536            0 :                     {
    6537            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6538            0 :                       if (flag_unsafe_math_optimizations
    6539              : )
    6540              :                         {
    6541            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1627;
    6542            0 :                           {
    6543            0 :                             tree res_op0;
    6544            0 :                             res_op0 = captures[0];
    6545            0 :                             tree res_op1;
    6546            0 :                             {
    6547            0 :                               tree _o1[1], _r1;
    6548            0 :                               {
    6549            0 :                                 tree _o2[2], _r2;
    6550            0 :                                 _o2[0] = captures[4];
    6551            0 :                                 _o2[1] = captures[3];
    6552            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6553            0 :                                 _o1[0] = _r2;
    6554              :                               }
    6555            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_SQRT, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6556            0 :                               if (!_r1)
    6557            0 :                                 goto next_after_fail1627;
    6558            0 :                               res_op1 = _r1;
    6559              :                             }
    6560            0 :                             tree _r;
    6561            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6562            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1004, __FILE__, __LINE__, true);
    6563            0 :                             return _r;
    6564              :                           }
    6565            0 : next_after_fail1627:;
    6566              :                         }
    6567              :                     }
    6568            0 :                     break;
    6569              :                   }
    6570              :                 default:;
    6571              :                 }
    6572              :             }
    6573              :           break;
    6574            0 :         case CFN_EXP10:
    6575            0 :           if (call_expr_nargs (_p1) == 1)
    6576              :     {
    6577            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6578            0 :               {
    6579            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6580            0 :                 if (flag_unsafe_math_optimizations
    6581              : )
    6582              :                   {
    6583            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1628;
    6584            0 :                     {
    6585            0 :                       tree res_op0;
    6586            0 :                       res_op0 = captures[0];
    6587            0 :                       tree res_op1;
    6588            0 :                       {
    6589            0 :                         tree _o1[1], _r1;
    6590            0 :                         {
    6591            0 :                           tree _o2[1], _r2;
    6592            0 :                           _o2[0] = captures[2];
    6593            0 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6594            0 :                           _o1[0] = _r2;
    6595              :                         }
    6596            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_EXP10, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6597            0 :                         if (!_r1)
    6598            0 :                           goto next_after_fail1628;
    6599            0 :                         res_op1 = _r1;
    6600              :                       }
    6601            0 :                       tree _r;
    6602            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6603            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1005, __FILE__, __LINE__, true);
    6604            0 :                       return _r;
    6605              :                     }
    6606            0 : next_after_fail1628:;
    6607              :                   }
    6608              :               }
    6609              :             }
    6610              :           break;
    6611            0 :         case CFN_BUILT_IN_CBRTF:
    6612            0 :           if (call_expr_nargs (_p1) == 1)
    6613              :     {
    6614            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6615            0 :               switch (TREE_CODE (_q30))
    6616              :                 {
    6617            0 :                 case RDIV_EXPR:
    6618            0 :                   {
    6619            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6620            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6621            0 :                     {
    6622            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6623            0 :                       if (flag_unsafe_math_optimizations
    6624              : )
    6625              :                         {
    6626            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1629;
    6627            0 :                           {
    6628            0 :                             tree res_op0;
    6629            0 :                             res_op0 = captures[0];
    6630            0 :                             tree res_op1;
    6631            0 :                             {
    6632            0 :                               tree _o1[1], _r1;
    6633            0 :                               {
    6634            0 :                                 tree _o2[2], _r2;
    6635            0 :                                 _o2[0] = captures[4];
    6636            0 :                                 _o2[1] = captures[3];
    6637            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6638            0 :                                 _o1[0] = _r2;
    6639              :                               }
    6640            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6641            0 :                               if (!_r1)
    6642            0 :                                 goto next_after_fail1629;
    6643            0 :                               res_op1 = _r1;
    6644              :                             }
    6645            0 :                             tree _r;
    6646            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6647            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1004, __FILE__, __LINE__, true);
    6648            0 :                             return _r;
    6649              :                           }
    6650            0 : next_after_fail1629:;
    6651              :                         }
    6652              :                     }
    6653            0 :                     break;
    6654              :                   }
    6655              :                 default:;
    6656              :                 }
    6657              :             }
    6658              :           break;
    6659            0 :         case CFN_BUILT_IN_CBRTL:
    6660            0 :           if (call_expr_nargs (_p1) == 1)
    6661              :     {
    6662            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6663            0 :               switch (TREE_CODE (_q30))
    6664              :                 {
    6665            0 :                 case RDIV_EXPR:
    6666            0 :                   {
    6667            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6668            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6669            0 :                     {
    6670            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6671            0 :                       if (flag_unsafe_math_optimizations
    6672              : )
    6673              :                         {
    6674            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1630;
    6675            0 :                           {
    6676            0 :                             tree res_op0;
    6677            0 :                             res_op0 = captures[0];
    6678            0 :                             tree res_op1;
    6679            0 :                             {
    6680            0 :                               tree _o1[1], _r1;
    6681            0 :                               {
    6682            0 :                                 tree _o2[2], _r2;
    6683            0 :                                 _o2[0] = captures[4];
    6684            0 :                                 _o2[1] = captures[3];
    6685            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6686            0 :                                 _o1[0] = _r2;
    6687              :                               }
    6688            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6689            0 :                               if (!_r1)
    6690            0 :                                 goto next_after_fail1630;
    6691            0 :                               res_op1 = _r1;
    6692              :                             }
    6693            0 :                             tree _r;
    6694            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6695            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1004, __FILE__, __LINE__, true);
    6696            0 :                             return _r;
    6697              :                           }
    6698            0 : next_after_fail1630:;
    6699              :                         }
    6700              :                     }
    6701            0 :                     break;
    6702              :                   }
    6703              :                 default:;
    6704              :                 }
    6705              :             }
    6706              :           break;
    6707           24 :         case CFN_BUILT_IN_EXP10:
    6708           24 :           if (call_expr_nargs (_p1) == 1)
    6709              :     {
    6710           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6711           24 :               {
    6712           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6713           24 :                 if (flag_unsafe_math_optimizations
    6714              : )
    6715              :                   {
    6716           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1631;
    6717           24 :                     {
    6718           24 :                       tree res_op0;
    6719           24 :                       res_op0 = captures[0];
    6720           24 :                       tree res_op1;
    6721           24 :                       {
    6722           24 :                         tree _o1[1], _r1;
    6723           24 :                         {
    6724           24 :                           tree _o2[1], _r2;
    6725           24 :                           _o2[0] = captures[2];
    6726           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6727           24 :                           _o1[0] = _r2;
    6728              :                         }
    6729           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6730           24 :                         if (!_r1)
    6731            0 :                           goto next_after_fail1631;
    6732           24 :                         res_op1 = _r1;
    6733              :                       }
    6734           24 :                       tree _r;
    6735           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6736           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1005, __FILE__, __LINE__, true);
    6737           24 :                       return _r;
    6738              :                     }
    6739            0 : next_after_fail1631:;
    6740              :                   }
    6741              :               }
    6742              :             }
    6743              :           break;
    6744           24 :         case CFN_BUILT_IN_EXP2F:
    6745           24 :           if (call_expr_nargs (_p1) == 1)
    6746              :     {
    6747           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6748           24 :               {
    6749           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6750           24 :                 if (flag_unsafe_math_optimizations
    6751              : )
    6752              :                   {
    6753           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1632;
    6754           24 :                     {
    6755           24 :                       tree res_op0;
    6756           24 :                       res_op0 = captures[0];
    6757           24 :                       tree res_op1;
    6758           24 :                       {
    6759           24 :                         tree _o1[1], _r1;
    6760           24 :                         {
    6761           24 :                           tree _o2[1], _r2;
    6762           24 :                           _o2[0] = captures[2];
    6763           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6764           24 :                           _o1[0] = _r2;
    6765              :                         }
    6766           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6767           24 :                         if (!_r1)
    6768            0 :                           goto next_after_fail1632;
    6769           24 :                         res_op1 = _r1;
    6770              :                       }
    6771           24 :                       tree _r;
    6772           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6773           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1005, __FILE__, __LINE__, true);
    6774           24 :                       return _r;
    6775              :                     }
    6776            0 : next_after_fail1632:;
    6777              :                   }
    6778              :               }
    6779              :             }
    6780              :           break;
    6781           24 :         case CFN_BUILT_IN_EXP2L:
    6782           24 :           if (call_expr_nargs (_p1) == 1)
    6783              :     {
    6784           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6785           24 :               {
    6786           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6787           24 :                 if (flag_unsafe_math_optimizations
    6788              : )
    6789              :                   {
    6790           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1633;
    6791           24 :                     {
    6792           24 :                       tree res_op0;
    6793           24 :                       res_op0 = captures[0];
    6794           24 :                       tree res_op1;
    6795           24 :                       {
    6796           24 :                         tree _o1[1], _r1;
    6797           24 :                         {
    6798           24 :                           tree _o2[1], _r2;
    6799           24 :                           _o2[0] = captures[2];
    6800           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6801           24 :                           _o1[0] = _r2;
    6802              :                         }
    6803           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6804           24 :                         if (!_r1)
    6805            0 :                           goto next_after_fail1633;
    6806           24 :                         res_op1 = _r1;
    6807              :                       }
    6808           24 :                       tree _r;
    6809           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6810           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1005, __FILE__, __LINE__, true);
    6811           24 :                       return _r;
    6812              :                     }
    6813            0 : next_after_fail1633:;
    6814              :                   }
    6815              :               }
    6816              :             }
    6817              :           break;
    6818           24 :         case CFN_BUILT_IN_POW10:
    6819           24 :           if (call_expr_nargs (_p1) == 1)
    6820              :     {
    6821           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6822           24 :               {
    6823           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6824           24 :                 if (flag_unsafe_math_optimizations
    6825              : )
    6826              :                   {
    6827           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1634;
    6828           24 :                     {
    6829           24 :                       tree res_op0;
    6830           24 :                       res_op0 = captures[0];
    6831           24 :                       tree res_op1;
    6832           24 :                       {
    6833           24 :                         tree _o1[1], _r1;
    6834           24 :                         {
    6835           24 :                           tree _o2[1], _r2;
    6836           24 :                           _o2[0] = captures[2];
    6837           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6838           24 :                           _o1[0] = _r2;
    6839              :                         }
    6840           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6841           24 :                         if (!_r1)
    6842           24 :                           goto next_after_fail1634;
    6843            0 :                         res_op1 = _r1;
    6844              :                       }
    6845            0 :                       tree _r;
    6846            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6847            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1005, __FILE__, __LINE__, true);
    6848            0 :                       return _r;
    6849              :                     }
    6850           24 : next_after_fail1634:;
    6851              :                   }
    6852              :               }
    6853              :             }
    6854              :           break;
    6855              :         default:;
    6856              :         }
    6857              :       break;
    6858      5848800 :     default:;
    6859              :     }
    6860      5848800 :   switch (TREE_CODE (_p0))
    6861              :     {
    6862       188485 :     case CALL_EXPR:
    6863       188485 :       switch (get_call_combined_fn (_p0))
    6864              :         {
    6865            1 :         case CFN_BUILT_IN_SINHF:
    6866            1 :           if (call_expr_nargs (_p0) == 1)
    6867              :     {
    6868            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6869            1 :               switch (TREE_CODE (_p1))
    6870              :                 {
    6871            1 :                 case CALL_EXPR:
    6872            1 :                   switch (get_call_combined_fn (_p1))
    6873              :                     {
    6874            1 :                     case CFN_BUILT_IN_COSHF:
    6875            1 :                       if (call_expr_nargs (_p1) == 1)
    6876              :     {
    6877            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6878            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6879              :                             {
    6880            1 :                               {
    6881            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6882            1 :                                 tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINHF, CFN_BUILT_IN_COSHF, CFN_BUILT_IN_TANHF);
    6883            1 :                                 if (res) return res;
    6884              :                               }
    6885              :                             }
    6886              :                         }
    6887              :                       break;
    6888              :                     default:;
    6889              :                     }
    6890              :                   break;
    6891              :                 default:;
    6892              :                 }
    6893              :             }
    6894              :           break;
    6895            1 :         case CFN_BUILT_IN_SINHL:
    6896            1 :           if (call_expr_nargs (_p0) == 1)
    6897              :     {
    6898            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6899            1 :               switch (TREE_CODE (_p1))
    6900              :                 {
    6901            1 :                 case CALL_EXPR:
    6902            1 :                   switch (get_call_combined_fn (_p1))
    6903              :                     {
    6904            1 :                     case CFN_BUILT_IN_COSHL:
    6905            1 :                       if (call_expr_nargs (_p1) == 1)
    6906              :     {
    6907            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6908            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6909              :                             {
    6910            1 :                               {
    6911            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6912            1 :                                 tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINHL, CFN_BUILT_IN_COSHL, CFN_BUILT_IN_TANHL);
    6913            1 :                                 if (res) return res;
    6914              :                               }
    6915              :                             }
    6916              :                         }
    6917              :                       break;
    6918              :                     default:;
    6919              :                     }
    6920              :                   break;
    6921              :                 default:;
    6922              :                 }
    6923              :             }
    6924              :           break;
    6925            1 :         case CFN_BUILT_IN_TANHF:
    6926            1 :           if (call_expr_nargs (_p0) == 1)
    6927              :     {
    6928            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6929            1 :               switch (TREE_CODE (_p1))
    6930              :                 {
    6931            1 :                 case CALL_EXPR:
    6932            1 :                   switch (get_call_combined_fn (_p1))
    6933              :                     {
    6934            1 :                     case CFN_BUILT_IN_SINHF:
    6935            1 :                       if (call_expr_nargs (_p1) == 1)
    6936              :     {
    6937            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6938            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6939              :                             {
    6940            1 :                               {
    6941            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6942            1 :                                 tree res = generic_simplify_339 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANHF, CFN_BUILT_IN_SINHF, CFN_BUILT_IN_COSHF);
    6943            1 :                                 if (res) return res;
    6944              :                               }
    6945              :                             }
    6946              :                         }
    6947              :                       break;
    6948              :                     default:;
    6949              :                     }
    6950              :                   break;
    6951              :                 default:;
    6952              :                 }
    6953              :             }
    6954              :           break;
    6955            1 :         case CFN_BUILT_IN_TANHL:
    6956            1 :           if (call_expr_nargs (_p0) == 1)
    6957              :     {
    6958            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6959            1 :               switch (TREE_CODE (_p1))
    6960              :                 {
    6961            1 :                 case CALL_EXPR:
    6962            1 :                   switch (get_call_combined_fn (_p1))
    6963              :                     {
    6964            1 :                     case CFN_BUILT_IN_SINHL:
    6965            1 :                       if (call_expr_nargs (_p1) == 1)
    6966              :     {
    6967            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6968            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6969              :                             {
    6970            1 :                               {
    6971            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6972            1 :                                 tree res = generic_simplify_339 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANHL, CFN_BUILT_IN_SINHL, CFN_BUILT_IN_COSHL);
    6973            1 :                                 if (res) return res;
    6974              :                               }
    6975              :                             }
    6976              :                         }
    6977              :                       break;
    6978              :                     default:;
    6979              :                     }
    6980              :                   break;
    6981              :                 default:;
    6982              :                 }
    6983              :             }
    6984              :           break;
    6985            2 :         case CFN_BUILT_IN_COS:
    6986            2 :           if (call_expr_nargs (_p0) == 1)
    6987              :     {
    6988            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6989            2 :               switch (TREE_CODE (_p1))
    6990              :                 {
    6991            2 :                 case CALL_EXPR:
    6992            2 :                   switch (get_call_combined_fn (_p1))
    6993              :                     {
    6994            2 :                     case CFN_BUILT_IN_SIN:
    6995            2 :                       if (call_expr_nargs (_p1) == 1)
    6996              :     {
    6997            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6998            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6999              :                             {
    7000            2 :                               {
    7001            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7002            2 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COS, CFN_BUILT_IN_SIN, CFN_BUILT_IN_TAN);
    7003            2 :                                 if (res) return res;
    7004              :                               }
    7005              :                             }
    7006              :                         }
    7007              :                       break;
    7008              :                     default:;
    7009              :                     }
    7010              :                   break;
    7011              :                 default:;
    7012              :                 }
    7013              :             }
    7014              :           break;
    7015            4 :         case CFN_BUILT_IN_POW:
    7016            4 :           if (call_expr_nargs (_p0) == 2)
    7017              :     {
    7018            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7019            4 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7020            4 :               switch (TREE_CODE (_q21))
    7021              :                 {
    7022            4 :                 case REAL_CST:
    7023            4 :                   {
    7024            4 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7025              :                       {
    7026            4 :                         {
    7027            4 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7028            4 :                           tree res = generic_simplify_342 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
    7029            4 :                           if (res) return res;
    7030              :                         }
    7031              :                       }
    7032              :                     break;
    7033              :                   }
    7034              :                 default:;
    7035              :                 }
    7036              :             }
    7037              :           break;
    7038           86 :         case CFN_BUILT_IN_SIN:
    7039           86 :           if (call_expr_nargs (_p0) == 1)
    7040              :     {
    7041           86 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7042           86 :               switch (TREE_CODE (_p1))
    7043              :                 {
    7044            4 :                 case CALL_EXPR:
    7045            4 :                   switch (get_call_combined_fn (_p1))
    7046              :                     {
    7047            2 :                     case CFN_BUILT_IN_COS:
    7048            2 :                       if (call_expr_nargs (_p1) == 1)
    7049              :     {
    7050            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7051            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7052              :                             {
    7053            2 :                               {
    7054            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7055            2 :                                 tree res = generic_simplify_336 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SIN, CFN_BUILT_IN_COS, CFN_BUILT_IN_TAN);
    7056            2 :                                 if (res) return res;
    7057              :                               }
    7058              :                             }
    7059              :                         }
    7060              :                       break;
    7061            2 :                     case CFN_BUILT_IN_TAN:
    7062            2 :                       if (call_expr_nargs (_p1) == 1)
    7063              :     {
    7064            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7065            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7066              :                             {
    7067            2 :                               {
    7068            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7069            2 :                                 tree res = generic_simplify_337 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SIN, CFN_BUILT_IN_TAN, CFN_BUILT_IN_COS);
    7070            2 :                                 if (res) return res;
    7071              :                               }
    7072              :                             }
    7073              :                         }
    7074              :                       break;
    7075              :                     default:;
    7076              :                     }
    7077              :                   break;
    7078              :                 default:;
    7079              :                 }
    7080              :             }
    7081              :           break;
    7082            2 :         case CFN_BUILT_IN_TAN:
    7083            2 :           if (call_expr_nargs (_p0) == 1)
    7084              :     {
    7085            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7086            2 :               switch (TREE_CODE (_p1))
    7087              :                 {
    7088            2 :                 case CALL_EXPR:
    7089            2 :                   switch (get_call_combined_fn (_p1))
    7090              :                     {
    7091            2 :                     case CFN_BUILT_IN_SIN:
    7092            2 :                       if (call_expr_nargs (_p1) == 1)
    7093              :     {
    7094            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7095            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7096              :                             {
    7097            2 :                               {
    7098            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7099            2 :                                 tree res = generic_simplify_341 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_SIN, CFN_BUILT_IN_COS);
    7100            2 :                                 if (res) return res;
    7101              :                               }
    7102              :                             }
    7103              :                         }
    7104              :                       break;
    7105              :                     default:;
    7106              :                     }
    7107              :                   break;
    7108              :                 default:;
    7109              :                 }
    7110              :             }
    7111              :           break;
    7112            2 :         case CFN_BUILT_IN_COSF:
    7113            2 :           if (call_expr_nargs (_p0) == 1)
    7114              :     {
    7115            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7116            2 :               switch (TREE_CODE (_p1))
    7117              :                 {
    7118            2 :                 case CALL_EXPR:
    7119            2 :                   switch (get_call_combined_fn (_p1))
    7120              :                     {
    7121            2 :                     case CFN_BUILT_IN_SINF:
    7122            2 :                       if (call_expr_nargs (_p1) == 1)
    7123              :     {
    7124            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7125            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7126              :                             {
    7127            2 :                               {
    7128            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7129            2 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COSF, CFN_BUILT_IN_SINF, CFN_BUILT_IN_TANF);
    7130            2 :                                 if (res) return res;
    7131              :                               }
    7132              :                             }
    7133              :                         }
    7134              :                       break;
    7135              :                     default:;
    7136              :                     }
    7137              :                   break;
    7138              :                 default:;
    7139              :                 }
    7140              :             }
    7141              :           break;
    7142            2 :         case CFN_BUILT_IN_COSL:
    7143            2 :           if (call_expr_nargs (_p0) == 1)
    7144              :     {
    7145            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7146            2 :               switch (TREE_CODE (_p1))
    7147              :                 {
    7148            2 :                 case CALL_EXPR:
    7149            2 :                   switch (get_call_combined_fn (_p1))
    7150              :                     {
    7151            2 :                     case CFN_BUILT_IN_SINL:
    7152            2 :                       if (call_expr_nargs (_p1) == 1)
    7153              :     {
    7154            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7155            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7156              :                             {
    7157            2 :                               {
    7158            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7159            2 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COSL, CFN_BUILT_IN_SINL, CFN_BUILT_IN_TANL);
    7160            2 :                                 if (res) return res;
    7161              :                               }
    7162              :                             }
    7163              :                         }
    7164              :                       break;
    7165              :                     default:;
    7166              :                     }
    7167              :                   break;
    7168              :                 default:;
    7169              :                 }
    7170              :             }
    7171              :           break;
    7172            1 :         case CFN_BUILT_IN_POWF:
    7173            1 :           if (call_expr_nargs (_p0) == 2)
    7174              :     {
    7175            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7176            1 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7177            1 :               switch (TREE_CODE (_q21))
    7178              :                 {
    7179            1 :                 case REAL_CST:
    7180            1 :                   {
    7181            1 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7182              :                       {
    7183            0 :                         {
    7184            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7185            0 :                           tree res = generic_simplify_342 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
    7186            0 :                           if (res) return res;
    7187              :                         }
    7188              :                       }
    7189              :                     break;
    7190              :                   }
    7191              :                 default:;
    7192              :                 }
    7193              :             }
    7194              :           break;
    7195            0 :         case CFN_BUILT_IN_POWL:
    7196            0 :           if (call_expr_nargs (_p0) == 2)
    7197              :     {
    7198            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7199            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7200            0 :               switch (TREE_CODE (_q21))
    7201              :                 {
    7202            0 :                 case REAL_CST:
    7203            0 :                   {
    7204            0 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7205              :                       {
    7206            0 :                         {
    7207            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7208            0 :                           tree res = generic_simplify_342 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
    7209            0 :                           if (res) return res;
    7210              :                         }
    7211              :                       }
    7212              :                     break;
    7213              :                   }
    7214              :                 default:;
    7215              :                 }
    7216              :             }
    7217              :           break;
    7218            4 :         case CFN_BUILT_IN_SINF:
    7219            4 :           if (call_expr_nargs (_p0) == 1)
    7220              :     {
    7221            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7222            4 :               switch (TREE_CODE (_p1))
    7223              :                 {
    7224            4 :                 case CALL_EXPR:
    7225            4 :                   switch (get_call_combined_fn (_p1))
    7226              :                     {
    7227            2 :                     case CFN_BUILT_IN_COSF:
    7228            2 :                       if (call_expr_nargs (_p1) == 1)
    7229              :     {
    7230            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7231            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7232              :                             {
    7233            2 :                               {
    7234            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7235            2 :                                 tree res = generic_simplify_336 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_TANF);
    7236            2 :                                 if (res) return res;
    7237              :                               }
    7238              :                             }
    7239              :                         }
    7240              :                       break;
    7241            2 :                     case CFN_BUILT_IN_TANF:
    7242            2 :                       if (call_expr_nargs (_p1) == 1)
    7243              :     {
    7244            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7245            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7246              :                             {
    7247            2 :                               {
    7248            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7249            2 :                                 tree res = generic_simplify_337 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINF, CFN_BUILT_IN_TANF, CFN_BUILT_IN_COSF);
    7250            2 :                                 if (res) return res;
    7251              :                               }
    7252              :                             }
    7253              :                         }
    7254              :                       break;
    7255              :                     default:;
    7256              :                     }
    7257              :                   break;
    7258              :                 default:;
    7259              :                 }
    7260              :             }
    7261              :           break;
    7262          135 :         case CFN_BUILT_IN_SINH:
    7263          135 :           if (call_expr_nargs (_p0) == 1)
    7264              :     {
    7265          135 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7266          135 :               switch (TREE_CODE (_p1))
    7267              :                 {
    7268            3 :                 case CALL_EXPR:
    7269            3 :                   switch (get_call_combined_fn (_p1))
    7270              :                     {
    7271            3 :                     case CFN_BUILT_IN_COSH:
    7272            3 :                       if (call_expr_nargs (_p1) == 1)
    7273              :     {
    7274            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7275            3 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7276              :                             {
    7277            3 :                               {
    7278            3 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7279            3 :                                 tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINH, CFN_BUILT_IN_COSH, CFN_BUILT_IN_TANH);
    7280            3 :                                 if (res) return res;
    7281              :                               }
    7282              :                             }
    7283              :                         }
    7284              :                       break;
    7285              :                     default:;
    7286              :                     }
    7287              :                   break;
    7288              :                 default:;
    7289              :                 }
    7290              :             }
    7291              :           break;
    7292            4 :         case CFN_BUILT_IN_SINL:
    7293            4 :           if (call_expr_nargs (_p0) == 1)
    7294              :     {
    7295            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7296            4 :               switch (TREE_CODE (_p1))
    7297              :                 {
    7298            4 :                 case CALL_EXPR:
    7299            4 :                   switch (get_call_combined_fn (_p1))
    7300              :                     {
    7301            2 :                     case CFN_BUILT_IN_COSL:
    7302            2 :                       if (call_expr_nargs (_p1) == 1)
    7303              :     {
    7304            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7305            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7306              :                             {
    7307            2 :                               {
    7308            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7309            2 :                                 tree res = generic_simplify_336 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_TANL);
    7310            2 :                                 if (res) return res;
    7311              :                               }
    7312              :                             }
    7313              :                         }
    7314              :                       break;
    7315            2 :                     case CFN_BUILT_IN_TANL:
    7316            2 :                       if (call_expr_nargs (_p1) == 1)
    7317              :     {
    7318            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7319            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7320              :                             {
    7321            2 :                               {
    7322            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7323            2 :                                 tree res = generic_simplify_337 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINL, CFN_BUILT_IN_TANL, CFN_BUILT_IN_COSL);
    7324            2 :                                 if (res) return res;
    7325              :                               }
    7326              :                             }
    7327              :                         }
    7328              :                       break;
    7329              :                     default:;
    7330              :                     }
    7331              :                   break;
    7332              :                 default:;
    7333              :                 }
    7334              :             }
    7335              :           break;
    7336            2 :         case CFN_BUILT_IN_TANF:
    7337            2 :           if (call_expr_nargs (_p0) == 1)
    7338              :     {
    7339            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7340            2 :               switch (TREE_CODE (_p1))
    7341              :                 {
    7342            2 :                 case CALL_EXPR:
    7343            2 :                   switch (get_call_combined_fn (_p1))
    7344              :                     {
    7345            2 :                     case CFN_BUILT_IN_SINF:
    7346            2 :                       if (call_expr_nargs (_p1) == 1)
    7347              :     {
    7348            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7349            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7350              :                             {
    7351            2 :                               {
    7352            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7353            2 :                                 tree res = generic_simplify_341 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_SINF, CFN_BUILT_IN_COSF);
    7354            2 :                                 if (res) return res;
    7355              :                               }
    7356              :                             }
    7357              :                         }
    7358              :                       break;
    7359              :                     default:;
    7360              :                     }
    7361              :                   break;
    7362              :                 default:;
    7363              :                 }
    7364              :             }
    7365              :           break;
    7366            1 :         case CFN_BUILT_IN_TANH:
    7367            1 :           if (call_expr_nargs (_p0) == 1)
    7368              :     {
    7369            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7370            1 :               switch (TREE_CODE (_p1))
    7371              :                 {
    7372            1 :                 case CALL_EXPR:
    7373            1 :                   switch (get_call_combined_fn (_p1))
    7374              :                     {
    7375            1 :                     case CFN_BUILT_IN_SINH:
    7376            1 :                       if (call_expr_nargs (_p1) == 1)
    7377              :     {
    7378            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7379            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7380              :                             {
    7381            1 :                               {
    7382            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7383            1 :                                 tree res = generic_simplify_339 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANH, CFN_BUILT_IN_SINH, CFN_BUILT_IN_COSH);
    7384            1 :                                 if (res) return res;
    7385              :                               }
    7386              :                             }
    7387              :                         }
    7388              :                       break;
    7389              :                     default:;
    7390              :                     }
    7391              :                   break;
    7392              :                 default:;
    7393              :                 }
    7394              :             }
    7395              :           break;
    7396            2 :         case CFN_BUILT_IN_TANL:
    7397            2 :           if (call_expr_nargs (_p0) == 1)
    7398              :     {
    7399            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7400            2 :               switch (TREE_CODE (_p1))
    7401              :                 {
    7402            2 :                 case CALL_EXPR:
    7403            2 :                   switch (get_call_combined_fn (_p1))
    7404              :                     {
    7405            2 :                     case CFN_BUILT_IN_SINL:
    7406            2 :                       if (call_expr_nargs (_p1) == 1)
    7407              :     {
    7408            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7409            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7410              :                             {
    7411            2 :                               {
    7412            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7413            2 :                                 tree res = generic_simplify_341 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_SINL, CFN_BUILT_IN_COSL);
    7414            2 :                                 if (res) return res;
    7415              :                               }
    7416              :                             }
    7417              :                         }
    7418              :                       break;
    7419              :                     default:;
    7420              :                     }
    7421              :                   break;
    7422              :                 default:;
    7423              :                 }
    7424              :             }
    7425              :           break;
    7426            0 :         case CFN_COS:
    7427            0 :           if (call_expr_nargs (_p0) == 1)
    7428              :     {
    7429            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7430            0 :               switch (TREE_CODE (_p1))
    7431              :                 {
    7432            0 :                 case CALL_EXPR:
    7433            0 :                   switch (get_call_combined_fn (_p1))
    7434              :                     {
    7435            0 :                     case CFN_SIN:
    7436            0 :                       if (call_expr_nargs (_p1) == 1)
    7437              :     {
    7438            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7439            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7440              :                             {
    7441            0 :                               {
    7442            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7443            0 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, CFN_COS, CFN_SIN, CFN_TAN);
    7444            0 :                                 if (res) return res;
    7445              :                               }
    7446              :                             }
    7447              :                         }
    7448              :                       break;
    7449              :                     default:;
    7450              :                     }
    7451              :                   break;
    7452              :                 default:;
    7453              :                 }
    7454              :             }
    7455              :           break;
    7456            0 :         case CFN_POW:
    7457            0 :           if (call_expr_nargs (_p0) == 2)
    7458              :     {
    7459            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7460            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7461            0 :               switch (TREE_CODE (_q21))
    7462              :                 {
    7463            0 :                 case REAL_CST:
    7464            0 :                   {
    7465            0 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7466              :                       {
    7467            0 :                         {
    7468            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7469            0 :                           tree res = generic_simplify_342 (loc, type, _p0, _p1, captures, CFN_POW);
    7470            0 :                           if (res) return res;
    7471              :                         }
    7472              :                       }
    7473              :                     break;
    7474              :                   }
    7475              :                 default:;
    7476              :                 }
    7477              :             }
    7478              :           break;
    7479            0 :         case CFN_SIN:
    7480            0 :           if (call_expr_nargs (_p0) == 1)
    7481              :     {
    7482            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7483            0 :               switch (TREE_CODE (_p1))
    7484              :                 {
    7485            0 :                 case CALL_EXPR:
    7486            0 :                   switch (get_call_combined_fn (_p1))
    7487              :                     {
    7488            0 :                     case CFN_COS:
    7489            0 :                       if (call_expr_nargs (_p1) == 1)
    7490              :     {
    7491            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7492            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7493              :                             {
    7494            0 :                               {
    7495            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7496            0 :                                 tree res = generic_simplify_336 (loc, type, _p0, _p1, captures, CFN_SIN, CFN_COS, CFN_TAN);
    7497            0 :                                 if (res) return res;
    7498              :                               }
    7499              :                             }
    7500              :                         }
    7501              :                       break;
    7502            0 :                     case CFN_TAN:
    7503            0 :                       if (call_expr_nargs (_p1) == 1)
    7504              :     {
    7505            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7506            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7507              :                             {
    7508            0 :                               {
    7509            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7510            0 :                                 tree res = generic_simplify_337 (loc, type, _p0, _p1, captures, CFN_SIN, CFN_TAN, CFN_COS);
    7511            0 :                                 if (res) return res;
    7512              :                               }
    7513              :                             }
    7514              :                         }
    7515              :                       break;
    7516              :                     default:;
    7517              :                     }
    7518              :                   break;
    7519              :                 default:;
    7520              :                 }
    7521              :             }
    7522              :           break;
    7523            0 :         case CFN_TAN:
    7524            0 :           if (call_expr_nargs (_p0) == 1)
    7525              :     {
    7526            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7527            0 :               switch (TREE_CODE (_p1))
    7528              :                 {
    7529            0 :                 case CALL_EXPR:
    7530            0 :                   switch (get_call_combined_fn (_p1))
    7531              :                     {
    7532            0 :                     case CFN_SIN:
    7533            0 :                       if (call_expr_nargs (_p1) == 1)
    7534              :     {
    7535            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7536            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7537              :                             {
    7538            0 :                               {
    7539            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7540            0 :                                 tree res = generic_simplify_341 (loc, type, _p0, _p1, captures, CFN_TAN, CFN_SIN, CFN_COS);
    7541            0 :                                 if (res) return res;
    7542              :                               }
    7543              :                             }
    7544              :                         }
    7545              :                       break;
    7546              :                     default:;
    7547              :                     }
    7548              :                   break;
    7549              :                 default:;
    7550              :                 }
    7551              :             }
    7552              :           break;
    7553            0 :         case CFN_SINH:
    7554            0 :           if (call_expr_nargs (_p0) == 1)
    7555              :     {
    7556            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7557            0 :               switch (TREE_CODE (_p1))
    7558              :                 {
    7559            0 :                 case CALL_EXPR:
    7560            0 :                   switch (get_call_combined_fn (_p1))
    7561              :                     {
    7562            0 :                     case CFN_COSH:
    7563            0 :                       if (call_expr_nargs (_p1) == 1)
    7564              :     {
    7565            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7566            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7567              :                             {
    7568            0 :                               {
    7569            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7570            0 :                                 tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, CFN_SINH, CFN_COSH, CFN_TANH);
    7571            0 :                                 if (res) return res;
    7572              :                               }
    7573              :                             }
    7574              :                         }
    7575              :                       break;
    7576              :                     default:;
    7577              :                     }
    7578              :                   break;
    7579              :                 default:;
    7580              :                 }
    7581              :             }
    7582              :           break;
    7583            0 :         case CFN_TANH:
    7584            0 :           if (call_expr_nargs (_p0) == 1)
    7585              :     {
    7586            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7587            0 :               switch (TREE_CODE (_p1))
    7588              :                 {
    7589            0 :                 case CALL_EXPR:
    7590            0 :                   switch (get_call_combined_fn (_p1))
    7591              :                     {
    7592            0 :                     case CFN_SINH:
    7593            0 :                       if (call_expr_nargs (_p1) == 1)
    7594              :     {
    7595            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7596            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7597              :                             {
    7598            0 :                               {
    7599            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7600            0 :                                 tree res = generic_simplify_339 (loc, type, _p0, _p1, captures, CFN_TANH, CFN_SINH, CFN_COSH);
    7601            0 :                                 if (res) return res;
    7602              :                               }
    7603              :                             }
    7604              :                         }
    7605              :                       break;
    7606              :                     default:;
    7607              :                     }
    7608              :                   break;
    7609              :                 default:;
    7610              :                 }
    7611              :             }
    7612              :           break;
    7613              :         default:;
    7614              :         }
    7615              :       break;
    7616      5848766 :     default:;
    7617              :     }
    7618      5848766 :   switch (TREE_CODE (_p1))
    7619              :     {
    7620       783907 :     case CALL_EXPR:
    7621       783907 :       switch (get_call_combined_fn (_p1))
    7622              :         {
    7623           22 :         case CFN_BUILT_IN_POW:
    7624           22 :           if (call_expr_nargs (_p1) == 2)
    7625              :     {
    7626           22 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7627           22 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7628           22 :               {
    7629           22 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7630           22 :                 tree res = generic_simplify_343 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
    7631           22 :                 if (res) return res;
    7632              :               }
    7633              :             }
    7634              :           break;
    7635            2 :         case CFN_BUILT_IN_POWF:
    7636            2 :           if (call_expr_nargs (_p1) == 2)
    7637              :     {
    7638            2 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7639            2 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7640            2 :               {
    7641            2 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7642            2 :                 tree res = generic_simplify_343 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
    7643            2 :                 if (res) return res;
    7644              :               }
    7645              :             }
    7646              :           break;
    7647            0 :         case CFN_BUILT_IN_POWL:
    7648            0 :           if (call_expr_nargs (_p1) == 2)
    7649              :     {
    7650            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7651            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7652            0 :               {
    7653            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7654            0 :                 tree res = generic_simplify_343 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
    7655            0 :                 if (res) return res;
    7656              :               }
    7657              :             }
    7658              :           break;
    7659            0 :         case CFN_POW:
    7660            0 :           if (call_expr_nargs (_p1) == 2)
    7661              :     {
    7662            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7663            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7664            0 :               {
    7665            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7666            0 :                 tree res = generic_simplify_343 (loc, type, _p0, _p1, captures, CFN_POW);
    7667            0 :                 if (res) return res;
    7668              :               }
    7669              :             }
    7670              :           break;
    7671              :         default:;
    7672              :         }
    7673              :       break;
    7674              :     default:;
    7675              :     }
    7676              :   return NULL_TREE;
    7677              : }
    7678              : 
    7679              : tree
    7680      6620187 : generic_simplify_GE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    7681              : {
    7682      6620187 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    7683      6620187 :   switch (TREE_CODE (_p0))
    7684              :     {
    7685         2001 :     case RDIV_EXPR:
    7686         2001 :       {
    7687         2001 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7688         2001 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7689         2001 :         switch (TREE_CODE (_q20))
    7690              :           {
    7691           46 :           case REAL_CST:
    7692           46 :             {
    7693           46 :               if (real_zerop (_p1))
    7694              :                 {
    7695            2 :                   {
    7696            2 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7697            2 :                     tree res = generic_simplify_377 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    7698            2 :                     if (res) return res;
    7699              :                   }
    7700              :                 }
    7701              :               break;
    7702              :             }
    7703              :           default:;
    7704              :           }
    7705              :         break;
    7706              :       }
    7707         1209 :     case TRUNC_MOD_EXPR:
    7708         1209 :       {
    7709         1209 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7710         1209 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7711         1209 :         if (tree_expr_nonnegative_p (_q20))
    7712              :           {
    7713          883 :             if (tree_expr_nonnegative_p (_q21))
    7714              :               {
    7715          835 :                 if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7716              :                   {
    7717            0 :                     {
    7718            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7719            0 :                       tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, GE_EXPR);
    7720            0 :                       if (res) return res;
    7721              :                     }
    7722              :                   }
    7723              :               }
    7724              :           }
    7725              :         break;
    7726              :       }
    7727        31312 :     case MULT_EXPR:
    7728        31312 :       {
    7729        31312 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7730        31312 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7731        31312 :         switch (TREE_CODE (_p1))
    7732              :           {
    7733         6844 :           case MULT_EXPR:
    7734         6844 :             {
    7735         6844 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7736         6844 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7737         6844 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7738              :                 {
    7739         4854 :                   {
    7740         4854 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7741         4854 :                     tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, GE_EXPR);
    7742         4854 :                     if (res) return res;
    7743              :                   }
    7744              :                 }
    7745         2551 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7746              :                 {
    7747            0 :                   {
    7748            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7749            0 :                     tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, GE_EXPR);
    7750            0 :                     if (res) return res;
    7751              :                   }
    7752              :                 }
    7753         2551 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7754              :                 {
    7755            0 :                   {
    7756            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    7757            0 :                     tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, GE_EXPR);
    7758            0 :                     if (res) return res;
    7759              :                   }
    7760              :                 }
    7761         2551 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7762              :                 {
    7763            1 :                   {
    7764            1 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    7765            1 :                     tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, GE_EXPR);
    7766            1 :                     if (res) return res;
    7767              :                   }
    7768              :                 }
    7769              :               break;
    7770              :             }
    7771              :           default:;
    7772              :           }
    7773              :         break;
    7774              :       }
    7775      1000984 :     CASE_CONVERT:
    7776      1000984 :       {
    7777      1000984 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7778      1000984 :         switch (TREE_CODE (_q20))
    7779              :           {
    7780          157 :           case EXACT_DIV_EXPR:
    7781          157 :             {
    7782          157 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7783          157 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7784          157 :               switch (TREE_CODE (_q31))
    7785              :                 {
    7786          157 :                 case INTEGER_CST:
    7787          157 :                   {
    7788          157 :                     switch (TREE_CODE (_p1))
    7789              :                       {
    7790           43 :                       CASE_CONVERT:
    7791           43 :                         {
    7792           43 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    7793           43 :                           switch (TREE_CODE (_q60))
    7794              :                             {
    7795            0 :                             case EXACT_DIV_EXPR:
    7796            0 :                               {
    7797            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    7798            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    7799            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    7800              :                                   {
    7801            0 :                                     {
    7802            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    7803            0 :                                       tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, GE_EXPR);
    7804            0 :                                       if (res) return res;
    7805              :                                     }
    7806              :                                   }
    7807              :                                 break;
    7808              :                               }
    7809              :                             default:;
    7810              :                             }
    7811              :                           break;
    7812              :                         }
    7813              :                       default:;
    7814              :                       }
    7815              :                     break;
    7816              :                   }
    7817              :                 default:;
    7818              :                 }
    7819              :               break;
    7820              :             }
    7821              :           default:;
    7822              :           }
    7823              :         break;
    7824              :       }
    7825         8045 :     case EXACT_DIV_EXPR:
    7826         8045 :       {
    7827         8045 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7828         8045 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7829         8045 :         switch (TREE_CODE (_q21))
    7830              :           {
    7831         8045 :           case INTEGER_CST:
    7832         8045 :             {
    7833         8045 :               switch (TREE_CODE (_p1))
    7834              :                 {
    7835            0 :                 case EXACT_DIV_EXPR:
    7836            0 :                   {
    7837            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7838            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    7839            0 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7840              :                       {
    7841            0 :                         {
    7842            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    7843            0 :                           tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, GE_EXPR);
    7844            0 :                           if (res) return res;
    7845              :                         }
    7846              :                       }
    7847              :                     break;
    7848              :                   }
    7849              :                 default:;
    7850              :                 }
    7851              :               break;
    7852              :             }
    7853              :           default:;
    7854              :           }
    7855              :         break;
    7856              :       }
    7857        40885 :     case TRUNC_DIV_EXPR:
    7858        40885 :       {
    7859        40885 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7860        40885 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7861        40885 :         switch (TREE_CODE (_q21))
    7862              :           {
    7863        40347 :           case INTEGER_CST:
    7864        40347 :             {
    7865        40347 :               switch (TREE_CODE (_p1))
    7866              :                 {
    7867        39429 :                 case INTEGER_CST:
    7868        39429 :                   {
    7869        39429 :                     {
    7870        39429 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7871        39429 :                       tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, GE_EXPR);
    7872        39429 :                       if (res) return res;
    7873              :                     }
    7874            0 :                     break;
    7875              :                   }
    7876              :                 default:;
    7877              :                 }
    7878              :               break;
    7879              :             }
    7880              :           default:;
    7881              :           }
    7882              :         break;
    7883              :       }
    7884       792100 :     case PLUS_EXPR:
    7885       792100 :       {
    7886       792100 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7887       792100 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7888       792100 :         switch (TREE_CODE (_p1))
    7889              :           {
    7890        52354 :           case PLUS_EXPR:
    7891        52354 :             {
    7892        52354 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7893        52354 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7894        52354 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7895              :                 {
    7896         1451 :                   {
    7897         1451 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7898         1451 :                     tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, GE_EXPR);
    7899         1451 :                     if (res) return res;
    7900              :                   }
    7901              :                 }
    7902        52354 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7903              :                 {
    7904           17 :                   {
    7905           17 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7906           17 :                     tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, GE_EXPR);
    7907           17 :                     if (res) return res;
    7908              :                   }
    7909              :                 }
    7910        52354 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7911              :                 {
    7912           16 :                   {
    7913           16 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    7914           16 :                     tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, GE_EXPR);
    7915           16 :                     if (res) return res;
    7916              :                   }
    7917              :                 }
    7918        52354 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7919              :                 {
    7920          987 :                   {
    7921          987 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    7922          987 :                     tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, GE_EXPR);
    7923          987 :                     if (res) return res;
    7924              :                   }
    7925              :                 }
    7926              :               break;
    7927              :             }
    7928       792047 :           default:;
    7929              :           }
    7930       792047 :         switch (TREE_CODE (_q21))
    7931              :           {
    7932       679571 :           case INTEGER_CST:
    7933       679571 :             {
    7934       679571 :               switch (TREE_CODE (_p1))
    7935              :                 {
    7936        15228 :                 case PLUS_EXPR:
    7937        15228 :                   {
    7938        15228 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7939        15228 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    7940        15228 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7941              :                       {
    7942         1447 :                         {
    7943         1447 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7944         1447 :                           tree res = generic_simplify_381 (loc, type, _p0, _p1, captures, GE_EXPR);
    7945         1447 :                           if (res) return res;
    7946              :                         }
    7947              :                       }
    7948              :                     break;
    7949              :                   }
    7950              :                 default:;
    7951              :                 }
    7952              :               break;
    7953              :             }
    7954       792047 :           default:;
    7955              :           }
    7956       792047 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7957              :           {
    7958        54339 :             {
    7959        54339 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7960        54339 :               tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, GE_EXPR);
    7961        54339 :               if (res) return res;
    7962              :             }
    7963              :           }
    7964       757389 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7965              :           {
    7966        24596 :             {
    7967        24596 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    7968        24596 :               tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, GE_EXPR);
    7969        24596 :               if (res) return res;
    7970              :             }
    7971              :           }
    7972              :         break;
    7973              :       }
    7974       121845 :     case MINUS_EXPR:
    7975       121845 :       {
    7976       121845 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7977       121845 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7978       121845 :         switch (TREE_CODE (_p1))
    7979              :           {
    7980         1407 :           case MINUS_EXPR:
    7981         1407 :             {
    7982         1407 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7983         1407 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7984         1407 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7985              :                 {
    7986           14 :                   {
    7987           14 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7988           14 :                     tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, GE_EXPR);
    7989           14 :                     if (res) return res;
    7990              :                   }
    7991              :                 }
    7992         1407 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7993              :                 {
    7994           22 :                   {
    7995           22 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7996           22 :                     tree res = generic_simplify_384 (loc, type, _p0, _p1, captures, GE_EXPR);
    7997           22 :                     if (res) return res;
    7998              :                   }
    7999              :                 }
    8000              :               break;
    8001              :             }
    8002              :           default:;
    8003              :           }
    8004              :         break;
    8005              :       }
    8006         2367 :     case POINTER_DIFF_EXPR:
    8007         2367 :       {
    8008         2367 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8009         2367 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8010         2367 :         switch (TREE_CODE (_p1))
    8011              :           {
    8012           32 :           case POINTER_DIFF_EXPR:
    8013           32 :             {
    8014           32 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8015           32 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8016           32 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8017              :                 {
    8018            0 :                   {
    8019            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    8020            0 :                     tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, GE_EXPR);
    8021            0 :                     if (res) return res;
    8022              :                   }
    8023              :                 }
    8024           32 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8025              :                 {
    8026            0 :                   {
    8027            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    8028            0 :                     tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, GE_EXPR);
    8029            0 :                     if (res) return res;
    8030              :                   }
    8031              :                 }
    8032              :               break;
    8033              :             }
    8034              :           default:;
    8035              :           }
    8036              :         break;
    8037              :       }
    8038      6538175 :     default:;
    8039              :     }
    8040      6538175 :   switch (TREE_CODE (_p1))
    8041              :     {
    8042        59135 :     case PLUS_EXPR:
    8043        59135 :       {
    8044        59135 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8045        59135 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8046        59135 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8047              :           {
    8048            0 :             {
    8049            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    8050            0 :               tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, LE_EXPR);
    8051            0 :               if (res) return res;
    8052              :             }
    8053              :           }
    8054        59135 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8055              :           {
    8056            0 :             {
    8057            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    8058            0 :               tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, LE_EXPR);
    8059            0 :               if (res) return res;
    8060              :             }
    8061              :           }
    8062              :         break;
    8063              :       }
    8064         2398 :     case MINUS_EXPR:
    8065         2398 :       {
    8066         2398 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8067         2398 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8068         2398 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8069              :           {
    8070            0 :             {
    8071            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    8072            0 :               tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, GE_EXPR);
    8073            0 :               if (res) return res;
    8074              :             }
    8075              :           }
    8076              :         break;
    8077              :       }
    8078      6538175 :     default:;
    8079              :     }
    8080      6538175 :   switch (TREE_CODE (_p0))
    8081              :     {
    8082       121845 :     case MINUS_EXPR:
    8083       121845 :       {
    8084       121845 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8085       121845 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8086       121845 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8087              :           {
    8088         2476 :             {
    8089         2476 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    8090         2476 :               tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, LE_EXPR);
    8091         2476 :               if (res) return res;
    8092              :             }
    8093              :           }
    8094              :         break;
    8095              :       }
    8096         1047 :     case BIT_IOR_EXPR:
    8097         1047 :       {
    8098         1047 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8099         1047 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8100         1047 :         if (tree_expr_nonnegative_p (_q20))
    8101              :           {
    8102          222 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8103              :               {
    8104            0 :                 {
    8105            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8106            0 :                   tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, GE_EXPR, BIT_IOR_EXPR);
    8107            0 :                   if (res) return res;
    8108              :                 }
    8109              :               }
    8110              :           }
    8111         1047 :         if (tree_expr_nonnegative_p (_q21))
    8112              :           {
    8113          296 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8114              :               {
    8115            0 :                 {
    8116            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8117            0 :                   tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, GE_EXPR, BIT_IOR_EXPR);
    8118            0 :                   if (res) return res;
    8119              :                 }
    8120              :               }
    8121              :           }
    8122              :         break;
    8123              :       }
    8124      6538174 :     default:;
    8125              :     }
    8126      6538174 :   switch (TREE_CODE (_p1))
    8127              :     {
    8128          195 :     case BIT_AND_EXPR:
    8129          195 :       {
    8130          195 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8131          195 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8132          195 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8133              :           {
    8134            0 :             if (tree_expr_nonnegative_p (_q30))
    8135              :               {
    8136            0 :                 {
    8137            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    8138            0 :                   tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, LE_EXPR, BIT_AND_EXPR);
    8139            0 :                   if (res) return res;
    8140              :                 }
    8141              :               }
    8142              :           }
    8143          195 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8144              :           {
    8145            0 :             if (tree_expr_nonnegative_p (_q31))
    8146              :               {
    8147            0 :                 {
    8148            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8149            0 :                   tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, LE_EXPR, BIT_AND_EXPR);
    8150            0 :                   if (res) return res;
    8151              :                 }
    8152              :               }
    8153              :           }
    8154              :         break;
    8155              :       }
    8156      6538174 :     default:;
    8157              :     }
    8158      6538174 :   switch (TREE_CODE (_p0))
    8159              :     {
    8160          851 :     case MAX_EXPR:
    8161          851 :       {
    8162          851 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8163          851 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8164          851 :         switch (TREE_CODE (_p1))
    8165              :           {
    8166            0 :           case MIN_EXPR:
    8167            0 :             {
    8168            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8169            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8170            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8171              :                 {
    8172            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8173              :                     {
    8174            0 :                       {
    8175            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8176            0 :                         tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, LE_EXPR);
    8177            0 :                         if (res) return res;
    8178              :                       }
    8179              :                     }
    8180              :                 }
    8181              :               break;
    8182              :             }
    8183              :           default:;
    8184              :           }
    8185              :         break;
    8186              :       }
    8187         2968 :     case MIN_EXPR:
    8188         2968 :       {
    8189         2968 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8190         2968 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8191         2968 :         switch (TREE_CODE (_p1))
    8192              :           {
    8193           27 :           case MAX_EXPR:
    8194           27 :             {
    8195           27 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8196           27 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8197           27 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8198              :                 {
    8199            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8200              :                     {
    8201            0 :                       {
    8202            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8203            0 :                         tree res = generic_simplify_387 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    8204            0 :                         if (res) return res;
    8205              :                       }
    8206              :                     }
    8207              :                 }
    8208              :               break;
    8209              :             }
    8210         2968 :           default:;
    8211              :           }
    8212         2968 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8213              :           {
    8214            0 :             {
    8215            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8216            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR, LE_EXPR);
    8217            0 :               if (res) return res;
    8218              :             }
    8219              :           }
    8220         2968 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8221              :           {
    8222            1 :             {
    8223            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8224            1 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR, LE_EXPR);
    8225            1 :               if (res) return res;
    8226              :             }
    8227              :           }
    8228              :         break;
    8229              :       }
    8230      6538173 :     default:;
    8231              :     }
    8232      6538173 :   switch (TREE_CODE (_p1))
    8233              :     {
    8234          204 :     case MAX_EXPR:
    8235          204 :       {
    8236          204 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8237          204 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8238          204 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8239              :           {
    8240            0 :             {
    8241            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    8242            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR, GE_EXPR);
    8243            0 :               if (res) return res;
    8244              :             }
    8245              :           }
    8246          204 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8247              :           {
    8248            0 :             {
    8249            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8250            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR, GE_EXPR);
    8251            0 :               if (res) return res;
    8252              :             }
    8253              :           }
    8254              :         break;
    8255              :       }
    8256         1671 :     case MIN_EXPR:
    8257         1671 :       {
    8258         1671 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8259         1671 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8260         1671 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8261              :           {
    8262            0 :             {
    8263            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    8264            0 :               tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR);
    8265            0 :               if (res) return res;
    8266              :             }
    8267              :           }
    8268         1671 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8269              :           {
    8270            0 :             {
    8271            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8272            0 :               tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR);
    8273            0 :               if (res) return res;
    8274              :             }
    8275              :           }
    8276              :         break;
    8277              :       }
    8278      6538173 :     default:;
    8279              :     }
    8280      6538173 :   switch (TREE_CODE (_p0))
    8281              :     {
    8282          851 :     case MAX_EXPR:
    8283          851 :       {
    8284          851 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8285          851 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8286          851 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8287              :           {
    8288            0 :             {
    8289            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8290            0 :               tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR);
    8291            0 :               if (res) return res;
    8292              :             }
    8293              :           }
    8294          851 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8295              :           {
    8296            2 :             {
    8297            2 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8298            2 :               tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR);
    8299            2 :               if (res) return res;
    8300              :             }
    8301              :           }
    8302          849 :         switch (TREE_CODE (_q21))
    8303              :           {
    8304          773 :           case INTEGER_CST:
    8305          773 :             {
    8306          773 :               switch (TREE_CODE (_p1))
    8307              :                 {
    8308            0 :                 case INTEGER_CST:
    8309            0 :                   {
    8310            0 :                     {
    8311            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8312            0 :                       tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, MAX_EXPR, GE_EXPR, BIT_IOR_EXPR);
    8313            0 :                       if (res) return res;
    8314              :                     }
    8315            0 :                     break;
    8316              :                   }
    8317              :                 default:;
    8318              :                 }
    8319              :               break;
    8320              :             }
    8321              :           default:;
    8322              :           }
    8323              :         break;
    8324              :       }
    8325         2967 :     case MIN_EXPR:
    8326         2967 :       {
    8327         2967 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8328         2967 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8329         2967 :         switch (TREE_CODE (_q21))
    8330              :           {
    8331          996 :           case INTEGER_CST:
    8332          996 :             {
    8333          996 :               switch (TREE_CODE (_p1))
    8334              :                 {
    8335            0 :                 case INTEGER_CST:
    8336            0 :                   {
    8337            0 :                     {
    8338            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8339            0 :                       tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR, BIT_AND_EXPR);
    8340            0 :                       if (res) return res;
    8341              :                     }
    8342            0 :                     break;
    8343              :                   }
    8344              :                 default:;
    8345              :                 }
    8346              :               break;
    8347              :             }
    8348              :           default:;
    8349              :           }
    8350              :         break;
    8351              :       }
    8352      1000984 :     CASE_CONVERT:
    8353      1000984 :       {
    8354      1000984 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8355      1000984 :         switch (TREE_CODE (_q20))
    8356              :           {
    8357            0 :           case GE_EXPR:
    8358            0 :             {
    8359            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8360            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8361            0 :               if (tree_zero_one_valued_p (_q30))
    8362              :                 {
    8363            0 :                   if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    8364              :                     {
    8365            0 :                       {
    8366            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    8367            0 :                         tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, GE_EXPR);
    8368            0 :                         if (res) return res;
    8369              :                       }
    8370              :                     }
    8371              :                 }
    8372              :               break;
    8373              :             }
    8374              :           default:;
    8375              :           }
    8376              :         break;
    8377              :       }
    8378           41 :     case GE_EXPR:
    8379           41 :       {
    8380           41 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8381           41 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8382           41 :         if (tree_zero_one_valued_p (_q20))
    8383              :           {
    8384           15 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8385              :               {
    8386            3 :                 {
    8387            3 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8388            3 :                   tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, GE_EXPR);
    8389            3 :                   if (res) return res;
    8390              :                 }
    8391              :               }
    8392              :           }
    8393              :         break;
    8394              :       }
    8395            6 :     case VEC_COND_EXPR:
    8396            6 :       {
    8397            6 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8398            6 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8399            6 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8400            6 :         switch (TREE_CODE (_p1))
    8401              :           {
    8402            0 :           case VEC_COND_EXPR:
    8403            0 :             {
    8404            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8405            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8406            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8407            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    8408              :                 {
    8409            0 :                   {
    8410            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    8411            0 :                     if (VECTOR_TYPE_P (type)
    8412            0 :  && (TREE_CODE_CLASS (GE_EXPR) != tcc_comparison
    8413            0 :  || types_match (type, TREE_TYPE (captures[2]))
    8414            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8415              :  || (optimize_vectors_before_lowering_p ()
    8416            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8417              : )
    8418              :                       {
    8419            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1646;
    8420            0 :                         {
    8421            0 :                           tree res_op0;
    8422            0 :                           res_op0 = captures[1];
    8423            0 :                           tree res_op1;
    8424            0 :                           {
    8425            0 :                             tree _o1[2], _r1;
    8426            0 :                             _o1[0] = captures[2];
    8427            0 :                             _o1[1] = captures[5];
    8428            0 :                             _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8429            0 :                             if (EXPR_P (_r1))
    8430            0 :                               goto next_after_fail1646;
    8431            0 :                             res_op1 = _r1;
    8432              :                           }
    8433            0 :                           tree res_op2;
    8434            0 :                           {
    8435            0 :                             tree _o1[2], _r1;
    8436            0 :                             _o1[0] = captures[3];
    8437            0 :                             _o1[1] = captures[6];
    8438            0 :                             _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8439            0 :                             if (EXPR_P (_r1))
    8440            0 :                               goto next_after_fail1646;
    8441            0 :                             res_op2 = _r1;
    8442              :                           }
    8443            0 :                           tree _r;
    8444            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8445            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    8446            0 :                           return _r;
    8447              :                         }
    8448            0 : next_after_fail1646:;
    8449              :                       }
    8450              :                   }
    8451              :                 }
    8452              :               break;
    8453              :             }
    8454            6 :           default:;
    8455              :           }
    8456            6 :         {
    8457            6 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    8458            6 :           if (VECTOR_TYPE_P (type)
    8459            6 :  && (TREE_CODE_CLASS (GE_EXPR) != tcc_comparison
    8460            6 :  || types_match (type, TREE_TYPE (captures[2]))
    8461            6 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8462              :  || (optimize_vectors_before_lowering_p ()
    8463            2 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8464              : )
    8465              :             {
    8466            6 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1647;
    8467            6 :               {
    8468            6 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1647;
    8469            5 :                 tree res_op0;
    8470            5 :                 res_op0 = captures[1];
    8471            5 :                 tree res_op1;
    8472            5 :                 {
    8473            5 :                   tree _o1[2], _r1;
    8474            5 :                   _o1[0] = captures[2];
    8475            5 :                   _o1[1] = unshare_expr (captures[4]);
    8476            5 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8477            5 :                   if (EXPR_P (_r1))
    8478            1 :                     goto next_after_fail1647;
    8479            4 :                   res_op1 = _r1;
    8480              :                 }
    8481            4 :                 tree res_op2;
    8482            4 :                 {
    8483            4 :                   tree _o1[2], _r1;
    8484            4 :                   _o1[0] = captures[3];
    8485            4 :                   _o1[1] = captures[4];
    8486            4 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8487            4 :                   if (EXPR_P (_r1))
    8488            0 :                     goto next_after_fail1647;
    8489            4 :                   res_op2 = _r1;
    8490              :                 }
    8491            4 :                 tree _r;
    8492            4 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8493            4 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    8494            4 :                 return _r;
    8495              :               }
    8496            2 : next_after_fail1647:;
    8497              :             }
    8498              :         }
    8499            2 :         break;
    8500              :       }
    8501      6538164 :     default:;
    8502              :     }
    8503      6538164 :   switch (TREE_CODE (_p1))
    8504              :     {
    8505            0 :     case VEC_COND_EXPR:
    8506            0 :       {
    8507            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8508            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8509            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8510            0 :         {
    8511            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8512            0 :           if (VECTOR_TYPE_P (type)
    8513            0 :  && (TREE_CODE_CLASS (GE_EXPR) != tcc_comparison
    8514            0 :  || types_match (type, TREE_TYPE (captures[3]))
    8515            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    8516              :  || (optimize_vectors_before_lowering_p ()
    8517            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    8518              : )
    8519              :             {
    8520            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1648;
    8521            0 :               {
    8522            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1648;
    8523            0 :                 tree res_op0;
    8524            0 :                 res_op0 = captures[2];
    8525            0 :                 tree res_op1;
    8526            0 :                 {
    8527            0 :                   tree _o1[2], _r1;
    8528            0 :                   _o1[0] = unshare_expr (captures[0]);
    8529            0 :                   _o1[1] = captures[3];
    8530            0 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8531            0 :                   if (EXPR_P (_r1))
    8532            0 :                     goto next_after_fail1648;
    8533            0 :                   res_op1 = _r1;
    8534              :                 }
    8535            0 :                 tree res_op2;
    8536            0 :                 {
    8537            0 :                   tree _o1[2], _r1;
    8538            0 :                   _o1[0] = captures[0];
    8539            0 :                   _o1[1] = captures[4];
    8540            0 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8541            0 :                   if (EXPR_P (_r1))
    8542            0 :                     goto next_after_fail1648;
    8543            0 :                   res_op2 = _r1;
    8544              :                 }
    8545            0 :                 tree _r;
    8546            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8547            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
    8548            0 :                 return _r;
    8549              :               }
    8550            0 : next_after_fail1648:;
    8551              :             }
    8552              :         }
    8553            0 :         break;
    8554              :       }
    8555      6538164 :     default:;
    8556              :     }
    8557      6538164 : if (uniform_integer_cst_p (_p1))
    8558              :   {
    8559      3308672 :     {
    8560      3308672 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8561      3308672 :       tree res = generic_simplify_391 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
    8562      3308672 :       if (res) return res;
    8563              :     }
    8564              :   }
    8565      5046626 :   switch (TREE_CODE (_p0))
    8566              :     {
    8567        23352 :     case MULT_EXPR:
    8568        23352 :       {
    8569        23352 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8570        23352 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8571        23352 :         switch (TREE_CODE (_q21))
    8572              :           {
    8573        19437 :           case INTEGER_CST:
    8574        19437 :             {
    8575        19437 :               if (integer_zerop (_p1))
    8576              :                 {
    8577         2752 :                   {
    8578         2752 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8579         2752 :                     tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8580         2752 :                     if (res) return res;
    8581              :                   }
    8582              :                 }
    8583              :               break;
    8584              :             }
    8585              :           default:;
    8586              :           }
    8587              :         break;
    8588              :       }
    8589      5046332 :     default:;
    8590              :     }
    8591      5046332 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8592              :     {
    8593        38440 :       {
    8594        38440 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8595        38440 :         tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, GE_EXPR);
    8596        38440 :         if (res) return res;
    8597              :       }
    8598              :     }
    8599      5007929 :   switch (TREE_CODE (_p0))
    8600              :     {
    8601          418 :     case BIT_NOT_EXPR:
    8602          418 :       {
    8603          418 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8604          418 :         switch (TREE_CODE (_p1))
    8605              :           {
    8606            1 :           case BIT_NOT_EXPR:
    8607            1 :             {
    8608            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8609            1 :               {
    8610            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    8611            1 :                 tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, GE_EXPR);
    8612            1 :                 if (res) return res;
    8613              :               }
    8614            0 :               break;
    8615              :             }
    8616          417 :           default:;
    8617              :           }
    8618          417 :       {
    8619          417 :         tree _p1_pops[1];
    8620          417 :         if (tree_nop_convert (_p1, _p1_pops))
    8621              :           {
    8622           50 :             tree _q40 = _p1_pops[0];
    8623           50 :             switch (TREE_CODE (_q40))
    8624              :               {
    8625            0 :               case BIT_NOT_EXPR:
    8626            0 :                 {
    8627            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    8628            0 :                   {
    8629            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    8630            0 :                     tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, GE_EXPR);
    8631            0 :                     if (res) return res;
    8632              :                   }
    8633            0 :                   break;
    8634              :                 }
    8635              :               default:;
    8636              :               }
    8637              :           }
    8638              :       }
    8639          417 :       if (CONSTANT_CLASS_P (_p1))
    8640              :         {
    8641           94 :           {
    8642           94 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8643           94 :             tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8644           94 :             if (res) return res;
    8645              :           }
    8646              :         }
    8647              :         break;
    8648              :       }
    8649      5007834 :     default:;
    8650              :     }
    8651      5007834 : {
    8652      5007834 :   tree _p0_pops[1];
    8653      5007834 :   if (tree_nop_convert (_p0, _p0_pops))
    8654              :     {
    8655       228904 :       tree _q20 = _p0_pops[0];
    8656       228904 :       switch (TREE_CODE (_q20))
    8657              :         {
    8658            4 :         case BIT_NOT_EXPR:
    8659            4 :           {
    8660            4 :             tree _q30 = TREE_OPERAND (_q20, 0);
    8661            4 :             switch (TREE_CODE (_p1))
    8662              :               {
    8663            0 :               case BIT_NOT_EXPR:
    8664            0 :                 {
    8665            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    8666            0 :                   {
    8667            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    8668            0 :                     tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, GE_EXPR);
    8669            0 :                     if (res) return res;
    8670              :                   }
    8671            0 :                   break;
    8672              :                 }
    8673            4 :               default:;
    8674              :               }
    8675            4 :           {
    8676            4 :             tree _p1_pops[1];
    8677            4 :             if (tree_nop_convert (_p1, _p1_pops))
    8678              :               {
    8679            0 :                 tree _q50 = _p1_pops[0];
    8680            0 :                 switch (TREE_CODE (_q50))
    8681              :                   {
    8682            0 :                   case BIT_NOT_EXPR:
    8683            0 :                     {
    8684            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    8685            0 :                       {
    8686            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    8687            0 :                         tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, GE_EXPR);
    8688            0 :                         if (res) return res;
    8689              :                       }
    8690            0 :                       break;
    8691              :                     }
    8692              :                   default:;
    8693              :                   }
    8694              :               }
    8695              :           }
    8696            4 :           if (CONSTANT_CLASS_P (_p1))
    8697              :             {
    8698            0 :               {
    8699            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    8700            0 :                 tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8701            0 :                 if (res) return res;
    8702              :               }
    8703              :             }
    8704              :             break;
    8705              :           }
    8706              :         default:;
    8707              :         }
    8708              :     }
    8709              : }
    8710      5007834 :   switch (TREE_CODE (_p1))
    8711              :     {
    8712       624673 :     case REAL_CST:
    8713       624673 :       {
    8714       624673 :         {
    8715       624673 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8716       624673 :           tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, GE_EXPR);
    8717       624673 :           if (res) return res;
    8718              :         }
    8719       624604 :         break;
    8720              :       }
    8721      5007765 :     default:;
    8722              :     }
    8723      5007765 :   switch (TREE_CODE (_p0))
    8724              :     {
    8725       675475 :     case PLUS_EXPR:
    8726       675475 :       {
    8727       675475 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8728       675475 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8729       675475 :         switch (TREE_CODE (_q21))
    8730              :           {
    8731          168 :           case REAL_CST:
    8732          168 :             {
    8733          168 :               switch (TREE_CODE (_p1))
    8734              :                 {
    8735           20 :                 case REAL_CST:
    8736           20 :                   {
    8737           20 :                     {
    8738           20 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8739           20 :                       tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, PLUS_EXPR, GE_EXPR);
    8740           20 :                       if (res) return res;
    8741              :                     }
    8742           20 :                     break;
    8743              :                   }
    8744              :                 default:;
    8745              :                 }
    8746              :               break;
    8747              :             }
    8748       563104 :           case INTEGER_CST:
    8749       563104 :             {
    8750       563104 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8751              :                 {
    8752        16032 :                   {
    8753        16032 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
    8754        16032 :                     tree res = generic_simplify_392 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8755        16032 :                     if (res) return res;
    8756              :                   }
    8757              :                 }
    8758              :               break;
    8759              :             }
    8760              :           default:;
    8761              :           }
    8762              :         break;
    8763              :       }
    8764        58482 :     case MINUS_EXPR:
    8765        58482 :       {
    8766        58482 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8767        58482 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8768        58482 :         switch (TREE_CODE (_q21))
    8769              :           {
    8770           31 :           case REAL_CST:
    8771           31 :             {
    8772           31 :               switch (TREE_CODE (_p1))
    8773              :                 {
    8774           31 :                 case REAL_CST:
    8775           31 :                   {
    8776           31 :                     {
    8777           31 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8778           31 :                       tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, MINUS_EXPR, GE_EXPR);
    8779           31 :                       if (res) return res;
    8780              :                     }
    8781           31 :                     break;
    8782              :                   }
    8783              :                 default:;
    8784              :                 }
    8785              :               break;
    8786              :             }
    8787        58482 :           default:;
    8788              :           }
    8789        58482 :         switch (TREE_CODE (_q20))
    8790              :           {
    8791           24 :           case REAL_CST:
    8792           24 :             {
    8793           24 :               switch (TREE_CODE (_p1))
    8794              :                 {
    8795            0 :                 case REAL_CST:
    8796            0 :                   {
    8797            0 :                     {
    8798            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8799            0 :                       tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, GE_EXPR);
    8800            0 :                       if (res) return res;
    8801              :                     }
    8802            0 :                     break;
    8803              :                   }
    8804              :                 default:;
    8805              :                 }
    8806              :               break;
    8807              :             }
    8808              :           default:;
    8809              :           }
    8810              :         break;
    8811              :       }
    8812        39094 :     case FLOAT_EXPR:
    8813        39094 :       {
    8814        39094 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8815        39094 :         switch (TREE_CODE (_p1))
    8816              :           {
    8817            7 :           case FLOAT_EXPR:
    8818            7 :             {
    8819            7 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8820            7 :               {
    8821            7 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8822            7 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
    8823            7 :                 if (res) return res;
    8824              :               }
    8825            0 :               break;
    8826              :             }
    8827        37615 :           case REAL_CST:
    8828        37615 :             {
    8829        37615 :               {
    8830        37615 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8831        37615 :                 tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
    8832        37615 :                 if (res) return res;
    8833              :               }
    8834        18844 :               break;
    8835              :             }
    8836              :           default:;
    8837              :           }
    8838              :         break;
    8839              :       }
    8840         8006 :     case EXACT_DIV_EXPR:
    8841         8006 :       {
    8842         8006 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8843         8006 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8844         8006 :         switch (TREE_CODE (_q21))
    8845              :           {
    8846         8006 :           case INTEGER_CST:
    8847         8006 :             {
    8848         8006 :               switch (TREE_CODE (_p1))
    8849              :                 {
    8850            0 :                 case INTEGER_CST:
    8851            0 :                   {
    8852            0 :                     {
    8853            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8854            0 :                       tree res = generic_simplify_393 (loc, type, _p0, _p1, captures, GE_EXPR);
    8855            0 :                       if (res) return res;
    8856              :                     }
    8857            0 :                     break;
    8858              :                   }
    8859              :                 default:;
    8860              :                 }
    8861              :               break;
    8862              :             }
    8863              :           default:;
    8864              :           }
    8865              :         break;
    8866              :       }
    8867       603308 :     CASE_CONVERT:
    8868       603308 :       {
    8869       603308 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8870       603308 :         switch (TREE_CODE (_q20))
    8871              :           {
    8872          157 :           case EXACT_DIV_EXPR:
    8873          157 :             {
    8874          157 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8875          157 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8876          157 :               switch (TREE_CODE (_q31))
    8877              :                 {
    8878          157 :                 case INTEGER_CST:
    8879          157 :                   {
    8880          157 :                     switch (TREE_CODE (_p1))
    8881              :                       {
    8882            0 :                       case INTEGER_CST:
    8883            0 :                         {
    8884            0 :                           {
    8885            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    8886            0 :                             tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
    8887            0 :                             if (res) return res;
    8888              :                           }
    8889            0 :                           break;
    8890              :                         }
    8891              :                       default:;
    8892              :                       }
    8893              :                     break;
    8894              :                   }
    8895              :                 default:;
    8896              :                 }
    8897              :               break;
    8898              :             }
    8899       603308 :           default:;
    8900              :           }
    8901       603308 :         switch (TREE_CODE (_p1))
    8902              :           {
    8903        97154 :           CASE_CONVERT:
    8904        97154 :             {
    8905        97154 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8906        97154 :               {
    8907        97154 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8908        97154 :                 tree res = generic_simplify_269 (loc, type, _p0, _p1, captures, GE_EXPR);
    8909        97154 :                 if (res) return res;
    8910              :               }
    8911        60579 :               break;
    8912              :             }
    8913       566733 :           default:;
    8914              :           }
    8915       566733 :         {
    8916       566733 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    8917       566733 :           tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, GE_EXPR);
    8918       566733 :           if (res) return res;
    8919              :         }
    8920       311517 :         switch (TREE_CODE (_q20))
    8921              :           {
    8922         3054 :           case ADDR_EXPR:
    8923         3054 :             {
    8924         3054 :               switch (TREE_CODE (_p1))
    8925              :                 {
    8926         2983 :                 CASE_CONVERT:
    8927         2983 :                   {
    8928         2983 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    8929         2983 :                     switch (TREE_CODE (_q40))
    8930              :                       {
    8931         2983 :                       case ADDR_EXPR:
    8932         2983 :                         {
    8933         2983 :                           {
    8934         2983 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8935         2983 :                             tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, GE_EXPR);
    8936         2983 :                             if (res) return res;
    8937              :                           }
    8938          178 :                           break;
    8939              :                         }
    8940              :                       default:;
    8941              :                       }
    8942              :                     break;
    8943              :                   }
    8944            7 :                 case ADDR_EXPR:
    8945            7 :                   {
    8946            7 :                     {
    8947            7 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8948            7 :                       tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, GE_EXPR);
    8949            7 :                       if (res) return res;
    8950              :                     }
    8951            0 :                     break;
    8952              :                   }
    8953              :                 default:;
    8954              :                 }
    8955              :               break;
    8956              :             }
    8957       308705 :           default:;
    8958              :           }
    8959       308705 :         if (uniform_integer_cst_p (_p1))
    8960              :           {
    8961        97503 :             {
    8962        97503 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8963        97503 :               tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, GE_EXPR);
    8964        97503 :               if (res) return res;
    8965              :             }
    8966              :           }
    8967              :         break;
    8968              :       }
    8969          779 :     case NEGATE_EXPR:
    8970          779 :       {
    8971          779 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8972          779 :         switch (TREE_CODE (_p1))
    8973              :           {
    8974            0 :           case NEGATE_EXPR:
    8975            0 :             {
    8976            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8977            0 :               {
    8978            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8979            0 :                 tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8980            0 :                 if (res) return res;
    8981              :               }
    8982            0 :               break;
    8983              :             }
    8984          779 :           default:;
    8985              :           }
    8986          779 :       if (CONSTANT_CLASS_P (_p1))
    8987              :         {
    8988          254 :           {
    8989          254 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8990          254 :             tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8991          254 :             if (res) return res;
    8992              :           }
    8993              :         }
    8994              :         break;
    8995              :       }
    8996         7634 :     case ADDR_EXPR:
    8997         7634 :       {
    8998         7634 :         switch (TREE_CODE (_p1))
    8999              :           {
    9000            0 :           CASE_CONVERT:
    9001            0 :             {
    9002            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    9003            0 :               switch (TREE_CODE (_q30))
    9004              :                 {
    9005            0 :                 case ADDR_EXPR:
    9006            0 :                   {
    9007            0 :                     {
    9008            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
    9009            0 :                       tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, GE_EXPR);
    9010            0 :                       if (res) return res;
    9011              :                     }
    9012            0 :                     break;
    9013              :                   }
    9014              :                 default:;
    9015              :                 }
    9016              :               break;
    9017              :             }
    9018         7236 :           case ADDR_EXPR:
    9019         7236 :             {
    9020         7236 :               {
    9021         7236 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    9022         7236 :                 tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, GE_EXPR);
    9023         7236 :                 if (res) return res;
    9024              :               }
    9025           92 :               break;
    9026              :             }
    9027              :           default:;
    9028              :           }
    9029              :         break;
    9030              :       }
    9031       227198 :     case CALL_EXPR:
    9032       227198 :       switch (get_call_combined_fn (_p0))
    9033              :         {
    9034            2 :         case CFN_BUILT_IN_SQRTF:
    9035            2 :           if (call_expr_nargs (_p0) == 1)
    9036              :     {
    9037            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9038            2 :               switch (TREE_CODE (_p1))
    9039              :                 {
    9040            2 :                 case REAL_CST:
    9041            2 :                   {
    9042            2 :                     {
    9043            2 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9044            2 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GE_EXPR);
    9045            2 :                       if (res) return res;
    9046              :                     }
    9047            0 :                     break;
    9048              :                   }
    9049            0 :                 case CALL_EXPR:
    9050            0 :                   switch (get_call_combined_fn (_p1))
    9051              :                     {
    9052            0 :                     case CFN_BUILT_IN_SQRTF:
    9053            0 :                       if (call_expr_nargs (_p1) == 1)
    9054              :     {
    9055            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9056            0 :                           {
    9057            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9058            0 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GE_EXPR);
    9059            0 :                             if (res) return res;
    9060              :                           }
    9061              :                         }
    9062              :                       break;
    9063              :                     default:;
    9064              :                     }
    9065              :                   break;
    9066              :                 default:;
    9067              :                 }
    9068              :             }
    9069              :           break;
    9070            0 :         case CFN_BUILT_IN_SQRTL:
    9071            0 :           if (call_expr_nargs (_p0) == 1)
    9072              :     {
    9073            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9074            0 :               switch (TREE_CODE (_p1))
    9075              :                 {
    9076            0 :                 case REAL_CST:
    9077            0 :                   {
    9078            0 :                     {
    9079            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9080            0 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GE_EXPR);
    9081            0 :                       if (res) return res;
    9082              :                     }
    9083            0 :                     break;
    9084              :                   }
    9085            0 :                 case CALL_EXPR:
    9086            0 :                   switch (get_call_combined_fn (_p1))
    9087              :                     {
    9088            0 :                     case CFN_BUILT_IN_SQRTL:
    9089            0 :                       if (call_expr_nargs (_p1) == 1)
    9090              :     {
    9091            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9092            0 :                           {
    9093            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9094            0 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GE_EXPR);
    9095            0 :                             if (res) return res;
    9096              :                           }
    9097              :                         }
    9098              :                       break;
    9099              :                     default:;
    9100              :                     }
    9101              :                   break;
    9102              :                 default:;
    9103              :                 }
    9104              :             }
    9105              :           break;
    9106            1 :         case CFN_BUILT_IN_SQRT:
    9107            1 :           if (call_expr_nargs (_p0) == 1)
    9108              :     {
    9109            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9110            1 :               switch (TREE_CODE (_p1))
    9111              :                 {
    9112            1 :                 case REAL_CST:
    9113            1 :                   {
    9114            1 :                     {
    9115            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9116            1 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GE_EXPR);
    9117            1 :                       if (res) return res;
    9118              :                     }
    9119            1 :                     break;
    9120              :                   }
    9121            0 :                 case CALL_EXPR:
    9122            0 :                   switch (get_call_combined_fn (_p1))
    9123              :                     {
    9124            0 :                     case CFN_BUILT_IN_SQRT:
    9125            0 :                       if (call_expr_nargs (_p1) == 1)
    9126              :     {
    9127            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9128            0 :                           {
    9129            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9130            0 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GE_EXPR);
    9131            0 :                             if (res) return res;
    9132              :                           }
    9133              :                         }
    9134              :                       break;
    9135              :                     default:;
    9136              :                     }
    9137              :                   break;
    9138              :                 default:;
    9139              :                 }
    9140              :             }
    9141              :           break;
    9142            0 :         case CFN_SQRT:
    9143            0 :           if (call_expr_nargs (_p0) == 1)
    9144              :     {
    9145            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9146            0 :               switch (TREE_CODE (_p1))
    9147              :                 {
    9148            0 :                 case REAL_CST:
    9149            0 :                   {
    9150            0 :                     {
    9151            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9152            0 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_SQRT, GE_EXPR);
    9153            0 :                       if (res) return res;
    9154              :                     }
    9155            0 :                     break;
    9156              :                   }
    9157            0 :                 case CALL_EXPR:
    9158            0 :                   switch (get_call_combined_fn (_p1))
    9159              :                     {
    9160            0 :                     case CFN_SQRT:
    9161            0 :                       if (call_expr_nargs (_p1) == 1)
    9162              :     {
    9163            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9164            0 :                           {
    9165            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9166            0 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_SQRT, GE_EXPR);
    9167            0 :                             if (res) return res;
    9168              :                           }
    9169              :                         }
    9170              :                       break;
    9171              :                     default:;
    9172              :                     }
    9173              :                   break;
    9174              :                 default:;
    9175              :                 }
    9176              :             }
    9177              :           break;
    9178              :         default:;
    9179              :         }
    9180              :       break;
    9181      4660783 :     default:;
    9182              :     }
    9183      4660783 :   if (uniform_integer_cst_p (_p1))
    9184              :     {
    9185      1551305 :       {
    9186      1551305 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    9187      1551305 :         tree res = generic_simplify_396 (loc, type, _p0, _p1, captures, GE_EXPR);
    9188      1551305 :         if (res) return res;
    9189              :       }
    9190              :     }
    9191      4364127 :   switch (TREE_CODE (_p0))
    9192              :     {
    9193       297668 :     CASE_CONVERT:
    9194       297668 :       {
    9195       297668 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9196       297668 :         switch (TREE_CODE (_q20))
    9197              :           {
    9198        31719 :           case PLUS_EXPR:
    9199        31719 :             {
    9200        31719 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9201        31719 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9202        31719 :               switch (TREE_CODE (_q30))
    9203              :                 {
    9204        23221 :                 CASE_CONVERT:
    9205        23221 :                   {
    9206        23221 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    9207        23221 :                     switch (TREE_CODE (_q31))
    9208              :                       {
    9209        23220 :                       case INTEGER_CST:
    9210        23220 :                         {
    9211        23220 :                           if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    9212              :                             {
    9213          135 :                               {
    9214          135 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    9215          135 :                                 tree res = generic_simplify_397 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9216          135 :                                 if (res) return res;
    9217              :                               }
    9218              :                             }
    9219              :                           break;
    9220              :                         }
    9221              :                       default:;
    9222              :                       }
    9223              :                     break;
    9224              :                   }
    9225              :                 default:;
    9226              :                 }
    9227              :               break;
    9228              :             }
    9229              :           default:;
    9230              :           }
    9231              :         break;
    9232              :       }
    9233      4364003 :     default:;
    9234              :     }
    9235      4364003 :   switch (TREE_CODE (_p1))
    9236              :     {
    9237       221620 :     CASE_CONVERT:
    9238       221620 :       {
    9239       221620 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9240       221620 :         switch (TREE_CODE (_q30))
    9241              :           {
    9242          339 :           case PLUS_EXPR:
    9243          339 :             {
    9244          339 :               tree _q40 = TREE_OPERAND (_q30, 0);
    9245          339 :               tree _q41 = TREE_OPERAND (_q30, 1);
    9246          339 :               switch (TREE_CODE (_q40))
    9247              :                 {
    9248          213 :                 CASE_CONVERT:
    9249          213 :                   {
    9250          213 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    9251          213 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    9252              :                       {
    9253            0 :                         switch (TREE_CODE (_q41))
    9254              :                           {
    9255            0 :                           case INTEGER_CST:
    9256            0 :                             {
    9257            0 :                               {
    9258            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
    9259            0 :                                 tree res = generic_simplify_397 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
    9260            0 :                                 if (res) return res;
    9261              :                               }
    9262            0 :                               break;
    9263              :                             }
    9264              :                           default:;
    9265              :                           }
    9266              :                       }
    9267              :                     break;
    9268              :                   }
    9269              :                 default:;
    9270              :                 }
    9271              :               break;
    9272              :             }
    9273              :           default:;
    9274              :           }
    9275              :         break;
    9276              :       }
    9277        59135 :     case PLUS_EXPR:
    9278        59135 :       {
    9279        59135 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9280        59135 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9281        59135 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9282              :           {
    9283            0 :             switch (TREE_CODE (_q31))
    9284              :               {
    9285            0 :               case INTEGER_CST:
    9286            0 :                 {
    9287            0 :                   {
    9288            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
    9289            0 :                     tree res = generic_simplify_392 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
    9290            0 :                     if (res) return res;
    9291              :                   }
    9292            0 :                   break;
    9293              :                 }
    9294              :               default:;
    9295              :               }
    9296              :           }
    9297              :         break;
    9298              :       }
    9299         2398 :     case MINUS_EXPR:
    9300         2398 :       {
    9301         2398 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9302         2398 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9303         2398 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9304              :           {
    9305            0 :             {
    9306            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
    9307            0 :               tree res = generic_simplify_398 (loc, type, _p0, _p1, captures, LE_EXPR);
    9308            0 :               if (res) return res;
    9309              :             }
    9310              :           }
    9311              :         break;
    9312              :       }
    9313      4364003 :     default:;
    9314              :     }
    9315      4364003 :   switch (TREE_CODE (_p0))
    9316              :     {
    9317       586927 :     case PLUS_EXPR:
    9318       586927 :       {
    9319       586927 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9320       586927 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9321       586927 :         switch (TREE_CODE (_q20))
    9322              :           {
    9323          141 :           case MINUS_EXPR:
    9324          141 :             {
    9325          141 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9326          141 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9327          141 :               if (integer_minus_onep (_q21))
    9328              :                 {
    9329            1 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    9330              :                     {
    9331            1 :                       {
    9332            1 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    9333            1 :                         tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, GE_EXPR);
    9334            1 :                         if (res) return res;
    9335              :                       }
    9336              :                     }
    9337              :                 }
    9338              :               break;
    9339              :             }
    9340              :           default:;
    9341              :           }
    9342              :         break;
    9343              :       }
    9344      4364002 :     default:;
    9345              :     }
    9346      4364002 :   switch (TREE_CODE (_p1))
    9347              :     {
    9348            0 :     case REALPART_EXPR:
    9349            0 :       {
    9350            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9351            0 :         switch (TREE_CODE (_q30))
    9352              :           {
    9353            0 :           case CALL_EXPR:
    9354            0 :             switch (get_call_combined_fn (_q30))
    9355              :               {
    9356            0 :               case CFN_SUB_OVERFLOW:
    9357            0 :                 if (call_expr_nargs (_q30) == 2)
    9358              :     {
    9359            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
    9360            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
    9361            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    9362              :                       {
    9363            0 :                         {
    9364            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
    9365            0 :                           tree res = generic_simplify_400 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
    9366            0 :                           if (res) return res;
    9367              :                         }
    9368              :                       }
    9369              :                   }
    9370              :                 break;
    9371              :               default:;
    9372              :               }
    9373              :             break;
    9374              :           default:;
    9375              :           }
    9376              :         break;
    9377              :       }
    9378      4364002 :     default:;
    9379              :     }
    9380      4364002 :   switch (TREE_CODE (_p0))
    9381              :     {
    9382            0 :     case REALPART_EXPR:
    9383            0 :       {
    9384            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9385            0 :         switch (TREE_CODE (_q20))
    9386              :           {
    9387            0 :           case CALL_EXPR:
    9388            0 :             switch (get_call_combined_fn (_q20))
    9389              :               {
    9390            0 :               case CFN_ADD_OVERFLOW:
    9391            0 :                 if (call_expr_nargs (_q20) == 2)
    9392              :     {
    9393            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    9394            0 :                     tree _q31 = CALL_EXPR_ARG (_q20, 1);
    9395            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    9396              :                       {
    9397            0 :                         {
    9398            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    9399            0 :                           tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    9400            0 :                           if (res) return res;
    9401              :                         }
    9402              :                       }
    9403            0 :                     if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    9404              :                       {
    9405            0 :                         {
    9406            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q31, _q30 };
    9407            0 :                           tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    9408            0 :                           if (res) return res;
    9409              :                         }
    9410              :                       }
    9411              :                   }
    9412              :                 break;
    9413              :               default:;
    9414              :               }
    9415              :             break;
    9416              :           default:;
    9417              :           }
    9418              :         break;
    9419              :       }
    9420         1449 :     case TRUNC_DIV_EXPR:
    9421         1449 :       {
    9422         1449 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9423         1449 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9424         1449 :         if (integer_all_onesp (_q20))
    9425              :           {
    9426           33 :             {
    9427           33 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _p1 };
    9428           33 :               tree res = generic_simplify_402 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    9429           33 :               if (res) return res;
    9430              :             }
    9431              :           }
    9432              :         break;
    9433              :       }
    9434        21576 :     case MULT_EXPR:
    9435        21576 :       {
    9436        21576 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9437        21576 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9438        21576 :         switch (TREE_CODE (_q21))
    9439              :           {
    9440          305 :           case REAL_CST:
    9441          305 :             {
    9442          305 :               switch (TREE_CODE (_p1))
    9443              :                 {
    9444           43 :                 case REAL_CST:
    9445           43 :                   {
    9446           43 :                     {
    9447           43 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9448           43 :                       tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9449           43 :                       if (res) return res;
    9450              :                     }
    9451           43 :                     break;
    9452              :                   }
    9453              :                 default:;
    9454              :                 }
    9455              :               break;
    9456              :             }
    9457              :           default:;
    9458              :           }
    9459              :         break;
    9460              :       }
    9461          151 :     case REAL_CST:
    9462          151 :       {
    9463          151 :         switch (TREE_CODE (_p1))
    9464              :           {
    9465            0 :           case CALL_EXPR:
    9466            0 :             switch (get_call_combined_fn (_p1))
    9467              :               {
    9468            0 :               case CFN_BUILT_IN_EXP:
    9469            0 :                 if (call_expr_nargs (_p1) == 1)
    9470              :     {
    9471            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9472            0 :                     {
    9473            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9474            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, LE_EXPR);
    9475            0 :                       if (res) return res;
    9476              :                     }
    9477              :                   }
    9478              :                 break;
    9479            0 :               case CFN_BUILT_IN_LOG:
    9480            0 :                 if (call_expr_nargs (_p1) == 1)
    9481              :     {
    9482            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9483            0 :                     {
    9484            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9485            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, LE_EXPR);
    9486            0 :                       if (res) return res;
    9487              :                     }
    9488              :                   }
    9489              :                 break;
    9490            0 :               case CFN_BUILT_IN_EXP10F:
    9491            0 :                 if (call_expr_nargs (_p1) == 1)
    9492              :     {
    9493            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9494            0 :                     {
    9495            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9496            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, LE_EXPR);
    9497            0 :                       if (res) return res;
    9498              :                     }
    9499              :                   }
    9500              :                 break;
    9501            0 :               case CFN_BUILT_IN_EXP10L:
    9502            0 :                 if (call_expr_nargs (_p1) == 1)
    9503              :     {
    9504            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9505            0 :                     {
    9506            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9507            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, LE_EXPR);
    9508            0 :                       if (res) return res;
    9509              :                     }
    9510              :                   }
    9511              :                 break;
    9512            0 :               case CFN_BUILT_IN_EXP2:
    9513            0 :                 if (call_expr_nargs (_p1) == 1)
    9514              :     {
    9515            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9516            0 :                     {
    9517            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9518            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, LE_EXPR);
    9519            0 :                       if (res) return res;
    9520              :                     }
    9521              :                   }
    9522              :                 break;
    9523            0 :               case CFN_BUILT_IN_EXPF:
    9524            0 :                 if (call_expr_nargs (_p1) == 1)
    9525              :     {
    9526            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9527            0 :                     {
    9528            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9529            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, LE_EXPR);
    9530            0 :                       if (res) return res;
    9531              :                     }
    9532              :                   }
    9533              :                 break;
    9534            0 :               case CFN_BUILT_IN_EXPL:
    9535            0 :                 if (call_expr_nargs (_p1) == 1)
    9536              :     {
    9537            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9538            0 :                     {
    9539            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9540            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, LE_EXPR);
    9541            0 :                       if (res) return res;
    9542              :                     }
    9543              :                   }
    9544              :                 break;
    9545            0 :               case CFN_BUILT_IN_LOG2:
    9546            0 :                 if (call_expr_nargs (_p1) == 1)
    9547              :     {
    9548            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9549            0 :                     {
    9550            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9551            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, LE_EXPR);
    9552            0 :                       if (res) return res;
    9553              :                     }
    9554              :                   }
    9555              :                 break;
    9556            0 :               case CFN_BUILT_IN_LOGF:
    9557            0 :                 if (call_expr_nargs (_p1) == 1)
    9558              :     {
    9559            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9560            0 :                     {
    9561            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9562            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, LE_EXPR);
    9563            0 :                       if (res) return res;
    9564              :                     }
    9565              :                   }
    9566              :                 break;
    9567            0 :               case CFN_BUILT_IN_LOGL:
    9568            0 :                 if (call_expr_nargs (_p1) == 1)
    9569              :     {
    9570            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9571            0 :                     {
    9572            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9573            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, LE_EXPR);
    9574            0 :                       if (res) return res;
    9575              :                     }
    9576              :                   }
    9577              :                 break;
    9578            0 :               case CFN_BUILT_IN_LOG10F:
    9579            0 :                 if (call_expr_nargs (_p1) == 1)
    9580              :     {
    9581            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9582            0 :                     {
    9583            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9584            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, LE_EXPR);
    9585            0 :                       if (res) return res;
    9586              :                     }
    9587              :                   }
    9588              :                 break;
    9589            0 :               case CFN_BUILT_IN_LOG10L:
    9590            0 :                 if (call_expr_nargs (_p1) == 1)
    9591              :     {
    9592            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9593            0 :                     {
    9594            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9595            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, LE_EXPR);
    9596            0 :                       if (res) return res;
    9597              :                     }
    9598              :                   }
    9599              :                 break;
    9600            0 :               case CFN_EXP:
    9601            0 :                 if (call_expr_nargs (_p1) == 1)
    9602              :     {
    9603            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9604            0 :                     {
    9605            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9606            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, LE_EXPR);
    9607            0 :                       if (res) return res;
    9608              :                     }
    9609              :                   }
    9610              :                 break;
    9611            0 :               case CFN_LOG:
    9612            0 :                 if (call_expr_nargs (_p1) == 1)
    9613              :     {
    9614            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9615            0 :                     {
    9616            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9617            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, LE_EXPR);
    9618            0 :                       if (res) return res;
    9619              :                     }
    9620              :                   }
    9621              :                 break;
    9622            0 :               case CFN_EXP2:
    9623            0 :                 if (call_expr_nargs (_p1) == 1)
    9624              :     {
    9625            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9626            0 :                     {
    9627            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9628            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, LE_EXPR);
    9629            0 :                       if (res) return res;
    9630              :                     }
    9631              :                   }
    9632              :                 break;
    9633            0 :               case CFN_LOG2:
    9634            0 :                 if (call_expr_nargs (_p1) == 1)
    9635              :     {
    9636            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9637            0 :                     {
    9638            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9639            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, LE_EXPR);
    9640            0 :                       if (res) return res;
    9641              :                     }
    9642              :                   }
    9643              :                 break;
    9644            0 :               case CFN_EXP10:
    9645            0 :                 if (call_expr_nargs (_p1) == 1)
    9646              :     {
    9647            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9648            0 :                     {
    9649            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9650            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, LE_EXPR);
    9651            0 :                       if (res) return res;
    9652              :                     }
    9653              :                   }
    9654              :                 break;
    9655            0 :               case CFN_LOG10:
    9656            0 :                 if (call_expr_nargs (_p1) == 1)
    9657              :     {
    9658            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9659            0 :                     {
    9660            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9661            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, LE_EXPR);
    9662            0 :                       if (res) return res;
    9663              :                     }
    9664              :                   }
    9665              :                 break;
    9666            0 :               case CFN_BUILT_IN_EXP10:
    9667            0 :                 if (call_expr_nargs (_p1) == 1)
    9668              :     {
    9669            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9670            0 :                     {
    9671            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9672            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, LE_EXPR);
    9673            0 :                       if (res) return res;
    9674              :                     }
    9675              :                   }
    9676              :                 break;
    9677            0 :               case CFN_BUILT_IN_EXP2F:
    9678            0 :                 if (call_expr_nargs (_p1) == 1)
    9679              :     {
    9680            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9681            0 :                     {
    9682            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9683            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, LE_EXPR);
    9684            0 :                       if (res) return res;
    9685              :                     }
    9686              :                   }
    9687              :                 break;
    9688            0 :               case CFN_BUILT_IN_EXP2L:
    9689            0 :                 if (call_expr_nargs (_p1) == 1)
    9690              :     {
    9691            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9692            0 :                     {
    9693            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9694            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, LE_EXPR);
    9695            0 :                       if (res) return res;
    9696              :                     }
    9697              :                   }
    9698              :                 break;
    9699            0 :               case CFN_BUILT_IN_LOG10:
    9700            0 :                 if (call_expr_nargs (_p1) == 1)
    9701              :     {
    9702            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9703            0 :                     {
    9704            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9705            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, LE_EXPR);
    9706            0 :                       if (res) return res;
    9707              :                     }
    9708              :                   }
    9709              :                 break;
    9710            0 :               case CFN_BUILT_IN_LOG2F:
    9711            0 :                 if (call_expr_nargs (_p1) == 1)
    9712              :     {
    9713            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9714            0 :                     {
    9715            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9716            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, LE_EXPR);
    9717            0 :                       if (res) return res;
    9718              :                     }
    9719              :                   }
    9720              :                 break;
    9721            0 :               case CFN_BUILT_IN_LOG2L:
    9722            0 :                 if (call_expr_nargs (_p1) == 1)
    9723              :     {
    9724            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9725            0 :                     {
    9726            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9727            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, LE_EXPR);
    9728            0 :                       if (res) return res;
    9729              :                     }
    9730              :                   }
    9731              :                 break;
    9732              :               default:;
    9733              :               }
    9734              :             break;
    9735              :           default:;
    9736              :           }
    9737              :         break;
    9738              :       }
    9739       586926 :     case PLUS_EXPR:
    9740       586926 :       {
    9741       586926 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9742       586926 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9743       586926 :         switch (TREE_CODE (_q21))
    9744              :           {
    9745       474555 :           case INTEGER_CST:
    9746       474555 :             {
    9747       474555 :               switch (TREE_CODE (_p1))
    9748              :                 {
    9749       115781 :                 case INTEGER_CST:
    9750       115781 :                   {
    9751       115781 :                     {
    9752       115781 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9753       115781 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, GE_EXPR, LE_EXPR);
    9754       115781 :                       if (res) return res;
    9755              :                     }
    9756        55942 :                     break;
    9757              :                   }
    9758              :                 default:;
    9759              :                 }
    9760              :               break;
    9761              :             }
    9762              :           default:;
    9763              :           }
    9764              :         break;
    9765              :       }
    9766        58038 :     case MINUS_EXPR:
    9767        58038 :       {
    9768        58038 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9769        58038 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9770        58038 :         switch (TREE_CODE (_q21))
    9771              :           {
    9772            7 :           case INTEGER_CST:
    9773            7 :             {
    9774            7 :               switch (TREE_CODE (_p1))
    9775              :                 {
    9776            7 :                 case INTEGER_CST:
    9777            7 :                   {
    9778            7 :                     {
    9779            7 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9780            7 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, GE_EXPR, LE_EXPR);
    9781            7 :                       if (res) return res;
    9782              :                     }
    9783            0 :                     break;
    9784              :                   }
    9785              :                 default:;
    9786              :                 }
    9787              :               break;
    9788              :             }
    9789        58031 :           default:;
    9790              :           }
    9791        58031 :         switch (TREE_CODE (_q20))
    9792              :           {
    9793         1580 :           case INTEGER_CST:
    9794         1580 :             {
    9795         1580 :               switch (TREE_CODE (_p1))
    9796              :                 {
    9797          543 :                 case INTEGER_CST:
    9798          543 :                   {
    9799          543 :                     {
    9800          543 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9801          543 :                       tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9802          543 :                       if (res) return res;
    9803              :                     }
    9804            0 :                     break;
    9805              :                   }
    9806              :                 default:;
    9807              :                 }
    9808              :               break;
    9809              :             }
    9810              :           default:;
    9811              :           }
    9812              :         break;
    9813              :       }
    9814       226970 :     case CALL_EXPR:
    9815       226970 :       switch (get_call_combined_fn (_p0))
    9816              :         {
    9817            1 :         case CFN_BUILT_IN_CTZ:
    9818            1 :           if (call_expr_nargs (_p0) == 1)
    9819              :     {
    9820            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9821            1 :               switch (TREE_CODE (_p1))
    9822              :                 {
    9823            1 :                 case INTEGER_CST:
    9824            1 :                   {
    9825            1 :                     {
    9826            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9827            1 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZ);
    9828            1 :                       if (res) return res;
    9829              :                     }
    9830            0 :                     break;
    9831              :                   }
    9832              :                 default:;
    9833              :                 }
    9834              :             }
    9835              :           break;
    9836            1 :         case CFN_BUILT_IN_EXP:
    9837            1 :           if (call_expr_nargs (_p0) == 1)
    9838              :     {
    9839            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9840            1 :               switch (TREE_CODE (_p1))
    9841              :                 {
    9842            1 :                 case REAL_CST:
    9843            1 :                   {
    9844            1 :                     {
    9845            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9846            1 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, GE_EXPR);
    9847            1 :                       if (res) return res;
    9848              :                     }
    9849            1 :                     break;
    9850              :                   }
    9851              :                 default:;
    9852              :                 }
    9853              :             }
    9854              :           break;
    9855            1 :         case CFN_BUILT_IN_LOG:
    9856            1 :           if (call_expr_nargs (_p0) == 1)
    9857              :     {
    9858            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9859            1 :               switch (TREE_CODE (_p1))
    9860              :                 {
    9861            0 :                 case REAL_CST:
    9862            0 :                   {
    9863            0 :                     {
    9864            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9865            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, GE_EXPR);
    9866            0 :                       if (res) return res;
    9867              :                     }
    9868            0 :                     break;
    9869              :                   }
    9870              :                 default:;
    9871              :                 }
    9872              :             }
    9873              :           break;
    9874            0 :         case CFN_BUILT_IN_EXP10F:
    9875            0 :           if (call_expr_nargs (_p0) == 1)
    9876              :     {
    9877            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9878            0 :               switch (TREE_CODE (_p1))
    9879              :                 {
    9880            0 :                 case REAL_CST:
    9881            0 :                   {
    9882            0 :                     {
    9883            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9884            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, GE_EXPR);
    9885            0 :                       if (res) return res;
    9886              :                     }
    9887            0 :                     break;
    9888              :                   }
    9889              :                 default:;
    9890              :                 }
    9891              :             }
    9892              :           break;
    9893            0 :         case CFN_BUILT_IN_EXP10L:
    9894            0 :           if (call_expr_nargs (_p0) == 1)
    9895              :     {
    9896            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9897            0 :               switch (TREE_CODE (_p1))
    9898              :                 {
    9899            0 :                 case REAL_CST:
    9900            0 :                   {
    9901            0 :                     {
    9902            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9903            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, GE_EXPR);
    9904            0 :                       if (res) return res;
    9905              :                     }
    9906            0 :                     break;
    9907              :                   }
    9908              :                 default:;
    9909              :                 }
    9910              :             }
    9911              :           break;
    9912            0 :         case CFN_BUILT_IN_CTZL:
    9913            0 :           if (call_expr_nargs (_p0) == 1)
    9914              :     {
    9915            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9916            0 :               switch (TREE_CODE (_p1))
    9917              :                 {
    9918            0 :                 case INTEGER_CST:
    9919            0 :                   {
    9920            0 :                     {
    9921            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9922            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZL);
    9923            0 :                       if (res) return res;
    9924              :                     }
    9925            0 :                     break;
    9926              :                   }
    9927              :                 default:;
    9928              :                 }
    9929              :             }
    9930              :           break;
    9931            0 :         case CFN_BUILT_IN_EXP2:
    9932            0 :           if (call_expr_nargs (_p0) == 1)
    9933              :     {
    9934            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9935            0 :               switch (TREE_CODE (_p1))
    9936              :                 {
    9937            0 :                 case REAL_CST:
    9938            0 :                   {
    9939            0 :                     {
    9940            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9941            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, GE_EXPR);
    9942            0 :                       if (res) return res;
    9943              :                     }
    9944            0 :                     break;
    9945              :                   }
    9946              :                 default:;
    9947              :                 }
    9948              :             }
    9949              :           break;
    9950            0 :         case CFN_BUILT_IN_EXPF:
    9951            0 :           if (call_expr_nargs (_p0) == 1)
    9952              :     {
    9953            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9954            0 :               switch (TREE_CODE (_p1))
    9955              :                 {
    9956            0 :                 case REAL_CST:
    9957            0 :                   {
    9958            0 :                     {
    9959            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9960            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, GE_EXPR);
    9961            0 :                       if (res) return res;
    9962              :                     }
    9963            0 :                     break;
    9964              :                   }
    9965              :                 default:;
    9966              :                 }
    9967              :             }
    9968              :           break;
    9969            0 :         case CFN_BUILT_IN_EXPL:
    9970            0 :           if (call_expr_nargs (_p0) == 1)
    9971              :     {
    9972            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9973            0 :               switch (TREE_CODE (_p1))
    9974              :                 {
    9975            0 :                 case REAL_CST:
    9976            0 :                   {
    9977            0 :                     {
    9978            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9979            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, GE_EXPR);
    9980            0 :                       if (res) return res;
    9981              :                     }
    9982            0 :                     break;
    9983              :                   }
    9984              :                 default:;
    9985              :                 }
    9986              :             }
    9987              :           break;
    9988            0 :         case CFN_BUILT_IN_LOG2:
    9989            0 :           if (call_expr_nargs (_p0) == 1)
    9990              :     {
    9991            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9992            0 :               switch (TREE_CODE (_p1))
    9993              :                 {
    9994            0 :                 case REAL_CST:
    9995            0 :                   {
    9996            0 :                     {
    9997            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9998            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, GE_EXPR);
    9999            0 :                       if (res) return res;
   10000              :                     }
   10001            0 :                     break;
   10002              :                   }
   10003              :                 default:;
   10004              :                 }
   10005              :             }
   10006              :           break;
   10007            0 :         case CFN_BUILT_IN_LOGF:
   10008            0 :           if (call_expr_nargs (_p0) == 1)
   10009              :     {
   10010            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10011            0 :               switch (TREE_CODE (_p1))
   10012              :                 {
   10013            0 :                 case REAL_CST:
   10014            0 :                   {
   10015            0 :                     {
   10016            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10017            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, GE_EXPR);
   10018            0 :                       if (res) return res;
   10019              :                     }
   10020            0 :                     break;
   10021              :                   }
   10022              :                 default:;
   10023              :                 }
   10024              :             }
   10025              :           break;
   10026            0 :         case CFN_BUILT_IN_LOGL:
   10027            0 :           if (call_expr_nargs (_p0) == 1)
   10028              :     {
   10029            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10030            0 :               switch (TREE_CODE (_p1))
   10031              :                 {
   10032            0 :                 case REAL_CST:
   10033            0 :                   {
   10034            0 :                     {
   10035            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10036            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, GE_EXPR);
   10037            0 :                       if (res) return res;
   10038              :                     }
   10039            0 :                     break;
   10040              :                   }
   10041              :                 default:;
   10042              :                 }
   10043              :             }
   10044              :           break;
   10045            0 :         case CFN_BUILT_IN_LOG10F:
   10046            0 :           if (call_expr_nargs (_p0) == 1)
   10047              :     {
   10048            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10049            0 :               switch (TREE_CODE (_p1))
   10050              :                 {
   10051            0 :                 case REAL_CST:
   10052            0 :                   {
   10053            0 :                     {
   10054            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10055            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, GE_EXPR);
   10056            0 :                       if (res) return res;
   10057              :                     }
   10058            0 :                     break;
   10059              :                   }
   10060              :                 default:;
   10061              :                 }
   10062              :             }
   10063              :           break;
   10064            0 :         case CFN_BUILT_IN_LOG10L:
   10065            0 :           if (call_expr_nargs (_p0) == 1)
   10066              :     {
   10067            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10068            0 :               switch (TREE_CODE (_p1))
   10069              :                 {
   10070            0 :                 case REAL_CST:
   10071            0 :                   {
   10072            0 :                     {
   10073            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10074            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, GE_EXPR);
   10075            0 :                       if (res) return res;
   10076              :                     }
   10077            0 :                     break;
   10078              :                   }
   10079              :                 default:;
   10080              :                 }
   10081              :             }
   10082              :           break;
   10083            0 :         case CFN_BUILT_IN_CTZIMAX:
   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 INTEGER_CST:
   10090            0 :                   {
   10091            0 :                     {
   10092            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10093            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZIMAX);
   10094            0 :                       if (res) return res;
   10095              :                     }
   10096            0 :                     break;
   10097              :                   }
   10098              :                 default:;
   10099              :                 }
   10100              :             }
   10101              :           break;
   10102            0 :         case CFN_CTZ:
   10103            0 :           if (call_expr_nargs (_p0) == 2)
   10104              :     {
   10105            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10106            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10107            0 :               switch (TREE_CODE (_p1))
   10108              :                 {
   10109            0 :                 case INTEGER_CST:
   10110            0 :                   {
   10111            0 :                     {
   10112            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10113            0 :                       tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   10114            0 :                       if (res) return res;
   10115              :                     }
   10116            0 :                     break;
   10117              :                   }
   10118              :                 default:;
   10119              :                 }
   10120              :             }
   10121            0 :           if (call_expr_nargs (_p0) == 1)
   10122              :     {
   10123            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10124            0 :               switch (TREE_CODE (_p1))
   10125              :                 {
   10126            0 :                 case INTEGER_CST:
   10127            0 :                   {
   10128            0 :                     {
   10129            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10130            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_CTZ);
   10131            0 :                       if (res) return res;
   10132              :                     }
   10133            0 :                     break;
   10134              :                   }
   10135              :                 default:;
   10136              :                 }
   10137              :             }
   10138              :           break;
   10139            0 :         case CFN_EXP:
   10140            0 :           if (call_expr_nargs (_p0) == 1)
   10141              :     {
   10142            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10143            0 :               switch (TREE_CODE (_p1))
   10144              :                 {
   10145            0 :                 case REAL_CST:
   10146            0 :                   {
   10147            0 :                     {
   10148            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10149            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, GE_EXPR);
   10150            0 :                       if (res) return res;
   10151              :                     }
   10152            0 :                     break;
   10153              :                   }
   10154              :                 default:;
   10155              :                 }
   10156              :             }
   10157              :           break;
   10158            0 :         case CFN_LOG:
   10159            0 :           if (call_expr_nargs (_p0) == 1)
   10160              :     {
   10161            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10162            0 :               switch (TREE_CODE (_p1))
   10163              :                 {
   10164            0 :                 case REAL_CST:
   10165            0 :                   {
   10166            0 :                     {
   10167            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10168            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, GE_EXPR);
   10169            0 :                       if (res) return res;
   10170              :                     }
   10171            0 :                     break;
   10172              :                   }
   10173              :                 default:;
   10174              :                 }
   10175              :             }
   10176              :           break;
   10177            0 :         case CFN_EXP2:
   10178            0 :           if (call_expr_nargs (_p0) == 1)
   10179              :     {
   10180            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10181            0 :               switch (TREE_CODE (_p1))
   10182              :                 {
   10183            0 :                 case REAL_CST:
   10184            0 :                   {
   10185            0 :                     {
   10186            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10187            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, GE_EXPR);
   10188            0 :                       if (res) return res;
   10189              :                     }
   10190            0 :                     break;
   10191              :                   }
   10192              :                 default:;
   10193              :                 }
   10194              :             }
   10195              :           break;
   10196            0 :         case CFN_LOG2:
   10197            0 :           if (call_expr_nargs (_p0) == 1)
   10198              :     {
   10199            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10200            0 :               switch (TREE_CODE (_p1))
   10201              :                 {
   10202            0 :                 case REAL_CST:
   10203            0 :                   {
   10204            0 :                     {
   10205            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10206            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, GE_EXPR);
   10207            0 :                       if (res) return res;
   10208              :                     }
   10209            0 :                     break;
   10210              :                   }
   10211              :                 default:;
   10212              :                 }
   10213              :             }
   10214              :           break;
   10215            0 :         case CFN_EXP10:
   10216            0 :           if (call_expr_nargs (_p0) == 1)
   10217              :     {
   10218            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10219            0 :               switch (TREE_CODE (_p1))
   10220              :                 {
   10221            0 :                 case REAL_CST:
   10222            0 :                   {
   10223            0 :                     {
   10224            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10225            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, GE_EXPR);
   10226            0 :                       if (res) return res;
   10227              :                     }
   10228            0 :                     break;
   10229              :                   }
   10230              :                 default:;
   10231              :                 }
   10232              :             }
   10233              :           break;
   10234            0 :         case CFN_BUILT_IN_CTZLL:
   10235            0 :           if (call_expr_nargs (_p0) == 1)
   10236              :     {
   10237            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10238            0 :               switch (TREE_CODE (_p1))
   10239              :                 {
   10240            0 :                 case INTEGER_CST:
   10241            0 :                   {
   10242            0 :                     {
   10243            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10244            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZLL);
   10245            0 :                       if (res) return res;
   10246              :                     }
   10247            0 :                     break;
   10248              :                   }
   10249              :                 default:;
   10250              :                 }
   10251              :             }
   10252              :           break;
   10253            0 :         case CFN_LOG10:
   10254            0 :           if (call_expr_nargs (_p0) == 1)
   10255              :     {
   10256            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10257            0 :               switch (TREE_CODE (_p1))
   10258              :                 {
   10259            0 :                 case REAL_CST:
   10260            0 :                   {
   10261            0 :                     {
   10262            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10263            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, GE_EXPR);
   10264            0 :                       if (res) return res;
   10265              :                     }
   10266            0 :                     break;
   10267              :                   }
   10268              :                 default:;
   10269              :                 }
   10270              :             }
   10271              :           break;
   10272            0 :         case CFN_BUILT_IN_EXP10:
   10273            0 :           if (call_expr_nargs (_p0) == 1)
   10274              :     {
   10275            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10276            0 :               switch (TREE_CODE (_p1))
   10277              :                 {
   10278            0 :                 case REAL_CST:
   10279            0 :                   {
   10280            0 :                     {
   10281            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10282            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, GE_EXPR);
   10283            0 :                       if (res) return res;
   10284              :                     }
   10285            0 :                     break;
   10286              :                   }
   10287              :                 default:;
   10288              :                 }
   10289              :             }
   10290              :           break;
   10291            0 :         case CFN_BUILT_IN_EXP2F:
   10292            0 :           if (call_expr_nargs (_p0) == 1)
   10293              :     {
   10294            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10295            0 :               switch (TREE_CODE (_p1))
   10296              :                 {
   10297            0 :                 case REAL_CST:
   10298            0 :                   {
   10299            0 :                     {
   10300            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10301            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, GE_EXPR);
   10302            0 :                       if (res) return res;
   10303              :                     }
   10304            0 :                     break;
   10305              :                   }
   10306              :                 default:;
   10307              :                 }
   10308              :             }
   10309              :           break;
   10310            0 :         case CFN_BUILT_IN_EXP2L:
   10311            0 :           if (call_expr_nargs (_p0) == 1)
   10312              :     {
   10313            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10314            0 :               switch (TREE_CODE (_p1))
   10315              :                 {
   10316            0 :                 case REAL_CST:
   10317            0 :                   {
   10318            0 :                     {
   10319            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10320            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, GE_EXPR);
   10321            0 :                       if (res) return res;
   10322              :                     }
   10323            0 :                     break;
   10324              :                   }
   10325              :                 default:;
   10326              :                 }
   10327              :             }
   10328              :           break;
   10329            0 :         case CFN_BUILT_IN_LOG10:
   10330            0 :           if (call_expr_nargs (_p0) == 1)
   10331              :     {
   10332            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10333            0 :               switch (TREE_CODE (_p1))
   10334              :                 {
   10335            0 :                 case REAL_CST:
   10336            0 :                   {
   10337            0 :                     {
   10338            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10339            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, GE_EXPR);
   10340            0 :                       if (res) return res;
   10341              :                     }
   10342            0 :                     break;
   10343              :                   }
   10344              :                 default:;
   10345              :                 }
   10346              :             }
   10347              :           break;
   10348            0 :         case CFN_BUILT_IN_LOG2F:
   10349            0 :           if (call_expr_nargs (_p0) == 1)
   10350              :     {
   10351            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10352            0 :               switch (TREE_CODE (_p1))
   10353              :                 {
   10354            0 :                 case REAL_CST:
   10355            0 :                   {
   10356            0 :                     {
   10357            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10358            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, GE_EXPR);
   10359            0 :                       if (res) return res;
   10360              :                     }
   10361            0 :                     break;
   10362              :                   }
   10363              :                 default:;
   10364              :                 }
   10365              :             }
   10366              :           break;
   10367            0 :         case CFN_BUILT_IN_LOG2L:
   10368            0 :           if (call_expr_nargs (_p0) == 1)
   10369              :     {
   10370            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10371            0 :               switch (TREE_CODE (_p1))
   10372              :                 {
   10373            0 :                 case REAL_CST:
   10374            0 :                   {
   10375            0 :                     {
   10376            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10377            0 :                       tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, GE_EXPR);
   10378            0 :                       if (res) return res;
   10379              :                     }
   10380            0 :                     break;
   10381              :                   }
   10382              :                 default:;
   10383              :                 }
   10384              :             }
   10385              :           break;
   10386              :         default:;
   10387              :         }
   10388              :       break;
   10389              :     default:;
   10390              :     }
   10391              :   return NULL_TREE;
   10392              : }
   10393              : 
   10394              : tree
   10395         1887 : generic_simplify_LROTATE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10396              : {
   10397         1887 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10398         1887 :   if (integer_all_onesp (_p0))
   10399              :     {
   10400            0 :       {
   10401            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10402            0 :         tree res = generic_simplify_557 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10403            0 :         if (res) return res;
   10404              :       }
   10405              :     }
   10406         1887 :   if (integer_zerop (_p1))
   10407              :     {
   10408            0 :       {
   10409            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10410            0 :         tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10411            0 :         if (res) return res;
   10412              :       }
   10413              :     }
   10414         1887 :   if (integer_zerop (_p0))
   10415              :     {
   10416            0 :       {
   10417            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10418            0 :         tree res = generic_simplify_422 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10419            0 :         if (res) return res;
   10420              :       }
   10421              :     }
   10422         1887 :   switch (TREE_CODE (_p1))
   10423              :     {
   10424            0 :     case VECTOR_CST:
   10425            0 :       {
   10426            0 :         {
   10427            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10428            0 :           tree res = generic_simplify_423 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10429            0 :           if (res) return res;
   10430              :         }
   10431            0 :         break;
   10432              :       }
   10433            0 :     case CONSTRUCTOR:
   10434            0 :       {
   10435            0 :         {
   10436            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10437            0 :           tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10438            0 :           if (res) return res;
   10439              :         }
   10440            0 :         break;
   10441              :       }
   10442         1238 :     case INTEGER_CST:
   10443         1238 :       {
   10444         1238 :         {
   10445         1238 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10446         1238 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1758;
   10447         1238 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1758;
   10448         1238 :           {
   10449         1238 :             tree res_op0;
   10450         1238 :             res_op0 = captures[0];
   10451         1238 :             tree res_op1;
   10452         1238 :             res_op1 =  const_binop (MINUS_EXPR, TREE_TYPE (captures[1]),
   10453         1238 :  build_int_cst (TREE_TYPE (captures[1]),
   10454         1238 :  element_precision (type)), captures[1]);
   10455         1238 :             tree _r;
   10456         1238 :             _r = fold_build2_loc (loc, RROTATE_EXPR, type, res_op0, res_op1);
   10457         1238 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1035, __FILE__, __LINE__, true);
   10458         1238 :             return _r;
   10459              :           }
   10460            0 : next_after_fail1758:;
   10461              :         }
   10462            0 :         break;
   10463              :       }
   10464            0 :     case MINUS_EXPR:
   10465            0 :       {
   10466            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10467            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10468            0 :         switch (TREE_CODE (_q30))
   10469              :           {
   10470            0 :           case INTEGER_CST:
   10471            0 :             {
   10472            0 :               {
   10473            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
   10474            0 :                 tree res = generic_simplify_558 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR);
   10475            0 :                 if (res) return res;
   10476              :               }
   10477            0 :               break;
   10478              :             }
   10479              :           default:;
   10480              :           }
   10481              :         break;
   10482              :       }
   10483          649 :     default:;
   10484              :     }
   10485          649 :   switch (TREE_CODE (_p0))
   10486              :     {
   10487            0 :     case LROTATE_EXPR:
   10488            0 :       {
   10489            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10490            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10491            0 :         switch (TREE_CODE (_q21))
   10492              :           {
   10493            0 :           case INTEGER_CST:
   10494            0 :             {
   10495            0 :               switch (TREE_CODE (_p1))
   10496              :                 {
   10497            0 :                 case INTEGER_CST:
   10498            0 :                   {
   10499            0 :                     {
   10500            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   10501            0 :                       tree res = generic_simplify_425 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10502            0 :                       if (res) return res;
   10503              :                     }
   10504            0 :                     break;
   10505              :                   }
   10506              :                 default:;
   10507              :                 }
   10508              :               break;
   10509              :             }
   10510              :           default:;
   10511              :           }
   10512              :         break;
   10513              :       }
   10514              :     default:;
   10515              :     }
   10516              :   return NULL_TREE;
   10517              : }
   10518              : 
   10519              : tree
   10520         2732 : generic_simplify_RROTATE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10521              : {
   10522         2732 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10523         2732 :   if (integer_all_onesp (_p0))
   10524              :     {
   10525            0 :       {
   10526            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10527            0 :         tree res = generic_simplify_557 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10528            0 :         if (res) return res;
   10529              :       }
   10530              :     }
   10531         2732 :   if (integer_zerop (_p1))
   10532              :     {
   10533            1 :       {
   10534            1 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10535            1 :         tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10536            1 :         if (res) return res;
   10537              :       }
   10538              :     }
   10539         2731 :   if (integer_zerop (_p0))
   10540              :     {
   10541            0 :       {
   10542            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10543            0 :         tree res = generic_simplify_422 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10544            0 :         if (res) return res;
   10545              :       }
   10546              :     }
   10547         2731 :   switch (TREE_CODE (_p1))
   10548              :     {
   10549            0 :     case VECTOR_CST:
   10550            0 :       {
   10551            0 :         {
   10552            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10553            0 :           tree res = generic_simplify_423 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10554            0 :           if (res) return res;
   10555              :         }
   10556            0 :         break;
   10557              :       }
   10558            0 :     case CONSTRUCTOR:
   10559            0 :       {
   10560            0 :         {
   10561            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10562            0 :           tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10563            0 :           if (res) return res;
   10564              :         }
   10565            0 :         break;
   10566              :       }
   10567            0 :     case MINUS_EXPR:
   10568            0 :       {
   10569            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10570            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10571            0 :         switch (TREE_CODE (_q30))
   10572              :           {
   10573            0 :           case INTEGER_CST:
   10574            0 :             {
   10575            0 :               {
   10576            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
   10577            0 :                 tree res = generic_simplify_558 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR);
   10578            0 :                 if (res) return res;
   10579              :               }
   10580            0 :               break;
   10581              :             }
   10582              :           default:;
   10583              :           }
   10584              :         break;
   10585              :       }
   10586         2731 :     default:;
   10587              :     }
   10588         2731 :   switch (TREE_CODE (_p0))
   10589              :     {
   10590            0 :     case RROTATE_EXPR:
   10591            0 :       {
   10592            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10593            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10594            0 :         switch (TREE_CODE (_q21))
   10595              :           {
   10596            0 :           case INTEGER_CST:
   10597            0 :             {
   10598            0 :               switch (TREE_CODE (_p1))
   10599              :                 {
   10600            0 :                 case INTEGER_CST:
   10601            0 :                   {
   10602            0 :                     {
   10603            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   10604            0 :                       tree res = generic_simplify_425 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10605            0 :                       if (res) return res;
   10606              :                     }
   10607            0 :                     break;
   10608              :                   }
   10609              :                 default:;
   10610              :                 }
   10611              :               break;
   10612              :             }
   10613              :           default:;
   10614              :           }
   10615              :         break;
   10616              :       }
   10617              :     default:;
   10618              :     }
   10619              :   return NULL_TREE;
   10620              : }
   10621              : 
   10622              : tree
   10623       575555 : generic_simplify_COMPLEX_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10624              : {
   10625       575555 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10626       575555 :   switch (TREE_CODE (_p0))
   10627              :     {
   10628           40 :     case REALPART_EXPR:
   10629           40 :       {
   10630           40 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10631           40 :         switch (TREE_CODE (_p1))
   10632              :           {
   10633           30 :           case IMAGPART_EXPR:
   10634           30 :             {
   10635           30 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10636           30 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   10637              :                 {
   10638           30 :                   {
   10639           30 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10640           30 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1759;
   10641           30 :                     {
   10642           30 :                       tree _r;
   10643           30 :                       _r = captures[0];
   10644           30 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1036, __FILE__, __LINE__, true);
   10645           30 :                       return _r;
   10646              :                     }
   10647            0 : next_after_fail1759:;
   10648              :                   }
   10649              :                 }
   10650              :               break;
   10651              :             }
   10652              :           default:;
   10653              :           }
   10654              :         break;
   10655              :       }
   10656              :     default:;
   10657              :     }
   10658              :   return NULL_TREE;
   10659              : }
   10660              : 
   10661              : tree
   10662       738858 : generic_simplify_UNORDERED_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10663              : {
   10664       738858 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10665       738858 :   switch (TREE_CODE (_p0))
   10666              :     {
   10667            0 :     case VEC_COND_EXPR:
   10668            0 :       {
   10669            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10670            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10671            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   10672            0 :         switch (TREE_CODE (_p1))
   10673              :           {
   10674            0 :           case VEC_COND_EXPR:
   10675            0 :             {
   10676            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   10677            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   10678            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   10679            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10680              :                 {
   10681            0 :                   {
   10682            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   10683            0 :                     if (VECTOR_TYPE_P (type)
   10684            0 :  && (TREE_CODE_CLASS (UNORDERED_EXPR) != tcc_comparison
   10685            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10686            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10687              :  || (optimize_vectors_before_lowering_p ()
   10688            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10689              : )
   10690              :                       {
   10691            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1760;
   10692            0 :                         {
   10693            0 :                           tree res_op0;
   10694            0 :                           res_op0 = captures[1];
   10695            0 :                           tree res_op1;
   10696            0 :                           {
   10697            0 :                             tree _o1[2], _r1;
   10698            0 :                             _o1[0] = captures[2];
   10699            0 :                             _o1[1] = captures[5];
   10700            0 :                             _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   10701            0 :                             if (EXPR_P (_r1))
   10702            0 :                               goto next_after_fail1760;
   10703            0 :                             res_op1 = _r1;
   10704              :                           }
   10705            0 :                           tree res_op2;
   10706            0 :                           {
   10707            0 :                             tree _o1[2], _r1;
   10708            0 :                             _o1[0] = captures[3];
   10709            0 :                             _o1[1] = captures[6];
   10710            0 :                             _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   10711            0 :                             if (EXPR_P (_r1))
   10712            0 :                               goto next_after_fail1760;
   10713            0 :                             res_op2 = _r1;
   10714              :                           }
   10715            0 :                           tree _r;
   10716            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10717            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
   10718            0 :                           return _r;
   10719              :                         }
   10720            0 : next_after_fail1760:;
   10721              :                       }
   10722              :                   }
   10723              :                 }
   10724              :               break;
   10725              :             }
   10726            0 :           default:;
   10727              :           }
   10728            0 :         {
   10729            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   10730            0 :           if (VECTOR_TYPE_P (type)
   10731            0 :  && (TREE_CODE_CLASS (UNORDERED_EXPR) != tcc_comparison
   10732            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10733            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10734              :  || (optimize_vectors_before_lowering_p ()
   10735            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10736              : )
   10737              :             {
   10738            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1761;
   10739            0 :               {
   10740            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1761;
   10741            0 :                 tree res_op0;
   10742            0 :                 res_op0 = captures[1];
   10743            0 :                 tree res_op1;
   10744            0 :                 {
   10745            0 :                   tree _o1[2], _r1;
   10746            0 :                   _o1[0] = captures[2];
   10747            0 :                   _o1[1] = unshare_expr (captures[4]);
   10748            0 :                   _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   10749            0 :                   if (EXPR_P (_r1))
   10750            0 :                     goto next_after_fail1761;
   10751            0 :                   res_op1 = _r1;
   10752              :                 }
   10753            0 :                 tree res_op2;
   10754            0 :                 {
   10755            0 :                   tree _o1[2], _r1;
   10756            0 :                   _o1[0] = captures[3];
   10757            0 :                   _o1[1] = captures[4];
   10758            0 :                   _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   10759            0 :                   if (EXPR_P (_r1))
   10760            0 :                     goto next_after_fail1761;
   10761            0 :                   res_op2 = _r1;
   10762              :                 }
   10763            0 :                 tree _r;
   10764            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10765            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
   10766            0 :                 return _r;
   10767              :               }
   10768            0 : next_after_fail1761:;
   10769              :             }
   10770              :         }
   10771            0 :         break;
   10772              :       }
   10773       738858 :     default:;
   10774              :     }
   10775       738858 :   switch (TREE_CODE (_p1))
   10776              :     {
   10777            0 :     case VEC_COND_EXPR:
   10778            0 :       {
   10779            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10780            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10781            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   10782            0 :         {
   10783            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   10784            0 :           if (VECTOR_TYPE_P (type)
   10785            0 :  && (TREE_CODE_CLASS (UNORDERED_EXPR) != tcc_comparison
   10786            0 :  || types_match (type, TREE_TYPE (captures[3]))
   10787            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   10788              :  || (optimize_vectors_before_lowering_p ()
   10789            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   10790              : )
   10791              :             {
   10792            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1762;
   10793            0 :               {
   10794            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1762;
   10795            0 :                 tree res_op0;
   10796            0 :                 res_op0 = captures[2];
   10797            0 :                 tree res_op1;
   10798            0 :                 {
   10799            0 :                   tree _o1[2], _r1;
   10800            0 :                   _o1[0] = unshare_expr (captures[0]);
   10801            0 :                   _o1[1] = captures[3];
   10802            0 :                   _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   10803            0 :                   if (EXPR_P (_r1))
   10804            0 :                     goto next_after_fail1762;
   10805            0 :                   res_op1 = _r1;
   10806              :                 }
   10807            0 :                 tree res_op2;
   10808            0 :                 {
   10809            0 :                   tree _o1[2], _r1;
   10810            0 :                   _o1[0] = captures[0];
   10811            0 :                   _o1[1] = captures[4];
   10812            0 :                   _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   10813            0 :                   if (EXPR_P (_r1))
   10814            0 :                     goto next_after_fail1762;
   10815            0 :                   res_op2 = _r1;
   10816              :                 }
   10817            0 :                 tree _r;
   10818            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10819            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
   10820            0 :                 return _r;
   10821              :               }
   10822            0 : next_after_fail1762:;
   10823              :             }
   10824              :         }
   10825            0 :         break;
   10826              :       }
   10827       738858 :     default:;
   10828              :     }
   10829       738858 :   switch (TREE_CODE (_p0))
   10830              :     {
   10831            0 :     case FLOAT_EXPR:
   10832            0 :       {
   10833            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10834            0 :         switch (TREE_CODE (_p1))
   10835              :           {
   10836            0 :           case FLOAT_EXPR:
   10837            0 :             {
   10838            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10839            0 :               {
   10840            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   10841            0 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
   10842            0 :                 if (res) return res;
   10843              :               }
   10844            0 :               break;
   10845              :             }
   10846              :           default:;
   10847              :           }
   10848              :         break;
   10849              :       }
   10850           18 :     case NEGATE_EXPR:
   10851           18 :       {
   10852           18 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10853           18 :         switch (TREE_CODE (_p1))
   10854              :           {
   10855           18 :           case NEGATE_EXPR:
   10856           18 :             {
   10857           18 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10858           18 :               {
   10859           18 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   10860           18 :                 tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
   10861           18 :                 if (res) return res;
   10862              :               }
   10863            0 :               break;
   10864              :             }
   10865            0 :           default:;
   10866              :           }
   10867            0 :       if (CONSTANT_CLASS_P (_p1))
   10868              :         {
   10869            0 :           {
   10870            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10871            0 :             tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
   10872            0 :             if (res) return res;
   10873              :           }
   10874              :         }
   10875              :         break;
   10876              :       }
   10877       738840 :     default:;
   10878              :     }
   10879       738840 :   switch (TREE_CODE (_p1))
   10880              :     {
   10881          519 :     case REAL_CST:
   10882          519 :       {
   10883          519 :         {
   10884          519 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10885          519 :           tree res = generic_simplify_564 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
   10886          519 :           if (res) return res;
   10887              :         }
   10888          519 :         break;
   10889              :       }
   10890       738840 :     default:;
   10891              :     }
   10892       738840 :   {
   10893       738840 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10894       738840 :     if (tree_expr_nan_p (captures[0]) || tree_expr_nan_p (captures[1])
   10895              : )
   10896              :       {
   10897            0 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1763;
   10898            0 :         {
   10899            0 :           tree _r;
   10900            0 :           _r =  constant_boolean_node (true, type);
   10901            0 :           if (TREE_SIDE_EFFECTS (captures[0]))
   10902            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   10903            0 :           if (TREE_SIDE_EFFECTS (captures[1]))
   10904            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   10905            0 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1037, __FILE__, __LINE__, true);
   10906            0 :           return _r;
   10907              :         }
   10908            0 : next_after_fail1763:;
   10909              :       }
   10910              :     else
   10911              :       {
   10912       738840 :         if (!tree_expr_maybe_nan_p (captures[0]) && !tree_expr_maybe_nan_p (captures[1])
   10913              : )
   10914              :           {
   10915           35 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1764;
   10916           35 :             {
   10917           35 :               tree _r;
   10918           35 :               _r =  constant_boolean_node (false, type);
   10919           35 :               if (TREE_SIDE_EFFECTS (captures[0]))
   10920            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   10921           35 :               if (TREE_SIDE_EFFECTS (captures[1]))
   10922            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   10923           35 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1038, __FILE__, __LINE__, true);
   10924           35 :               return _r;
   10925              :             }
   10926            0 : next_after_fail1764:;
   10927              :           }
   10928              :       }
   10929              :   }
   10930       738805 :   return NULL_TREE;
   10931              : }
   10932              : 
   10933              : tree
   10934       703932 : generic_simplify_UNLT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10935              : {
   10936       703932 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10937       703932 :   switch (TREE_CODE (_p0))
   10938              :     {
   10939            0 :     case VEC_COND_EXPR:
   10940            0 :       {
   10941            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10942            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10943            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   10944            0 :         switch (TREE_CODE (_p1))
   10945              :           {
   10946            0 :           case VEC_COND_EXPR:
   10947            0 :             {
   10948            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   10949            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   10950            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   10951            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10952              :                 {
   10953            0 :                   {
   10954            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   10955            0 :                     if (VECTOR_TYPE_P (type)
   10956            0 :  && (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
   10957            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10958            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10959              :  || (optimize_vectors_before_lowering_p ()
   10960            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10961              : )
   10962              :                       {
   10963            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1770;
   10964            0 :                         {
   10965            0 :                           tree res_op0;
   10966            0 :                           res_op0 = captures[1];
   10967            0 :                           tree res_op1;
   10968            0 :                           {
   10969            0 :                             tree _o1[2], _r1;
   10970            0 :                             _o1[0] = captures[2];
   10971            0 :                             _o1[1] = captures[5];
   10972            0 :                             _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   10973            0 :                             if (EXPR_P (_r1))
   10974            0 :                               goto next_after_fail1770;
   10975            0 :                             res_op1 = _r1;
   10976              :                           }
   10977            0 :                           tree res_op2;
   10978            0 :                           {
   10979            0 :                             tree _o1[2], _r1;
   10980            0 :                             _o1[0] = captures[3];
   10981            0 :                             _o1[1] = captures[6];
   10982            0 :                             _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   10983            0 :                             if (EXPR_P (_r1))
   10984            0 :                               goto next_after_fail1770;
   10985            0 :                             res_op2 = _r1;
   10986              :                           }
   10987            0 :                           tree _r;
   10988            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10989            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
   10990            0 :                           return _r;
   10991              :                         }
   10992            0 : next_after_fail1770:;
   10993              :                       }
   10994              :                   }
   10995              :                 }
   10996              :               break;
   10997              :             }
   10998            0 :           default:;
   10999              :           }
   11000            0 :         {
   11001            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   11002            0 :           if (VECTOR_TYPE_P (type)
   11003            0 :  && (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
   11004            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11005            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11006              :  || (optimize_vectors_before_lowering_p ()
   11007            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11008              : )
   11009              :             {
   11010            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1771;
   11011            0 :               {
   11012            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1771;
   11013            0 :                 tree res_op0;
   11014            0 :                 res_op0 = captures[1];
   11015            0 :                 tree res_op1;
   11016            0 :                 {
   11017            0 :                   tree _o1[2], _r1;
   11018            0 :                   _o1[0] = captures[2];
   11019            0 :                   _o1[1] = unshare_expr (captures[4]);
   11020            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   11021            0 :                   if (EXPR_P (_r1))
   11022            0 :                     goto next_after_fail1771;
   11023            0 :                   res_op1 = _r1;
   11024              :                 }
   11025            0 :                 tree res_op2;
   11026            0 :                 {
   11027            0 :                   tree _o1[2], _r1;
   11028            0 :                   _o1[0] = captures[3];
   11029            0 :                   _o1[1] = captures[4];
   11030            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   11031            0 :                   if (EXPR_P (_r1))
   11032            0 :                     goto next_after_fail1771;
   11033            0 :                   res_op2 = _r1;
   11034              :                 }
   11035            0 :                 tree _r;
   11036            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11037            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
   11038            0 :                 return _r;
   11039              :               }
   11040            0 : next_after_fail1771:;
   11041              :             }
   11042              :         }
   11043            0 :         break;
   11044              :       }
   11045       703932 :     default:;
   11046              :     }
   11047       703932 :   switch (TREE_CODE (_p1))
   11048              :     {
   11049            0 :     case VEC_COND_EXPR:
   11050            0 :       {
   11051            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11052            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11053            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11054            0 :         {
   11055            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   11056            0 :           if (VECTOR_TYPE_P (type)
   11057            0 :  && (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
   11058            0 :  || types_match (type, TREE_TYPE (captures[3]))
   11059            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   11060              :  || (optimize_vectors_before_lowering_p ()
   11061            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   11062              : )
   11063              :             {
   11064            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1772;
   11065            0 :               {
   11066            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1772;
   11067            0 :                 tree res_op0;
   11068            0 :                 res_op0 = captures[2];
   11069            0 :                 tree res_op1;
   11070            0 :                 {
   11071            0 :                   tree _o1[2], _r1;
   11072            0 :                   _o1[0] = unshare_expr (captures[0]);
   11073            0 :                   _o1[1] = captures[3];
   11074            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   11075            0 :                   if (EXPR_P (_r1))
   11076            0 :                     goto next_after_fail1772;
   11077            0 :                   res_op1 = _r1;
   11078              :                 }
   11079            0 :                 tree res_op2;
   11080            0 :                 {
   11081            0 :                   tree _o1[2], _r1;
   11082            0 :                   _o1[0] = captures[0];
   11083            0 :                   _o1[1] = captures[4];
   11084            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   11085            0 :                   if (EXPR_P (_r1))
   11086            0 :                     goto next_after_fail1772;
   11087            0 :                   res_op2 = _r1;
   11088              :                 }
   11089            0 :                 tree _r;
   11090            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11091            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
   11092            0 :                 return _r;
   11093              :               }
   11094            0 : next_after_fail1772:;
   11095              :             }
   11096              :         }
   11097            0 :         break;
   11098              :       }
   11099       703932 :     default:;
   11100              :     }
   11101       703932 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11102              :     {
   11103            0 :       {
   11104            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11105            0 :         tree res = generic_simplify_565 (loc, type, _p0, _p1, captures, UNLT_EXPR);
   11106            0 :         if (res) return res;
   11107              :       }
   11108              :     }
   11109       703932 :   switch (TREE_CODE (_p0))
   11110              :     {
   11111          283 :     case FLOAT_EXPR:
   11112          283 :       {
   11113          283 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11114          283 :         switch (TREE_CODE (_p1))
   11115              :           {
   11116            0 :           case FLOAT_EXPR:
   11117            0 :             {
   11118            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11119            0 :               {
   11120            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   11121            0 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, UNLT_EXPR, LT_EXPR);
   11122            0 :                 if (res) return res;
   11123              :               }
   11124            0 :               break;
   11125              :             }
   11126              :           default:;
   11127              :           }
   11128              :         break;
   11129              :       }
   11130            0 :     case NEGATE_EXPR:
   11131            0 :       {
   11132            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11133            0 :         switch (TREE_CODE (_p1))
   11134              :           {
   11135            0 :           case NEGATE_EXPR:
   11136            0 :             {
   11137            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11138            0 :               {
   11139            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11140            0 :                 tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, UNLT_EXPR, UNGT_EXPR);
   11141            0 :                 if (res) return res;
   11142              :               }
   11143            0 :               break;
   11144              :             }
   11145            0 :           default:;
   11146              :           }
   11147            0 :       if (CONSTANT_CLASS_P (_p1))
   11148              :         {
   11149            0 :           {
   11150            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11151            0 :             tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, UNLT_EXPR, UNGT_EXPR);
   11152            0 :             if (res) return res;
   11153              :           }
   11154              :         }
   11155              :         break;
   11156              :       }
   11157       703932 :     default:;
   11158              :     }
   11159       703932 :   switch (TREE_CODE (_p1))
   11160              :     {
   11161       353392 :     case REAL_CST:
   11162       353392 :       {
   11163       353392 :         {
   11164       353392 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11165       353392 :           tree res = generic_simplify_564 (loc, type, _p0, _p1, captures, UNLT_EXPR);
   11166       353392 :           if (res) return res;
   11167              :         }
   11168       353390 :         break;
   11169              :       }
   11170              :     default:;
   11171              :     }
   11172              :   return NULL_TREE;
   11173              : }
   11174              : 
   11175              : tree
   11176       350382 : generic_simplify_UNEQ_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11177              : {
   11178       350382 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11179       350382 :   switch (TREE_CODE (_p0))
   11180              :     {
   11181            0 :     case VEC_COND_EXPR:
   11182            0 :       {
   11183            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11184            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11185            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   11186            0 :         switch (TREE_CODE (_p1))
   11187              :           {
   11188            0 :           case VEC_COND_EXPR:
   11189            0 :             {
   11190            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   11191            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   11192            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   11193            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11194              :                 {
   11195            0 :                   {
   11196            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   11197            0 :                     if (VECTOR_TYPE_P (type)
   11198            0 :  && (TREE_CODE_CLASS (UNEQ_EXPR) != tcc_comparison
   11199            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11200            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11201              :  || (optimize_vectors_before_lowering_p ()
   11202            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11203              : )
   11204              :                       {
   11205            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1782;
   11206            0 :                         {
   11207            0 :                           tree res_op0;
   11208            0 :                           res_op0 = captures[1];
   11209            0 :                           tree res_op1;
   11210            0 :                           {
   11211            0 :                             tree _o1[2], _r1;
   11212            0 :                             _o1[0] = captures[2];
   11213            0 :                             _o1[1] = captures[5];
   11214            0 :                             _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   11215            0 :                             if (EXPR_P (_r1))
   11216            0 :                               goto next_after_fail1782;
   11217            0 :                             res_op1 = _r1;
   11218              :                           }
   11219            0 :                           tree res_op2;
   11220            0 :                           {
   11221            0 :                             tree _o1[2], _r1;
   11222            0 :                             _o1[0] = captures[3];
   11223            0 :                             _o1[1] = captures[6];
   11224            0 :                             _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   11225            0 :                             if (EXPR_P (_r1))
   11226            0 :                               goto next_after_fail1782;
   11227            0 :                             res_op2 = _r1;
   11228              :                           }
   11229            0 :                           tree _r;
   11230            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11231            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
   11232            0 :                           return _r;
   11233              :                         }
   11234            0 : next_after_fail1782:;
   11235              :                       }
   11236              :                   }
   11237              :                 }
   11238              :               break;
   11239              :             }
   11240            0 :           default:;
   11241              :           }
   11242            0 :         {
   11243            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   11244            0 :           if (VECTOR_TYPE_P (type)
   11245            0 :  && (TREE_CODE_CLASS (UNEQ_EXPR) != tcc_comparison
   11246            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11247            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11248              :  || (optimize_vectors_before_lowering_p ()
   11249            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11250              : )
   11251              :             {
   11252            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1783;
   11253            0 :               {
   11254            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1783;
   11255            0 :                 tree res_op0;
   11256            0 :                 res_op0 = captures[1];
   11257            0 :                 tree res_op1;
   11258            0 :                 {
   11259            0 :                   tree _o1[2], _r1;
   11260            0 :                   _o1[0] = captures[2];
   11261            0 :                   _o1[1] = unshare_expr (captures[4]);
   11262            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   11263            0 :                   if (EXPR_P (_r1))
   11264            0 :                     goto next_after_fail1783;
   11265            0 :                   res_op1 = _r1;
   11266              :                 }
   11267            0 :                 tree res_op2;
   11268            0 :                 {
   11269            0 :                   tree _o1[2], _r1;
   11270            0 :                   _o1[0] = captures[3];
   11271            0 :                   _o1[1] = captures[4];
   11272            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   11273            0 :                   if (EXPR_P (_r1))
   11274            0 :                     goto next_after_fail1783;
   11275            0 :                   res_op2 = _r1;
   11276              :                 }
   11277            0 :                 tree _r;
   11278            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11279            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
   11280            0 :                 return _r;
   11281              :               }
   11282            0 : next_after_fail1783:;
   11283              :             }
   11284              :         }
   11285            0 :         break;
   11286              :       }
   11287       350382 :     default:;
   11288              :     }
   11289       350382 :   switch (TREE_CODE (_p1))
   11290              :     {
   11291            0 :     case VEC_COND_EXPR:
   11292            0 :       {
   11293            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11294            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11295            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11296            0 :         {
   11297            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   11298            0 :           if (VECTOR_TYPE_P (type)
   11299            0 :  && (TREE_CODE_CLASS (UNEQ_EXPR) != tcc_comparison
   11300            0 :  || types_match (type, TREE_TYPE (captures[3]))
   11301            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   11302              :  || (optimize_vectors_before_lowering_p ()
   11303            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   11304              : )
   11305              :             {
   11306            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1784;
   11307            0 :               {
   11308            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1784;
   11309            0 :                 tree res_op0;
   11310            0 :                 res_op0 = captures[2];
   11311            0 :                 tree res_op1;
   11312            0 :                 {
   11313            0 :                   tree _o1[2], _r1;
   11314            0 :                   _o1[0] = unshare_expr (captures[0]);
   11315            0 :                   _o1[1] = captures[3];
   11316            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   11317            0 :                   if (EXPR_P (_r1))
   11318            0 :                     goto next_after_fail1784;
   11319            0 :                   res_op1 = _r1;
   11320              :                 }
   11321            0 :                 tree res_op2;
   11322            0 :                 {
   11323            0 :                   tree _o1[2], _r1;
   11324            0 :                   _o1[0] = captures[0];
   11325            0 :                   _o1[1] = captures[4];
   11326            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   11327            0 :                   if (EXPR_P (_r1))
   11328            0 :                     goto next_after_fail1784;
   11329            0 :                   res_op2 = _r1;
   11330              :                 }
   11331            0 :                 tree _r;
   11332            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11333            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
   11334            0 :                 return _r;
   11335              :               }
   11336            0 : next_after_fail1784:;
   11337              :             }
   11338              :         }
   11339            0 :         break;
   11340              :       }
   11341       350382 :     default:;
   11342              :     }
   11343       350382 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11344              :     {
   11345            0 :       {
   11346            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11347            0 :         tree res = generic_simplify_566 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
   11348            0 :         if (res) return res;
   11349              :       }
   11350              :     }
   11351       350382 :   switch (TREE_CODE (_p0))
   11352              :     {
   11353            0 :     case FLOAT_EXPR:
   11354            0 :       {
   11355            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11356            0 :         switch (TREE_CODE (_p1))
   11357              :           {
   11358            0 :           case FLOAT_EXPR:
   11359            0 :             {
   11360            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11361            0 :               {
   11362            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   11363            0 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, UNEQ_EXPR, EQ_EXPR);
   11364            0 :                 if (res) return res;
   11365              :               }
   11366            0 :               break;
   11367              :             }
   11368              :           default:;
   11369              :           }
   11370              :         break;
   11371              :       }
   11372            0 :     case NEGATE_EXPR:
   11373            0 :       {
   11374            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11375            0 :         switch (TREE_CODE (_p1))
   11376              :           {
   11377            0 :           case NEGATE_EXPR:
   11378            0 :             {
   11379            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11380            0 :               {
   11381            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11382            0 :                 tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, UNEQ_EXPR, UNEQ_EXPR);
   11383            0 :                 if (res) return res;
   11384              :               }
   11385            0 :               break;
   11386              :             }
   11387            0 :           default:;
   11388              :           }
   11389            0 :       if (CONSTANT_CLASS_P (_p1))
   11390              :         {
   11391            0 :           {
   11392            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11393            0 :             tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, UNEQ_EXPR, UNEQ_EXPR);
   11394            0 :             if (res) return res;
   11395              :           }
   11396              :         }
   11397              :         break;
   11398              :       }
   11399       350382 :     default:;
   11400              :     }
   11401       350382 :   switch (TREE_CODE (_p1))
   11402              :     {
   11403          154 :     case REAL_CST:
   11404          154 :       {
   11405          154 :         {
   11406          154 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11407          154 :           tree res = generic_simplify_564 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
   11408          154 :           if (res) return res;
   11409              :         }
   11410          152 :         break;
   11411              :       }
   11412              :     default:;
   11413              :     }
   11414              :   return NULL_TREE;
   11415              : }
   11416              : 
   11417              : tree
   11418     12474785 : 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)
   11419              : {
   11420     12474785 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11421     12474785 :   switch (TREE_CODE (_p0))
   11422              :     {
   11423      1757100 :     case LT_EXPR:
   11424      1757100 :       {
   11425      1757100 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11426      1757100 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11427      1757100 :         switch (TREE_CODE (_q20))
   11428              :           {
   11429        11301 :           case MINUS_EXPR:
   11430        11301 :             {
   11431        11301 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11432        11301 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11433        11301 :               switch (TREE_CODE (_q30))
   11434              :                 {
   11435          594 :                 case SSA_NAME:
   11436          594 :                   {
   11437          594 :                     switch (TREE_CODE (_q31))
   11438              :                       {
   11439            0 :                       case CALL_EXPR:
   11440            0 :                         switch (get_call_combined_fn (_q31))
   11441              :                           {
   11442            0 :                           case CFN_BUILT_IN_FLOORF:
   11443            0 :                             if (call_expr_nargs (_q31) == 1)
   11444              :     {
   11445            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11446            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11447              :                                   {
   11448            0 :                                     switch (TREE_CODE (_q50))
   11449              :                                       {
   11450            0 :                                       case SSA_NAME:
   11451            0 :                                         {
   11452            0 :                                           switch (TREE_CODE (_q21))
   11453              :                                             {
   11454            0 :                                             case MINUS_EXPR:
   11455            0 :                                               {
   11456            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11457            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11458            0 :                                                 switch (TREE_CODE (_q80))
   11459              :                                                   {
   11460            0 :                                                   case CALL_EXPR:
   11461            0 :                                                     switch (get_call_combined_fn (_q80))
   11462              :                                                       {
   11463            0 :                                                       case CFN_BUILT_IN_CEILF:
   11464            0 :                                                         if (call_expr_nargs (_q80) == 1)
   11465              :     {
   11466            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   11467            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   11468              :                                                               {
   11469            0 :                                                                 switch (TREE_CODE (_q90))
   11470              :                                                                   {
   11471            0 :                                                                   case SSA_NAME:
   11472            0 :                                                                     {
   11473            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11474              :                                                                         {
   11475            0 :                                                                           switch (TREE_CODE (_q81))
   11476              :                                                                             {
   11477            0 :                                                                             case SSA_NAME:
   11478            0 :                                                                               {
   11479            0 :                                                                                 switch (TREE_CODE (_p1))
   11480              :                                                                                   {
   11481            0 :                                                                                   case CALL_EXPR:
   11482            0 :                                                                                     switch (get_call_combined_fn (_p1))
   11483              :                                                                                       {
   11484            0 :                                                                                       case CFN_BUILT_IN_FLOORF:
   11485            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   11486              :     {
   11487            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   11488            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   11489              :                                                                                               {
   11490            0 :                                                                                                 switch (TREE_CODE (_q140))
   11491              :                                                                                                   {
   11492            0 :                                                                                                   case SSA_NAME:
   11493            0 :                                                                                                     {
   11494            0 :                                                                                                       switch (TREE_CODE (_p2))
   11495              :                                                                                                         {
   11496            0 :                                                                                                         case CALL_EXPR:
   11497            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   11498              :                                                                                                             {
   11499            0 :                                                                                                             case CFN_BUILT_IN_CEILF:
   11500            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   11501              :     {
   11502            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   11503            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   11504              :                                                                                                                     {
   11505            0 :                                                                                                                       switch (TREE_CODE (_q170))
   11506              :                                                                                                                         {
   11507            0 :                                                                                                                         case SSA_NAME:
   11508            0 :                                                                                                                           {
   11509            0 :                                                                                                                             {
   11510            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   11511            0 :                                                                                                                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   11512            0 :                                                                                                                               if (res) return res;
   11513              :                                                                                                                             }
   11514            0 :                                                                                                                             break;
   11515              :                                                                                                                           }
   11516              :                                                                                                                         default:;
   11517              :                                                                                                                         }
   11518              :                                                                                                                     }
   11519              :                                                                                                                 }
   11520              :                                                                                                               break;
   11521              :                                                                                                             default:;
   11522              :                                                                                                             }
   11523              :                                                                                                           break;
   11524              :                                                                                                         default:;
   11525              :                                                                                                         }
   11526              :                                                                                                       break;
   11527              :                                                                                                     }
   11528              :                                                                                                   default:;
   11529              :                                                                                                   }
   11530              :                                                                                               }
   11531              :                                                                                           }
   11532              :                                                                                         break;
   11533              :                                                                                       default:;
   11534              :                                                                                       }
   11535              :                                                                                     break;
   11536              :                                                                                   default:;
   11537              :                                                                                   }
   11538              :                                                                                 break;
   11539              :                                                                               }
   11540              :                                                                             default:;
   11541              :                                                                             }
   11542              :                                                                         }
   11543              :                                                                       break;
   11544              :                                                                     }
   11545              :                                                                   default:;
   11546              :                                                                   }
   11547              :                                                               }
   11548              :                                                           }
   11549              :                                                         break;
   11550              :                                                       default:;
   11551              :                                                       }
   11552              :                                                     break;
   11553              :                                                   default:;
   11554              :                                                   }
   11555              :                                                 break;
   11556              :                                               }
   11557              :                                             default:;
   11558              :                                             }
   11559              :                                           break;
   11560              :                                         }
   11561              :                                       default:;
   11562              :                                       }
   11563              :                                   }
   11564              :                               }
   11565              :                             break;
   11566            0 :                           case CFN_BUILT_IN_FLOORL:
   11567            0 :                             if (call_expr_nargs (_q31) == 1)
   11568              :     {
   11569            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11570            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11571              :                                   {
   11572            0 :                                     switch (TREE_CODE (_q50))
   11573              :                                       {
   11574            0 :                                       case SSA_NAME:
   11575            0 :                                         {
   11576            0 :                                           switch (TREE_CODE (_q21))
   11577              :                                             {
   11578            0 :                                             case MINUS_EXPR:
   11579            0 :                                               {
   11580            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11581            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11582            0 :                                                 switch (TREE_CODE (_q80))
   11583              :                                                   {
   11584            0 :                                                   case CALL_EXPR:
   11585            0 :                                                     switch (get_call_combined_fn (_q80))
   11586              :                                                       {
   11587            0 :                                                       case CFN_BUILT_IN_CEILL:
   11588            0 :                                                         if (call_expr_nargs (_q80) == 1)
   11589              :     {
   11590            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   11591            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   11592              :                                                               {
   11593            0 :                                                                 switch (TREE_CODE (_q90))
   11594              :                                                                   {
   11595            0 :                                                                   case SSA_NAME:
   11596            0 :                                                                     {
   11597            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11598              :                                                                         {
   11599            0 :                                                                           switch (TREE_CODE (_q81))
   11600              :                                                                             {
   11601            0 :                                                                             case SSA_NAME:
   11602            0 :                                                                               {
   11603            0 :                                                                                 switch (TREE_CODE (_p1))
   11604              :                                                                                   {
   11605            0 :                                                                                   case CALL_EXPR:
   11606            0 :                                                                                     switch (get_call_combined_fn (_p1))
   11607              :                                                                                       {
   11608            0 :                                                                                       case CFN_BUILT_IN_FLOORL:
   11609            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   11610              :     {
   11611            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   11612            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   11613              :                                                                                               {
   11614            0 :                                                                                                 switch (TREE_CODE (_q140))
   11615              :                                                                                                   {
   11616            0 :                                                                                                   case SSA_NAME:
   11617            0 :                                                                                                     {
   11618            0 :                                                                                                       switch (TREE_CODE (_p2))
   11619              :                                                                                                         {
   11620            0 :                                                                                                         case CALL_EXPR:
   11621            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   11622              :                                                                                                             {
   11623            0 :                                                                                                             case CFN_BUILT_IN_CEILL:
   11624            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   11625              :     {
   11626            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   11627            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   11628              :                                                                                                                     {
   11629            0 :                                                                                                                       switch (TREE_CODE (_q170))
   11630              :                                                                                                                         {
   11631            0 :                                                                                                                         case SSA_NAME:
   11632            0 :                                                                                                                           {
   11633            0 :                                                                                                                             {
   11634            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   11635            0 :                                                                                                                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   11636            0 :                                                                                                                               if (res) return res;
   11637              :                                                                                                                             }
   11638            0 :                                                                                                                             break;
   11639              :                                                                                                                           }
   11640              :                                                                                                                         default:;
   11641              :                                                                                                                         }
   11642              :                                                                                                                     }
   11643              :                                                                                                                 }
   11644              :                                                                                                               break;
   11645              :                                                                                                             default:;
   11646              :                                                                                                             }
   11647              :                                                                                                           break;
   11648              :                                                                                                         default:;
   11649              :                                                                                                         }
   11650              :                                                                                                       break;
   11651              :                                                                                                     }
   11652              :                                                                                                   default:;
   11653              :                                                                                                   }
   11654              :                                                                                               }
   11655              :                                                                                           }
   11656              :                                                                                         break;
   11657              :                                                                                       default:;
   11658              :                                                                                       }
   11659              :                                                                                     break;
   11660              :                                                                                   default:;
   11661              :                                                                                   }
   11662              :                                                                                 break;
   11663              :                                                                               }
   11664              :                                                                             default:;
   11665              :                                                                             }
   11666              :                                                                         }
   11667              :                                                                       break;
   11668              :                                                                     }
   11669              :                                                                   default:;
   11670              :                                                                   }
   11671              :                                                               }
   11672              :                                                           }
   11673              :                                                         break;
   11674              :                                                       default:;
   11675              :                                                       }
   11676              :                                                     break;
   11677              :                                                   default:;
   11678              :                                                   }
   11679              :                                                 break;
   11680              :                                               }
   11681              :                                             default:;
   11682              :                                             }
   11683              :                                           break;
   11684              :                                         }
   11685              :                                       default:;
   11686              :                                       }
   11687              :                                   }
   11688              :                               }
   11689              :                             break;
   11690            0 :                           case CFN_FLOOR:
   11691            0 :                             if (call_expr_nargs (_q31) == 1)
   11692              :     {
   11693            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11694            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11695              :                                   {
   11696            0 :                                     switch (TREE_CODE (_q50))
   11697              :                                       {
   11698            0 :                                       case SSA_NAME:
   11699            0 :                                         {
   11700            0 :                                           switch (TREE_CODE (_q21))
   11701              :                                             {
   11702            0 :                                             case MINUS_EXPR:
   11703            0 :                                               {
   11704            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11705            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11706            0 :                                                 switch (TREE_CODE (_q80))
   11707              :                                                   {
   11708            0 :                                                   case CALL_EXPR:
   11709            0 :                                                     switch (get_call_combined_fn (_q80))
   11710              :                                                       {
   11711            0 :                                                       case CFN_CEIL:
   11712            0 :                                                         if (call_expr_nargs (_q80) == 1)
   11713              :     {
   11714            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   11715            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   11716              :                                                               {
   11717            0 :                                                                 switch (TREE_CODE (_q90))
   11718              :                                                                   {
   11719            0 :                                                                   case SSA_NAME:
   11720            0 :                                                                     {
   11721            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11722              :                                                                         {
   11723            0 :                                                                           switch (TREE_CODE (_q81))
   11724              :                                                                             {
   11725            0 :                                                                             case SSA_NAME:
   11726            0 :                                                                               {
   11727            0 :                                                                                 switch (TREE_CODE (_p1))
   11728              :                                                                                   {
   11729            0 :                                                                                   case CALL_EXPR:
   11730            0 :                                                                                     switch (get_call_combined_fn (_p1))
   11731              :                                                                                       {
   11732            0 :                                                                                       case CFN_FLOOR:
   11733            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   11734              :     {
   11735            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   11736            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   11737              :                                                                                               {
   11738            0 :                                                                                                 switch (TREE_CODE (_q140))
   11739              :                                                                                                   {
   11740            0 :                                                                                                   case SSA_NAME:
   11741            0 :                                                                                                     {
   11742            0 :                                                                                                       switch (TREE_CODE (_p2))
   11743              :                                                                                                         {
   11744            0 :                                                                                                         case CALL_EXPR:
   11745            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   11746              :                                                                                                             {
   11747            0 :                                                                                                             case CFN_CEIL:
   11748            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   11749              :     {
   11750            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   11751            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   11752              :                                                                                                                     {
   11753            0 :                                                                                                                       switch (TREE_CODE (_q170))
   11754              :                                                                                                                         {
   11755            0 :                                                                                                                         case SSA_NAME:
   11756            0 :                                                                                                                           {
   11757            0 :                                                                                                                             {
   11758            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   11759            0 :                                                                                                                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_FLOOR, CFN_CEIL, CFN_FLOOR, CFN_CEIL);
   11760            0 :                                                                                                                               if (res) return res;
   11761              :                                                                                                                             }
   11762            0 :                                                                                                                             break;
   11763              :                                                                                                                           }
   11764              :                                                                                                                         default:;
   11765              :                                                                                                                         }
   11766              :                                                                                                                     }
   11767              :                                                                                                                 }
   11768              :                                                                                                               break;
   11769              :                                                                                                             default:;
   11770              :                                                                                                             }
   11771              :                                                                                                           break;
   11772              :                                                                                                         default:;
   11773              :                                                                                                         }
   11774              :                                                                                                       break;
   11775              :                                                                                                     }
   11776              :                                                                                                   default:;
   11777              :                                                                                                   }
   11778              :                                                                                               }
   11779              :                                                                                           }
   11780              :                                                                                         break;
   11781              :                                                                                       default:;
   11782              :                                                                                       }
   11783              :                                                                                     break;
   11784              :                                                                                   default:;
   11785              :                                                                                   }
   11786              :                                                                                 break;
   11787              :                                                                               }
   11788              :                                                                             default:;
   11789              :                                                                             }
   11790              :                                                                         }
   11791              :                                                                       break;
   11792              :                                                                     }
   11793              :                                                                   default:;
   11794              :                                                                   }
   11795              :                                                               }
   11796              :                                                           }
   11797              :                                                         break;
   11798              :                                                       default:;
   11799              :                                                       }
   11800              :                                                     break;
   11801              :                                                   default:;
   11802              :                                                   }
   11803              :                                                 break;
   11804              :                                               }
   11805              :                                             default:;
   11806              :                                             }
   11807              :                                           break;
   11808              :                                         }
   11809              :                                       default:;
   11810              :                                       }
   11811              :                                   }
   11812              :                               }
   11813              :                             break;
   11814            0 :                           case CFN_BUILT_IN_FLOOR:
   11815            0 :                             if (call_expr_nargs (_q31) == 1)
   11816              :     {
   11817            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11818            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11819              :                                   {
   11820            0 :                                     switch (TREE_CODE (_q50))
   11821              :                                       {
   11822            0 :                                       case SSA_NAME:
   11823            0 :                                         {
   11824            0 :                                           switch (TREE_CODE (_q21))
   11825              :                                             {
   11826            0 :                                             case MINUS_EXPR:
   11827            0 :                                               {
   11828            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11829            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11830            0 :                                                 switch (TREE_CODE (_q80))
   11831              :                                                   {
   11832            0 :                                                   case CALL_EXPR:
   11833            0 :                                                     switch (get_call_combined_fn (_q80))
   11834              :                                                       {
   11835            0 :                                                       case CFN_BUILT_IN_CEIL:
   11836            0 :                                                         if (call_expr_nargs (_q80) == 1)
   11837              :     {
   11838            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   11839            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   11840              :                                                               {
   11841            0 :                                                                 switch (TREE_CODE (_q90))
   11842              :                                                                   {
   11843            0 :                                                                   case SSA_NAME:
   11844            0 :                                                                     {
   11845            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11846              :                                                                         {
   11847            0 :                                                                           switch (TREE_CODE (_q81))
   11848              :                                                                             {
   11849            0 :                                                                             case SSA_NAME:
   11850            0 :                                                                               {
   11851            0 :                                                                                 switch (TREE_CODE (_p1))
   11852              :                                                                                   {
   11853            0 :                                                                                   case CALL_EXPR:
   11854            0 :                                                                                     switch (get_call_combined_fn (_p1))
   11855              :                                                                                       {
   11856            0 :                                                                                       case CFN_BUILT_IN_FLOOR:
   11857            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   11858              :     {
   11859            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   11860            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   11861              :                                                                                               {
   11862            0 :                                                                                                 switch (TREE_CODE (_q140))
   11863              :                                                                                                   {
   11864            0 :                                                                                                   case SSA_NAME:
   11865            0 :                                                                                                     {
   11866            0 :                                                                                                       switch (TREE_CODE (_p2))
   11867              :                                                                                                         {
   11868            0 :                                                                                                         case CALL_EXPR:
   11869            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   11870              :                                                                                                             {
   11871            0 :                                                                                                             case CFN_BUILT_IN_CEIL:
   11872            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   11873              :     {
   11874            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   11875            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   11876              :                                                                                                                     {
   11877            0 :                                                                                                                       switch (TREE_CODE (_q170))
   11878              :                                                                                                                         {
   11879            0 :                                                                                                                         case SSA_NAME:
   11880            0 :                                                                                                                           {
   11881            0 :                                                                                                                             {
   11882            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   11883            0 :                                                                                                                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   11884            0 :                                                                                                                               if (res) return res;
   11885              :                                                                                                                             }
   11886            0 :                                                                                                                             break;
   11887              :                                                                                                                           }
   11888              :                                                                                                                         default:;
   11889              :                                                                                                                         }
   11890              :                                                                                                                     }
   11891              :                                                                                                                 }
   11892              :                                                                                                               break;
   11893              :                                                                                                             default:;
   11894              :                                                                                                             }
   11895              :                                                                                                           break;
   11896              :                                                                                                         default:;
   11897              :                                                                                                         }
   11898              :                                                                                                       break;
   11899              :                                                                                                     }
   11900              :                                                                                                   default:;
   11901              :                                                                                                   }
   11902              :                                                                                               }
   11903              :                                                                                           }
   11904              :                                                                                         break;
   11905              :                                                                                       default:;
   11906              :                                                                                       }
   11907              :                                                                                     break;
   11908              :                                                                                   default:;
   11909              :                                                                                   }
   11910              :                                                                                 break;
   11911              :                                                                               }
   11912              :                                                                             default:;
   11913              :                                                                             }
   11914              :                                                                         }
   11915              :                                                                       break;
   11916              :                                                                     }
   11917              :                                                                   default:;
   11918              :                                                                   }
   11919              :                                                               }
   11920              :                                                           }
   11921              :                                                         break;
   11922              :                                                       default:;
   11923              :                                                       }
   11924              :                                                     break;
   11925              :                                                   default:;
   11926              :                                                   }
   11927              :                                                 break;
   11928              :                                               }
   11929              :                                             default:;
   11930              :                                             }
   11931              :                                           break;
   11932              :                                         }
   11933              :                                       default:;
   11934              :                                       }
   11935              :                                   }
   11936              :                               }
   11937              :                             break;
   11938              :                           default:;
   11939              :                           }
   11940              :                         break;
   11941              :                       default:;
   11942              :                       }
   11943              :                     break;
   11944              :                   }
   11945              :                 default:;
   11946              :                 }
   11947              :               break;
   11948              :             }
   11949        95289 :           CASE_CONVERT:
   11950        95289 :             {
   11951        95289 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11952        95289 :               switch (TREE_CODE (_q21))
   11953              :                 {
   11954        17421 :                 case INTEGER_CST:
   11955        17421 :                   {
   11956        17421 :                     switch (TREE_CODE (_p1))
   11957              :                       {
   11958           15 :                       CASE_CONVERT:
   11959           15 :                         {
   11960           15 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   11961           15 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   11962              :                             {
   11963            0 :                               switch (TREE_CODE (_p2))
   11964              :                                 {
   11965            0 :                                 case INTEGER_CST:
   11966            0 :                                   {
   11967            0 :                                     {
   11968            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   11969            0 :                                       tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   11970            0 :                                       if (res) return res;
   11971              :                                     }
   11972            0 :                                     break;
   11973              :                                   }
   11974              :                                 default:;
   11975              :                                 }
   11976              :                             }
   11977              :                           break;
   11978              :                         }
   11979        17421 :                       default:;
   11980              :                       }
   11981        17421 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   11982              :                       {
   11983            6 :                         switch (TREE_CODE (_p2))
   11984              :                           {
   11985            6 :                           case INTEGER_CST:
   11986            6 :                             {
   11987            6 :                               {
   11988            6 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   11989            6 :                                 tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   11990            6 :                                 if (res) return res;
   11991              :                               }
   11992            6 :                               break;
   11993              :                             }
   11994              :                           default:;
   11995              :                           }
   11996              :                       }
   11997        17421 :                     switch (TREE_CODE (_p1))
   11998              :                       {
   11999           25 :                       case PLUS_EXPR:
   12000           25 :                         {
   12001           25 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   12002           25 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   12003           25 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12004              :                             {
   12005            7 :                               switch (TREE_CODE (_q61))
   12006              :                                 {
   12007            7 :                                 case INTEGER_CST:
   12008            7 :                                   {
   12009            7 :                                     switch (TREE_CODE (_p2))
   12010              :                                       {
   12011            7 :                                       case INTEGER_CST:
   12012            7 :                                         {
   12013            7 :                                           {
   12014            7 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   12015            7 :                                             tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, PLUS_EXPR);
   12016            7 :                                             if (res) return res;
   12017              :                                           }
   12018            0 :                                           break;
   12019              :                                         }
   12020              :                                       default:;
   12021              :                                       }
   12022              :                                     break;
   12023              :                                   }
   12024              :                                 default:;
   12025              :                                 }
   12026              :                             }
   12027              :                           break;
   12028              :                         }
   12029            0 :                       case MINUS_EXPR:
   12030            0 :                         {
   12031            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   12032            0 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   12033            0 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12034              :                             {
   12035            0 :                               switch (TREE_CODE (_q61))
   12036              :                                 {
   12037            0 :                                 case INTEGER_CST:
   12038            0 :                                   {
   12039            0 :                                     switch (TREE_CODE (_p2))
   12040              :                                       {
   12041            0 :                                       case INTEGER_CST:
   12042            0 :                                         {
   12043            0 :                                           {
   12044            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   12045            0 :                                             tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MINUS_EXPR);
   12046            0 :                                             if (res) return res;
   12047              :                                           }
   12048            0 :                                           break;
   12049              :                                         }
   12050              :                                       default:;
   12051              :                                       }
   12052              :                                     break;
   12053              :                                   }
   12054              :                                 default:;
   12055              :                                 }
   12056              :                             }
   12057              :                           break;
   12058              :                         }
   12059              :                       default:;
   12060              :                       }
   12061              :                     break;
   12062              :                   }
   12063              :                 default:;
   12064              :                 }
   12065              :               break;
   12066              :             }
   12067      1757093 :           default:;
   12068              :           }
   12069      1757093 :         switch (TREE_CODE (_q21))
   12070              :           {
   12071       369204 :           case INTEGER_CST:
   12072       369204 :             {
   12073       369204 :               switch (TREE_CODE (_p1))
   12074              :                 {
   12075         1164 :                 CASE_CONVERT:
   12076         1164 :                   {
   12077         1164 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12078         1164 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12079              :                       {
   12080           36 :                         switch (TREE_CODE (_p2))
   12081              :                           {
   12082            5 :                           case INTEGER_CST:
   12083            5 :                             {
   12084            5 :                               {
   12085            5 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   12086            5 :                                 tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   12087            5 :                                 if (res) return res;
   12088              :                               }
   12089            5 :                               break;
   12090              :                             }
   12091              :                           default:;
   12092              :                           }
   12093              :                       }
   12094              :                     break;
   12095              :                   }
   12096       369204 :                 default:;
   12097              :                 }
   12098       369204 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12099              :                 {
   12100           81 :                   switch (TREE_CODE (_p2))
   12101              :                     {
   12102            8 :                     case INTEGER_CST:
   12103            8 :                       {
   12104            8 :                         {
   12105            8 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   12106            8 :                           tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   12107            8 :                           if (res) return res;
   12108              :                         }
   12109            0 :                         break;
   12110              :                       }
   12111              :                     default:;
   12112              :                     }
   12113              :                 }
   12114       369196 :               switch (TREE_CODE (_p1))
   12115              :                 {
   12116         9066 :                 case PLUS_EXPR:
   12117         9066 :                   {
   12118         9066 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12119         9066 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   12120         9066 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12121              :                       {
   12122         9031 :                         switch (TREE_CODE (_q51))
   12123              :                           {
   12124         9031 :                           case INTEGER_CST:
   12125         9031 :                             {
   12126         9031 :                               switch (TREE_CODE (_p2))
   12127              :                                 {
   12128           24 :                                 case INTEGER_CST:
   12129           24 :                                   {
   12130           24 :                                     {
   12131           24 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   12132           24 :                                       tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, PLUS_EXPR);
   12133           24 :                                       if (res) return res;
   12134              :                                     }
   12135           24 :                                     break;
   12136              :                                   }
   12137              :                                 default:;
   12138              :                                 }
   12139              :                               break;
   12140              :                             }
   12141              :                           default:;
   12142              :                           }
   12143              :                       }
   12144              :                     break;
   12145              :                   }
   12146           62 :                 case MINUS_EXPR:
   12147           62 :                   {
   12148           62 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12149           62 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   12150           62 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12151              :                       {
   12152            0 :                         switch (TREE_CODE (_q51))
   12153              :                           {
   12154            0 :                           case INTEGER_CST:
   12155            0 :                             {
   12156            0 :                               switch (TREE_CODE (_p2))
   12157              :                                 {
   12158            0 :                                 case INTEGER_CST:
   12159            0 :                                   {
   12160            0 :                                     {
   12161            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   12162            0 :                                       tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MINUS_EXPR);
   12163            0 :                                       if (res) return res;
   12164              :                                     }
   12165            0 :                                     break;
   12166              :                                   }
   12167              :                                 default:;
   12168              :                                 }
   12169              :                               break;
   12170              :                             }
   12171              :                           default:;
   12172              :                           }
   12173              :                       }
   12174              :                     break;
   12175              :                   }
   12176              :                 default:;
   12177              :                 }
   12178              :               break;
   12179              :             }
   12180      1757085 :           default:;
   12181              :           }
   12182      1757085 :         switch (TREE_CODE (_p1))
   12183              :           {
   12184            0 :           case MIN_EXPR:
   12185            0 :             {
   12186            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12187            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12188            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12189              :                 {
   12190            0 :                   switch (TREE_CODE (_p2))
   12191              :                     {
   12192            0 :                     case MIN_EXPR:
   12193            0 :                       {
   12194            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12195            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12196            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12197              :                           {
   12198            0 :                             {
   12199            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   12200            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12201            0 :                               if (res) return res;
   12202              :                             }
   12203              :                           }
   12204            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12205              :                           {
   12206            0 :                             {
   12207            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   12208            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12209            0 :                               if (res) return res;
   12210              :                             }
   12211              :                           }
   12212              :                         break;
   12213              :                       }
   12214              :                     default:;
   12215              :                     }
   12216              :                 }
   12217            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12218              :                 {
   12219            0 :                   switch (TREE_CODE (_p2))
   12220              :                     {
   12221            0 :                     case MIN_EXPR:
   12222            0 :                       {
   12223            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12224            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12225            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12226              :                           {
   12227            0 :                             {
   12228            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   12229            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12230            0 :                               if (res) return res;
   12231              :                             }
   12232              :                           }
   12233            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12234              :                           {
   12235            0 :                             {
   12236            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   12237            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12238            0 :                               if (res) return res;
   12239              :                             }
   12240              :                           }
   12241              :                         break;
   12242              :                       }
   12243              :                     default:;
   12244              :                     }
   12245              :                 }
   12246            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12247              :                 {
   12248            0 :                   switch (TREE_CODE (_p2))
   12249              :                     {
   12250            0 :                     case MIN_EXPR:
   12251            0 :                       {
   12252            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12253            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12254            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12255              :                           {
   12256            0 :                             {
   12257            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   12258            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12259            0 :                               if (res) return res;
   12260              :                             }
   12261              :                           }
   12262            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12263              :                           {
   12264            0 :                             {
   12265            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   12266            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12267            0 :                               if (res) return res;
   12268              :                             }
   12269              :                           }
   12270              :                         break;
   12271              :                       }
   12272            0 :                     default:;
   12273              :                     }
   12274            0 :                   {
   12275            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   12276            0 :                     tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12277            0 :                     if (res) return res;
   12278              :                   }
   12279              :                 }
   12280            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12281              :                 {
   12282            0 :                   switch (TREE_CODE (_p2))
   12283              :                     {
   12284            0 :                     case MIN_EXPR:
   12285            0 :                       {
   12286            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12287            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12288            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12289              :                           {
   12290            0 :                             {
   12291            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   12292            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12293            0 :                               if (res) return res;
   12294              :                             }
   12295              :                           }
   12296            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12297              :                           {
   12298            0 :                             {
   12299            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   12300            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12301            0 :                               if (res) return res;
   12302              :                             }
   12303              :                           }
   12304              :                         break;
   12305              :                       }
   12306            0 :                     default:;
   12307              :                     }
   12308            0 :                   {
   12309            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   12310            0 :                     tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12311            0 :                     if (res) return res;
   12312              :                   }
   12313              :                 }
   12314              :               break;
   12315              :             }
   12316           21 :           case MAX_EXPR:
   12317           21 :             {
   12318           21 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12319           21 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12320           21 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12321              :                 {
   12322            1 :                   switch (TREE_CODE (_p2))
   12323              :                     {
   12324            0 :                     case MAX_EXPR:
   12325            0 :                       {
   12326            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12327            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12328            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12329              :                           {
   12330            0 :                             {
   12331            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   12332            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12333            0 :                               if (res) return res;
   12334              :                             }
   12335              :                           }
   12336            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12337              :                           {
   12338            0 :                             {
   12339            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   12340            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12341            0 :                               if (res) return res;
   12342              :                             }
   12343              :                           }
   12344              :                         break;
   12345              :                       }
   12346            1 :                     default:;
   12347              :                     }
   12348            1 :                   {
   12349            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   12350            1 :                     tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12351            1 :                     if (res) return res;
   12352              :                   }
   12353              :                 }
   12354           20 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12355              :                 {
   12356            4 :                   switch (TREE_CODE (_p2))
   12357              :                     {
   12358            0 :                     case MAX_EXPR:
   12359            0 :                       {
   12360            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12361            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12362            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12363              :                           {
   12364            0 :                             {
   12365            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   12366            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12367            0 :                               if (res) return res;
   12368              :                             }
   12369              :                           }
   12370            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12371              :                           {
   12372            0 :                             {
   12373            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   12374            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12375            0 :                               if (res) return res;
   12376              :                             }
   12377              :                           }
   12378              :                         break;
   12379              :                       }
   12380              :                     default:;
   12381              :                     }
   12382              :                 }
   12383           20 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12384              :                 {
   12385            8 :                   switch (TREE_CODE (_p2))
   12386              :                     {
   12387            0 :                     case MAX_EXPR:
   12388            0 :                       {
   12389            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12390            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12391            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12392              :                           {
   12393            0 :                             {
   12394            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   12395            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   12396            0 :                               if (res) return res;
   12397              :                             }
   12398              :                           }
   12399            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12400              :                           {
   12401            0 :                             {
   12402            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   12403            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   12404            0 :                               if (res) return res;
   12405              :                             }
   12406              :                           }
   12407              :                         break;
   12408              :                       }
   12409              :                     default:;
   12410              :                     }
   12411              :                 }
   12412           20 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12413              :                 {
   12414            1 :                   switch (TREE_CODE (_p2))
   12415              :                     {
   12416            1 :                     case MAX_EXPR:
   12417            1 :                       {
   12418            1 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12419            1 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12420            1 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12421              :                           {
   12422            0 :                             {
   12423            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   12424            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   12425            0 :                               if (res) return res;
   12426              :                             }
   12427              :                           }
   12428            1 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12429              :                           {
   12430            1 :                             {
   12431            1 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   12432            1 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   12433            1 :                               if (res) return res;
   12434              :                             }
   12435              :                           }
   12436              :                         break;
   12437              :                       }
   12438              :                     default:;
   12439              :                     }
   12440              :                 }
   12441           19 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12442              :                 {
   12443            4 :                   {
   12444            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   12445            4 :                     tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12446            4 :                     if (res) return res;
   12447              :                   }
   12448              :                 }
   12449              :               break;
   12450              :             }
   12451      1757083 :           default:;
   12452              :           }
   12453      1757083 :         {
   12454      1757083 :           tree _q20_pops[1];
   12455      1757083 :           if (tree_nop_convert (_q20, _q20_pops))
   12456              :             {
   12457        48374 :               tree _q30 = _q20_pops[0];
   12458        48374 :               if (integer_zerop (_q21))
   12459              :                 {
   12460         8093 :                   switch (TREE_CODE (_p1))
   12461              :                     {
   12462            0 :                     case MIN_EXPR:
   12463            0 :                       {
   12464            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   12465            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   12466            0 :                         if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12467              :                           {
   12468            0 :                             switch (TREE_CODE (_q61))
   12469              :                               {
   12470            0 :                               case INTEGER_CST:
   12471            0 :                                 {
   12472            0 :                                   switch (TREE_CODE (_p2))
   12473              :                                     {
   12474            0 :                                     case INTEGER_CST:
   12475            0 :                                       {
   12476            0 :                                         {
   12477            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q30, _q21, _p1, _q61, _p2 };
   12478            0 :                                           tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12479            0 :                                           if (res) return res;
   12480              :                                         }
   12481            0 :                                         break;
   12482              :                                       }
   12483              :                                     default:;
   12484              :                                     }
   12485              :                                   break;
   12486              :                                 }
   12487              :                               default:;
   12488              :                               }
   12489              :                           }
   12490              :                         break;
   12491              :                       }
   12492              :                     default:;
   12493              :                     }
   12494              :                 }
   12495              :             }
   12496              :         }
   12497      1757083 :         if (integer_zerop (_q21))
   12498              :           {
   12499       323584 :             if (tree_expr_nonnegative_p (_p1))
   12500              :               {
   12501       291621 :                 switch (TREE_CODE (_p2))
   12502              :                   {
   12503           17 :                   case MIN_EXPR:
   12504           17 :                     {
   12505           17 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   12506           17 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   12507           17 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   12508              :                         {
   12509           16 :                           if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   12510              :                             {
   12511            9 :                               {
   12512            9 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12513            9 :                                 tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures);
   12514            9 :                                 if (res) return res;
   12515              :                               }
   12516              :                             }
   12517              :                         }
   12518            8 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12519              :                         {
   12520            0 :                           if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   12521              :                             {
   12522            0 :                               {
   12523            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12524            0 :                                 tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures);
   12525            0 :                                 if (res) return res;
   12526              :                               }
   12527              :                             }
   12528              :                         }
   12529              :                       break;
   12530              :                     }
   12531              :                   default:;
   12532              :                   }
   12533              :               }
   12534              :           }
   12535      1757074 :         if (tree_expr_nonnegative_p (_q20))
   12536              :           {
   12537       490652 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   12538              :               {
   12539          166 :                 switch (TREE_CODE (_p2))
   12540              :                   {
   12541            5 :                   case ABS_EXPR:
   12542            5 :                     {
   12543            5 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   12544            5 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   12545              :                         {
   12546            0 :                           {
   12547            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   12548            0 :                             tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   12549            0 :                             if (res) return res;
   12550              :                           }
   12551              :                         }
   12552              :                       break;
   12553              :                     }
   12554              :                   default:;
   12555              :                   }
   12556              :               }
   12557       490652 :             switch (TREE_CODE (_p1))
   12558              :               {
   12559            0 :               case ABS_EXPR:
   12560            0 :                 {
   12561            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   12562            0 :                   if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12563              :                     {
   12564            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12565              :                         {
   12566            0 :                           {
   12567            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   12568            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   12569            0 :                             if (res) return res;
   12570              :                           }
   12571              :                         }
   12572              :                     }
   12573              :                   break;
   12574              :                 }
   12575              :               default:;
   12576              :               }
   12577              :           }
   12578              :         break;
   12579              :       }
   12580       549917 :     case GE_EXPR:
   12581       549917 :       {
   12582       549917 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12583       549917 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12584       549917 :         switch (TREE_CODE (_q20))
   12585              :           {
   12586        38177 :           case MINUS_EXPR:
   12587        38177 :             {
   12588        38177 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12589        38177 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12590        38177 :               switch (TREE_CODE (_q30))
   12591              :                 {
   12592          526 :                 case SSA_NAME:
   12593          526 :                   {
   12594          526 :                     switch (TREE_CODE (_q31))
   12595              :                       {
   12596            0 :                       case CALL_EXPR:
   12597            0 :                         switch (get_call_combined_fn (_q31))
   12598              :                           {
   12599            0 :                           case CFN_BUILT_IN_FLOORF:
   12600            0 :                             if (call_expr_nargs (_q31) == 1)
   12601              :     {
   12602            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12603            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12604              :                                   {
   12605            0 :                                     switch (TREE_CODE (_q50))
   12606              :                                       {
   12607            0 :                                       case SSA_NAME:
   12608            0 :                                         {
   12609            0 :                                           switch (TREE_CODE (_q21))
   12610              :                                             {
   12611            0 :                                             case MINUS_EXPR:
   12612            0 :                                               {
   12613            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12614            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12615            0 :                                                 switch (TREE_CODE (_q80))
   12616              :                                                   {
   12617            0 :                                                   case CALL_EXPR:
   12618            0 :                                                     switch (get_call_combined_fn (_q80))
   12619              :                                                       {
   12620            0 :                                                       case CFN_BUILT_IN_CEILF:
   12621            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12622              :     {
   12623            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12624            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12625              :                                                               {
   12626            0 :                                                                 switch (TREE_CODE (_q90))
   12627              :                                                                   {
   12628            0 :                                                                   case SSA_NAME:
   12629            0 :                                                                     {
   12630            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12631              :                                                                         {
   12632            0 :                                                                           switch (TREE_CODE (_q81))
   12633              :                                                                             {
   12634            0 :                                                                             case SSA_NAME:
   12635            0 :                                                                               {
   12636            0 :                                                                                 switch (TREE_CODE (_p1))
   12637              :                                                                                   {
   12638            0 :                                                                                   case CALL_EXPR:
   12639            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12640              :                                                                                       {
   12641            0 :                                                                                       case CFN_BUILT_IN_CEILF:
   12642            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12643              :     {
   12644            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12645            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12646              :                                                                                               {
   12647            0 :                                                                                                 switch (TREE_CODE (_q140))
   12648              :                                                                                                   {
   12649            0 :                                                                                                   case SSA_NAME:
   12650            0 :                                                                                                     {
   12651            0 :                                                                                                       switch (TREE_CODE (_p2))
   12652              :                                                                                                         {
   12653            0 :                                                                                                         case CALL_EXPR:
   12654            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12655              :                                                                                                             {
   12656            0 :                                                                                                             case CFN_BUILT_IN_FLOORF:
   12657            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12658              :     {
   12659            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12660            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12661              :                                                                                                                     {
   12662            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12663              :                                                                                                                         {
   12664            0 :                                                                                                                         case SSA_NAME:
   12665            0 :                                                                                                                           {
   12666            0 :                                                                                                                             {
   12667            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12668            0 :                                                                                                                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   12669            0 :                                                                                                                               if (res) return res;
   12670              :                                                                                                                             }
   12671            0 :                                                                                                                             break;
   12672              :                                                                                                                           }
   12673              :                                                                                                                         default:;
   12674              :                                                                                                                         }
   12675              :                                                                                                                     }
   12676              :                                                                                                                 }
   12677              :                                                                                                               break;
   12678              :                                                                                                             default:;
   12679              :                                                                                                             }
   12680              :                                                                                                           break;
   12681              :                                                                                                         default:;
   12682              :                                                                                                         }
   12683              :                                                                                                       break;
   12684              :                                                                                                     }
   12685              :                                                                                                   default:;
   12686              :                                                                                                   }
   12687              :                                                                                               }
   12688              :                                                                                           }
   12689              :                                                                                         break;
   12690              :                                                                                       default:;
   12691              :                                                                                       }
   12692              :                                                                                     break;
   12693              :                                                                                   default:;
   12694              :                                                                                   }
   12695              :                                                                                 break;
   12696              :                                                                               }
   12697              :                                                                             default:;
   12698              :                                                                             }
   12699              :                                                                         }
   12700              :                                                                       break;
   12701              :                                                                     }
   12702              :                                                                   default:;
   12703              :                                                                   }
   12704              :                                                               }
   12705              :                                                           }
   12706              :                                                         break;
   12707              :                                                       default:;
   12708              :                                                       }
   12709              :                                                     break;
   12710              :                                                   default:;
   12711              :                                                   }
   12712              :                                                 break;
   12713              :                                               }
   12714              :                                             default:;
   12715              :                                             }
   12716              :                                           break;
   12717              :                                         }
   12718              :                                       default:;
   12719              :                                       }
   12720              :                                   }
   12721              :                               }
   12722              :                             break;
   12723            0 :                           case CFN_BUILT_IN_FLOORL:
   12724            0 :                             if (call_expr_nargs (_q31) == 1)
   12725              :     {
   12726            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12727            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12728              :                                   {
   12729            0 :                                     switch (TREE_CODE (_q50))
   12730              :                                       {
   12731            0 :                                       case SSA_NAME:
   12732            0 :                                         {
   12733            0 :                                           switch (TREE_CODE (_q21))
   12734              :                                             {
   12735            0 :                                             case MINUS_EXPR:
   12736            0 :                                               {
   12737            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12738            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12739            0 :                                                 switch (TREE_CODE (_q80))
   12740              :                                                   {
   12741            0 :                                                   case CALL_EXPR:
   12742            0 :                                                     switch (get_call_combined_fn (_q80))
   12743              :                                                       {
   12744            0 :                                                       case CFN_BUILT_IN_CEILL:
   12745            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12746              :     {
   12747            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12748            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12749              :                                                               {
   12750            0 :                                                                 switch (TREE_CODE (_q90))
   12751              :                                                                   {
   12752            0 :                                                                   case SSA_NAME:
   12753            0 :                                                                     {
   12754            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12755              :                                                                         {
   12756            0 :                                                                           switch (TREE_CODE (_q81))
   12757              :                                                                             {
   12758            0 :                                                                             case SSA_NAME:
   12759            0 :                                                                               {
   12760            0 :                                                                                 switch (TREE_CODE (_p1))
   12761              :                                                                                   {
   12762            0 :                                                                                   case CALL_EXPR:
   12763            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12764              :                                                                                       {
   12765            0 :                                                                                       case CFN_BUILT_IN_CEILL:
   12766            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12767              :     {
   12768            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12769            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12770              :                                                                                               {
   12771            0 :                                                                                                 switch (TREE_CODE (_q140))
   12772              :                                                                                                   {
   12773            0 :                                                                                                   case SSA_NAME:
   12774            0 :                                                                                                     {
   12775            0 :                                                                                                       switch (TREE_CODE (_p2))
   12776              :                                                                                                         {
   12777            0 :                                                                                                         case CALL_EXPR:
   12778            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12779              :                                                                                                             {
   12780            0 :                                                                                                             case CFN_BUILT_IN_FLOORL:
   12781            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12782              :     {
   12783            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12784            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12785              :                                                                                                                     {
   12786            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12787              :                                                                                                                         {
   12788            0 :                                                                                                                         case SSA_NAME:
   12789            0 :                                                                                                                           {
   12790            0 :                                                                                                                             {
   12791            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12792            0 :                                                                                                                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   12793            0 :                                                                                                                               if (res) return res;
   12794              :                                                                                                                             }
   12795            0 :                                                                                                                             break;
   12796              :                                                                                                                           }
   12797              :                                                                                                                         default:;
   12798              :                                                                                                                         }
   12799              :                                                                                                                     }
   12800              :                                                                                                                 }
   12801              :                                                                                                               break;
   12802              :                                                                                                             default:;
   12803              :                                                                                                             }
   12804              :                                                                                                           break;
   12805              :                                                                                                         default:;
   12806              :                                                                                                         }
   12807              :                                                                                                       break;
   12808              :                                                                                                     }
   12809              :                                                                                                   default:;
   12810              :                                                                                                   }
   12811              :                                                                                               }
   12812              :                                                                                           }
   12813              :                                                                                         break;
   12814              :                                                                                       default:;
   12815              :                                                                                       }
   12816              :                                                                                     break;
   12817              :                                                                                   default:;
   12818              :                                                                                   }
   12819              :                                                                                 break;
   12820              :                                                                               }
   12821              :                                                                             default:;
   12822              :                                                                             }
   12823              :                                                                         }
   12824              :                                                                       break;
   12825              :                                                                     }
   12826              :                                                                   default:;
   12827              :                                                                   }
   12828              :                                                               }
   12829              :                                                           }
   12830              :                                                         break;
   12831              :                                                       default:;
   12832              :                                                       }
   12833              :                                                     break;
   12834              :                                                   default:;
   12835              :                                                   }
   12836              :                                                 break;
   12837              :                                               }
   12838              :                                             default:;
   12839              :                                             }
   12840              :                                           break;
   12841              :                                         }
   12842              :                                       default:;
   12843              :                                       }
   12844              :                                   }
   12845              :                               }
   12846              :                             break;
   12847            0 :                           case CFN_FLOOR:
   12848            0 :                             if (call_expr_nargs (_q31) == 1)
   12849              :     {
   12850            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12851            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12852              :                                   {
   12853            0 :                                     switch (TREE_CODE (_q50))
   12854              :                                       {
   12855            0 :                                       case SSA_NAME:
   12856            0 :                                         {
   12857            0 :                                           switch (TREE_CODE (_q21))
   12858              :                                             {
   12859            0 :                                             case MINUS_EXPR:
   12860            0 :                                               {
   12861            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12862            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12863            0 :                                                 switch (TREE_CODE (_q80))
   12864              :                                                   {
   12865            0 :                                                   case CALL_EXPR:
   12866            0 :                                                     switch (get_call_combined_fn (_q80))
   12867              :                                                       {
   12868            0 :                                                       case CFN_CEIL:
   12869            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12870              :     {
   12871            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12872            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12873              :                                                               {
   12874            0 :                                                                 switch (TREE_CODE (_q90))
   12875              :                                                                   {
   12876            0 :                                                                   case SSA_NAME:
   12877            0 :                                                                     {
   12878            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12879              :                                                                         {
   12880            0 :                                                                           switch (TREE_CODE (_q81))
   12881              :                                                                             {
   12882            0 :                                                                             case SSA_NAME:
   12883            0 :                                                                               {
   12884            0 :                                                                                 switch (TREE_CODE (_p1))
   12885              :                                                                                   {
   12886            0 :                                                                                   case CALL_EXPR:
   12887            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12888              :                                                                                       {
   12889            0 :                                                                                       case CFN_CEIL:
   12890            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12891              :     {
   12892            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12893            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12894              :                                                                                               {
   12895            0 :                                                                                                 switch (TREE_CODE (_q140))
   12896              :                                                                                                   {
   12897            0 :                                                                                                   case SSA_NAME:
   12898            0 :                                                                                                     {
   12899            0 :                                                                                                       switch (TREE_CODE (_p2))
   12900              :                                                                                                         {
   12901            0 :                                                                                                         case CALL_EXPR:
   12902            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12903              :                                                                                                             {
   12904            0 :                                                                                                             case CFN_FLOOR:
   12905            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12906              :     {
   12907            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12908            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12909              :                                                                                                                     {
   12910            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12911              :                                                                                                                         {
   12912            0 :                                                                                                                         case SSA_NAME:
   12913            0 :                                                                                                                           {
   12914            0 :                                                                                                                             {
   12915            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12916            0 :                                                                                                                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_CEIL, CFN_FLOOR, CFN_FLOOR, CFN_CEIL);
   12917            0 :                                                                                                                               if (res) return res;
   12918              :                                                                                                                             }
   12919            0 :                                                                                                                             break;
   12920              :                                                                                                                           }
   12921              :                                                                                                                         default:;
   12922              :                                                                                                                         }
   12923              :                                                                                                                     }
   12924              :                                                                                                                 }
   12925              :                                                                                                               break;
   12926              :                                                                                                             default:;
   12927              :                                                                                                             }
   12928              :                                                                                                           break;
   12929              :                                                                                                         default:;
   12930              :                                                                                                         }
   12931              :                                                                                                       break;
   12932              :                                                                                                     }
   12933              :                                                                                                   default:;
   12934              :                                                                                                   }
   12935              :                                                                                               }
   12936              :                                                                                           }
   12937              :                                                                                         break;
   12938              :                                                                                       default:;
   12939              :                                                                                       }
   12940              :                                                                                     break;
   12941              :                                                                                   default:;
   12942              :                                                                                   }
   12943              :                                                                                 break;
   12944              :                                                                               }
   12945              :                                                                             default:;
   12946              :                                                                             }
   12947              :                                                                         }
   12948              :                                                                       break;
   12949              :                                                                     }
   12950              :                                                                   default:;
   12951              :                                                                   }
   12952              :                                                               }
   12953              :                                                           }
   12954              :                                                         break;
   12955              :                                                       default:;
   12956              :                                                       }
   12957              :                                                     break;
   12958              :                                                   default:;
   12959              :                                                   }
   12960              :                                                 break;
   12961              :                                               }
   12962              :                                             default:;
   12963              :                                             }
   12964              :                                           break;
   12965              :                                         }
   12966              :                                       default:;
   12967              :                                       }
   12968              :                                   }
   12969              :                               }
   12970              :                             break;
   12971            0 :                           case CFN_BUILT_IN_FLOOR:
   12972            0 :                             if (call_expr_nargs (_q31) == 1)
   12973              :     {
   12974            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12975            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12976              :                                   {
   12977            0 :                                     switch (TREE_CODE (_q50))
   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 :                                                 switch (TREE_CODE (_q80))
   12988              :                                                   {
   12989            0 :                                                   case CALL_EXPR:
   12990            0 :                                                     switch (get_call_combined_fn (_q80))
   12991              :                                                       {
   12992            0 :                                                       case CFN_BUILT_IN_CEIL:
   12993            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12994              :     {
   12995            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12996            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12997              :                                                               {
   12998            0 :                                                                 switch (TREE_CODE (_q90))
   12999              :                                                                   {
   13000            0 :                                                                   case SSA_NAME:
   13001            0 :                                                                     {
   13002            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13003              :                                                                         {
   13004            0 :                                                                           switch (TREE_CODE (_q81))
   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_CEIL:
   13014            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13015              :     {
   13016            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13017            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   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_FLOOR:
   13029            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13030              :     {
   13031            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13032            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   13033              :                                                                                                                     {
   13034            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13035              :                                                                                                                         {
   13036            0 :                                                                                                                         case SSA_NAME:
   13037            0 :                                                                                                                           {
   13038            0 :                                                                                                                             {
   13039            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   13040            0 :                                                                                                                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   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              :                                                                       break;
   13073              :                                                                     }
   13074              :                                                                   default:;
   13075              :                                                                   }
   13076              :                                                               }
   13077              :                                                           }
   13078              :                                                         break;
   13079              :                                                       default:;
   13080              :                                                       }
   13081              :                                                     break;
   13082              :                                                   default:;
   13083              :                                                   }
   13084              :                                                 break;
   13085              :                                               }
   13086              :                                             default:;
   13087              :                                             }
   13088              :                                           break;
   13089              :                                         }
   13090              :                                       default:;
   13091              :                                       }
   13092              :                                   }
   13093              :                               }
   13094              :                             break;
   13095              :                           default:;
   13096              :                           }
   13097              :                         break;
   13098              :                       default:;
   13099              :                       }
   13100              :                     break;
   13101              :                   }
   13102              :                 default:;
   13103              :                 }
   13104              :               break;
   13105              :             }
   13106        56378 :           CASE_CONVERT:
   13107        56378 :             {
   13108        56378 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13109        56378 :               switch (TREE_CODE (_q21))
   13110              :                 {
   13111        27082 :                 case INTEGER_CST:
   13112        27082 :                   {
   13113        27082 :                     switch (TREE_CODE (_p1))
   13114              :                       {
   13115        10424 :                       CASE_CONVERT:
   13116        10424 :                         {
   13117        10424 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13118        10424 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13119              :                             {
   13120         6335 :                               switch (TREE_CODE (_p2))
   13121              :                                 {
   13122         6327 :                                 case INTEGER_CST:
   13123         6327 :                                   {
   13124         6327 :                                     {
   13125         6327 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   13126         6327 :                                       tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13127         6327 :                                       if (res) return res;
   13128              :                                     }
   13129         6327 :                                     break;
   13130              :                                   }
   13131              :                                 default:;
   13132              :                                 }
   13133              :                             }
   13134              :                           break;
   13135              :                         }
   13136        27082 :                       default:;
   13137              :                       }
   13138        27082 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   13139              :                       {
   13140          312 :                         switch (TREE_CODE (_p2))
   13141              :                           {
   13142          299 :                           case INTEGER_CST:
   13143          299 :                             {
   13144          299 :                               {
   13145          299 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   13146          299 :                                 tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13147          299 :                                 if (res) return res;
   13148              :                               }
   13149          294 :                               break;
   13150              :                             }
   13151              :                           default:;
   13152              :                           }
   13153              :                       }
   13154        27077 :                     switch (TREE_CODE (_p1))
   13155              :                       {
   13156          391 :                       case PLUS_EXPR:
   13157          391 :                         {
   13158          391 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13159          391 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   13160          391 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13161              :                             {
   13162            0 :                               switch (TREE_CODE (_q61))
   13163              :                                 {
   13164            0 :                                 case INTEGER_CST:
   13165            0 :                                   {
   13166            0 :                                     switch (TREE_CODE (_p2))
   13167              :                                       {
   13168            0 :                                       case INTEGER_CST:
   13169            0 :                                         {
   13170            0 :                                           {
   13171            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   13172            0 :                                             tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, PLUS_EXPR);
   13173            0 :                                             if (res) return res;
   13174              :                                           }
   13175            0 :                                           break;
   13176              :                                         }
   13177              :                                       default:;
   13178              :                                       }
   13179              :                                     break;
   13180              :                                   }
   13181              :                                 default:;
   13182              :                                 }
   13183              :                             }
   13184              :                           break;
   13185              :                         }
   13186           73 :                       case MINUS_EXPR:
   13187           73 :                         {
   13188           73 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13189           73 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   13190           73 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13191              :                             {
   13192            0 :                               switch (TREE_CODE (_q61))
   13193              :                                 {
   13194            0 :                                 case INTEGER_CST:
   13195            0 :                                   {
   13196            0 :                                     switch (TREE_CODE (_p2))
   13197              :                                       {
   13198            0 :                                       case INTEGER_CST:
   13199            0 :                                         {
   13200            0 :                                           {
   13201            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   13202            0 :                                             tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MINUS_EXPR);
   13203            0 :                                             if (res) return res;
   13204              :                                           }
   13205            0 :                                           break;
   13206              :                                         }
   13207              :                                       default:;
   13208              :                                       }
   13209              :                                     break;
   13210              :                                   }
   13211              :                                 default:;
   13212              :                                 }
   13213              :                             }
   13214              :                           break;
   13215              :                         }
   13216              :                       default:;
   13217              :                       }
   13218              :                     break;
   13219              :                   }
   13220              :                 default:;
   13221              :                 }
   13222              :               break;
   13223              :             }
   13224       549912 :           default:;
   13225              :           }
   13226       549912 :         switch (TREE_CODE (_q21))
   13227              :           {
   13228       205630 :           case INTEGER_CST:
   13229       205630 :             {
   13230       205630 :               switch (TREE_CODE (_p1))
   13231              :                 {
   13232        54582 :                 CASE_CONVERT:
   13233        54582 :                   {
   13234        54582 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13235        54582 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13236              :                       {
   13237          150 :                         switch (TREE_CODE (_p2))
   13238              :                           {
   13239           45 :                           case INTEGER_CST:
   13240           45 :                             {
   13241           45 :                               {
   13242           45 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13243           45 :                                 tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13244           45 :                                 if (res) return res;
   13245              :                               }
   13246           45 :                               break;
   13247              :                             }
   13248              :                           default:;
   13249              :                           }
   13250              :                       }
   13251              :                     break;
   13252              :                   }
   13253       205630 :                 default:;
   13254              :                 }
   13255       205630 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13256              :                 {
   13257        41429 :                   switch (TREE_CODE (_p2))
   13258              :                     {
   13259        10705 :                     case INTEGER_CST:
   13260        10705 :                       {
   13261        10705 :                         {
   13262        10705 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13263        10705 :                           tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13264        10705 :                           if (res) return res;
   13265              :                         }
   13266           19 :                         break;
   13267              :                       }
   13268              :                     default:;
   13269              :                     }
   13270              :                 }
   13271       194944 :               switch (TREE_CODE (_p1))
   13272              :                 {
   13273        17033 :                 case PLUS_EXPR:
   13274        17033 :                   {
   13275        17033 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13276        17033 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   13277        17033 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13278              :                       {
   13279         6519 :                         switch (TREE_CODE (_q51))
   13280              :                           {
   13281         6519 :                           case INTEGER_CST:
   13282         6519 :                             {
   13283         6519 :                               switch (TREE_CODE (_p2))
   13284              :                                 {
   13285         6519 :                                 case INTEGER_CST:
   13286         6519 :                                   {
   13287         6519 :                                     {
   13288         6519 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   13289         6519 :                                       tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, PLUS_EXPR);
   13290         6519 :                                       if (res) return res;
   13291              :                                     }
   13292            0 :                                     break;
   13293              :                                   }
   13294              :                                 default:;
   13295              :                                 }
   13296              :                               break;
   13297              :                             }
   13298              :                           default:;
   13299              :                           }
   13300              :                       }
   13301              :                     break;
   13302              :                   }
   13303          223 :                 case MINUS_EXPR:
   13304          223 :                   {
   13305          223 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13306          223 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   13307          223 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13308              :                       {
   13309            0 :                         switch (TREE_CODE (_q51))
   13310              :                           {
   13311            0 :                           case INTEGER_CST:
   13312            0 :                             {
   13313            0 :                               switch (TREE_CODE (_p2))
   13314              :                                 {
   13315            0 :                                 case INTEGER_CST:
   13316            0 :                                   {
   13317            0 :                                     {
   13318            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   13319            0 :                                       tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MINUS_EXPR);
   13320            0 :                                       if (res) return res;
   13321              :                                     }
   13322            0 :                                     break;
   13323              :                                   }
   13324              :                                 default:;
   13325              :                                 }
   13326              :                               break;
   13327              :                             }
   13328              :                           default:;
   13329              :                           }
   13330              :                       }
   13331              :                     break;
   13332              :                   }
   13333              :                 default:;
   13334              :                 }
   13335              :               break;
   13336              :             }
   13337       532707 :           default:;
   13338              :           }
   13339       532707 :         switch (TREE_CODE (_p1))
   13340              :           {
   13341           16 :           case MIN_EXPR:
   13342           16 :             {
   13343           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13344           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13345           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13346              :                 {
   13347           15 :                   switch (TREE_CODE (_p2))
   13348              :                     {
   13349            0 :                     case MIN_EXPR:
   13350            0 :                       {
   13351            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13352            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13353            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13354              :                           {
   13355            0 :                             {
   13356            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   13357            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13358            0 :                               if (res) return res;
   13359              :                             }
   13360              :                           }
   13361            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13362              :                           {
   13363            0 :                             {
   13364            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   13365            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13366            0 :                               if (res) return res;
   13367              :                             }
   13368              :                           }
   13369              :                         break;
   13370              :                       }
   13371           15 :                     default:;
   13372              :                     }
   13373           15 :                   {
   13374           15 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   13375           15 :                     tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13376           15 :                     if (res) return res;
   13377              :                   }
   13378              :                 }
   13379            8 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13380              :                 {
   13381            0 :                   switch (TREE_CODE (_p2))
   13382              :                     {
   13383            0 :                     case MIN_EXPR:
   13384            0 :                       {
   13385            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13386            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13387            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13388              :                           {
   13389            0 :                             {
   13390            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   13391            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13392            0 :                               if (res) return res;
   13393              :                             }
   13394              :                           }
   13395            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13396              :                           {
   13397            0 :                             {
   13398            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   13399            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13400            0 :                               if (res) return res;
   13401              :                             }
   13402              :                           }
   13403              :                         break;
   13404              :                       }
   13405              :                     default:;
   13406              :                     }
   13407              :                 }
   13408            8 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13409              :                 {
   13410            0 :                   switch (TREE_CODE (_p2))
   13411              :                     {
   13412            0 :                     case MIN_EXPR:
   13413            0 :                       {
   13414            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13415            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13416            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13417              :                           {
   13418            0 :                             {
   13419            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   13420            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   13421            0 :                               if (res) return res;
   13422              :                             }
   13423              :                           }
   13424            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13425              :                           {
   13426            0 :                             {
   13427            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   13428            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   13429            0 :                               if (res) return res;
   13430              :                             }
   13431              :                           }
   13432              :                         break;
   13433              :                       }
   13434              :                     default:;
   13435              :                     }
   13436              :                 }
   13437            8 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13438              :                 {
   13439            0 :                   switch (TREE_CODE (_p2))
   13440              :                     {
   13441            0 :                     case MIN_EXPR:
   13442            0 :                       {
   13443            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13444            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13445            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13446              :                           {
   13447            0 :                             {
   13448            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   13449            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   13450            0 :                               if (res) return res;
   13451              :                             }
   13452              :                           }
   13453            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13454              :                           {
   13455            0 :                             {
   13456            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   13457            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   13458            0 :                               if (res) return res;
   13459              :                             }
   13460              :                           }
   13461              :                         break;
   13462              :                       }
   13463              :                     default:;
   13464              :                     }
   13465              :                 }
   13466            8 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13467              :                 {
   13468            0 :                   {
   13469            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   13470            0 :                     tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13471            0 :                     if (res) return res;
   13472              :                   }
   13473              :                 }
   13474              :               break;
   13475              :             }
   13476            9 :           case MAX_EXPR:
   13477            9 :             {
   13478            9 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13479            9 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13480            9 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13481              :                 {
   13482            1 :                   switch (TREE_CODE (_p2))
   13483              :                     {
   13484            0 :                     case MAX_EXPR:
   13485            0 :                       {
   13486            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13487            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13488            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13489              :                           {
   13490            0 :                             {
   13491            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   13492            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13493            0 :                               if (res) return res;
   13494              :                             }
   13495              :                           }
   13496            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13497              :                           {
   13498            0 :                             {
   13499            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   13500            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13501            0 :                               if (res) return res;
   13502              :                             }
   13503              :                           }
   13504              :                         break;
   13505              :                       }
   13506              :                     default:;
   13507              :                     }
   13508              :                 }
   13509            9 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13510              :                 {
   13511            1 :                   switch (TREE_CODE (_p2))
   13512              :                     {
   13513            0 :                     case MAX_EXPR:
   13514            0 :                       {
   13515            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13516            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13517            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13518              :                           {
   13519            0 :                             {
   13520            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   13521            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13522            0 :                               if (res) return res;
   13523              :                             }
   13524              :                           }
   13525            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13526              :                           {
   13527            0 :                             {
   13528            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   13529            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13530            0 :                               if (res) return res;
   13531              :                             }
   13532              :                           }
   13533              :                         break;
   13534              :                       }
   13535              :                     default:;
   13536              :                     }
   13537              :                 }
   13538            9 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13539              :                 {
   13540            1 :                   switch (TREE_CODE (_p2))
   13541              :                     {
   13542            0 :                     case MAX_EXPR:
   13543            0 :                       {
   13544            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13545            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13546            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13547              :                           {
   13548            0 :                             {
   13549            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   13550            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13551            0 :                               if (res) return res;
   13552              :                             }
   13553              :                           }
   13554            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13555              :                           {
   13556            0 :                             {
   13557            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   13558            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13559            0 :                               if (res) return res;
   13560              :                             }
   13561              :                           }
   13562              :                         break;
   13563              :                       }
   13564            1 :                     default:;
   13565              :                     }
   13566            1 :                   {
   13567            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   13568            1 :                     tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13569            1 :                     if (res) return res;
   13570              :                   }
   13571              :                 }
   13572            8 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13573              :                 {
   13574            8 :                   switch (TREE_CODE (_p2))
   13575              :                     {
   13576            0 :                     case MAX_EXPR:
   13577            0 :                       {
   13578            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13579            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13580            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13581              :                           {
   13582            0 :                             {
   13583            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   13584            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13585            0 :                               if (res) return res;
   13586              :                             }
   13587              :                           }
   13588            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13589              :                           {
   13590            0 :                             {
   13591            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   13592            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13593            0 :                               if (res) return res;
   13594              :                             }
   13595              :                           }
   13596              :                         break;
   13597              :                       }
   13598            8 :                     default:;
   13599              :                     }
   13600            8 :                   {
   13601            8 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   13602            8 :                     tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13603            8 :                     if (res) return res;
   13604              :                   }
   13605              :                 }
   13606              :               break;
   13607              :             }
   13608       532697 :           default:;
   13609              :           }
   13610       532697 :         {
   13611       532697 :           tree _q20_pops[1];
   13612       532697 :           if (tree_nop_convert (_q20, _q20_pops))
   13613              :             {
   13614        22055 :               tree _q30 = _q20_pops[0];
   13615        22055 :               if (integer_zerop (_q21))
   13616              :                 {
   13617        18928 :                   switch (TREE_CODE (_p1))
   13618              :                     {
   13619            0 :                     case MAX_EXPR:
   13620            0 :                       {
   13621            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   13622            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   13623            0 :                         if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13624              :                           {
   13625            0 :                             switch (TREE_CODE (_q61))
   13626              :                               {
   13627            0 :                               case INTEGER_CST:
   13628            0 :                                 {
   13629            0 :                                   switch (TREE_CODE (_p2))
   13630              :                                     {
   13631            0 :                                     case INTEGER_CST:
   13632            0 :                                       {
   13633            0 :                                         {
   13634            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q30, _q21, _p1, _q61, _p2 };
   13635            0 :                                           tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13636            0 :                                           if (res) return res;
   13637              :                                         }
   13638            0 :                                         break;
   13639              :                                       }
   13640              :                                     default:;
   13641              :                                     }
   13642              :                                   break;
   13643              :                                 }
   13644              :                               default:;
   13645              :                               }
   13646              :                           }
   13647              :                         break;
   13648              :                       }
   13649              :                     default:;
   13650              :                     }
   13651              :                 }
   13652              :             }
   13653              :         }
   13654       532697 :         if (tree_expr_nonnegative_p (_q21))
   13655              :           {
   13656       381994 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13657              :               {
   13658        30801 :                 switch (TREE_CODE (_p2))
   13659              :                   {
   13660            0 :                   case ABS_EXPR:
   13661            0 :                     {
   13662            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   13663            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13664              :                         {
   13665            0 :                           {
   13666            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13667            0 :                             tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13668            0 :                             if (res) return res;
   13669              :                           }
   13670              :                         }
   13671              :                       break;
   13672              :                     }
   13673              :                   default:;
   13674              :                   }
   13675              :               }
   13676       381994 :             switch (TREE_CODE (_p1))
   13677              :               {
   13678           12 :               case ABS_EXPR:
   13679           12 :                 {
   13680           12 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13681           12 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13682              :                     {
   13683            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   13684              :                         {
   13685            0 :                           {
   13686            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   13687            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13688            0 :                             if (res) return res;
   13689              :                           }
   13690              :                         }
   13691              :                     }
   13692              :                   break;
   13693              :                 }
   13694              :               default:;
   13695              :               }
   13696              :           }
   13697              :         break;
   13698              :       }
   13699       903626 :     case GT_EXPR:
   13700       903626 :       {
   13701       903626 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13702       903626 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13703       903626 :         switch (TREE_CODE (_q20))
   13704              :           {
   13705         1048 :           case MINUS_EXPR:
   13706         1048 :             {
   13707         1048 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13708         1048 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13709         1048 :               switch (TREE_CODE (_q30))
   13710              :                 {
   13711            0 :                 case CALL_EXPR:
   13712            0 :                   switch (get_call_combined_fn (_q30))
   13713              :                     {
   13714            0 :                     case CFN_BUILT_IN_CEIL:
   13715            0 :                       if (call_expr_nargs (_q30) == 1)
   13716              :     {
   13717            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13718            0 :                           switch (TREE_CODE (_q40))
   13719              :                             {
   13720            0 :                             case SSA_NAME:
   13721            0 :                               {
   13722            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   13723              :                                   {
   13724            0 :                                     switch (TREE_CODE (_q31))
   13725              :                                       {
   13726            0 :                                       case SSA_NAME:
   13727            0 :                                         {
   13728            0 :                                           switch (TREE_CODE (_q21))
   13729              :                                             {
   13730            0 :                                             case MINUS_EXPR:
   13731            0 :                                               {
   13732            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13733            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13734            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   13735              :                                                   {
   13736            0 :                                                     switch (TREE_CODE (_q80))
   13737              :                                                       {
   13738            0 :                                                       case SSA_NAME:
   13739            0 :                                                         {
   13740            0 :                                                           switch (TREE_CODE (_q81))
   13741              :                                                             {
   13742            0 :                                                             case CALL_EXPR:
   13743            0 :                                                               switch (get_call_combined_fn (_q81))
   13744              :                                                                 {
   13745            0 :                                                                 case CFN_BUILT_IN_FLOOR:
   13746            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   13747              :     {
   13748            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   13749            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   13750              :                                                                         {
   13751            0 :                                                                           switch (TREE_CODE (_q110))
   13752              :                                                                             {
   13753            0 :                                                                             case SSA_NAME:
   13754            0 :                                                                               {
   13755            0 :                                                                                 switch (TREE_CODE (_p1))
   13756              :                                                                                   {
   13757            0 :                                                                                   case CALL_EXPR:
   13758            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13759              :                                                                                       {
   13760            0 :                                                                                       case CFN_BUILT_IN_FLOOR:
   13761            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13762              :     {
   13763            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13764            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   13765              :                                                                                               {
   13766            0 :                                                                                                 switch (TREE_CODE (_q140))
   13767              :                                                                                                   {
   13768            0 :                                                                                                   case SSA_NAME:
   13769            0 :                                                                                                     {
   13770            0 :                                                                                                       switch (TREE_CODE (_p2))
   13771              :                                                                                                         {
   13772            0 :                                                                                                         case CALL_EXPR:
   13773            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13774              :                                                                                                             {
   13775            0 :                                                                                                             case CFN_BUILT_IN_CEIL:
   13776            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13777              :     {
   13778            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13779            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   13780              :                                                                                                                     {
   13781            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13782              :                                                                                                                         {
   13783            0 :                                                                                                                         case SSA_NAME:
   13784            0 :                                                                                                                           {
   13785            0 :                                                                                                                             {
   13786            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   13787            0 :                                                                                                                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   13788            0 :                                                                                                                               if (res) return res;
   13789              :                                                                                                                             }
   13790            0 :                                                                                                                             break;
   13791              :                                                                                                                           }
   13792              :                                                                                                                         default:;
   13793              :                                                                                                                         }
   13794              :                                                                                                                     }
   13795              :                                                                                                                 }
   13796              :                                                                                                               break;
   13797              :                                                                                                             default:;
   13798              :                                                                                                             }
   13799              :                                                                                                           break;
   13800              :                                                                                                         default:;
   13801              :                                                                                                         }
   13802              :                                                                                                       break;
   13803              :                                                                                                     }
   13804              :                                                                                                   default:;
   13805              :                                                                                                   }
   13806              :                                                                                               }
   13807              :                                                                                           }
   13808              :                                                                                         break;
   13809              :                                                                                       default:;
   13810              :                                                                                       }
   13811              :                                                                                     break;
   13812              :                                                                                   default:;
   13813              :                                                                                   }
   13814              :                                                                                 break;
   13815              :                                                                               }
   13816              :                                                                             default:;
   13817              :                                                                             }
   13818              :                                                                         }
   13819              :                                                                     }
   13820              :                                                                   break;
   13821              :                                                                 default:;
   13822              :                                                                 }
   13823              :                                                               break;
   13824              :                                                             default:;
   13825              :                                                             }
   13826              :                                                           break;
   13827              :                                                         }
   13828              :                                                       default:;
   13829              :                                                       }
   13830              :                                                   }
   13831              :                                                 break;
   13832              :                                               }
   13833              :                                             default:;
   13834              :                                             }
   13835              :                                           break;
   13836              :                                         }
   13837              :                                       default:;
   13838              :                                       }
   13839              :                                   }
   13840              :                                 break;
   13841              :                               }
   13842              :                             default:;
   13843              :                             }
   13844              :                         }
   13845              :                       break;
   13846            0 :                     case CFN_CEIL:
   13847            0 :                       if (call_expr_nargs (_q30) == 1)
   13848              :     {
   13849            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13850            0 :                           switch (TREE_CODE (_q40))
   13851              :                             {
   13852            0 :                             case SSA_NAME:
   13853            0 :                               {
   13854            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   13855              :                                   {
   13856            0 :                                     switch (TREE_CODE (_q31))
   13857              :                                       {
   13858            0 :                                       case SSA_NAME:
   13859            0 :                                         {
   13860            0 :                                           switch (TREE_CODE (_q21))
   13861              :                                             {
   13862            0 :                                             case MINUS_EXPR:
   13863            0 :                                               {
   13864            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13865            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13866            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   13867              :                                                   {
   13868            0 :                                                     switch (TREE_CODE (_q80))
   13869              :                                                       {
   13870            0 :                                                       case SSA_NAME:
   13871            0 :                                                         {
   13872            0 :                                                           switch (TREE_CODE (_q81))
   13873              :                                                             {
   13874            0 :                                                             case CALL_EXPR:
   13875            0 :                                                               switch (get_call_combined_fn (_q81))
   13876              :                                                                 {
   13877            0 :                                                                 case CFN_FLOOR:
   13878            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   13879              :     {
   13880            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   13881            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   13882              :                                                                         {
   13883            0 :                                                                           switch (TREE_CODE (_q110))
   13884              :                                                                             {
   13885            0 :                                                                             case SSA_NAME:
   13886            0 :                                                                               {
   13887            0 :                                                                                 switch (TREE_CODE (_p1))
   13888              :                                                                                   {
   13889            0 :                                                                                   case CALL_EXPR:
   13890            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13891              :                                                                                       {
   13892            0 :                                                                                       case CFN_FLOOR:
   13893            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13894              :     {
   13895            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13896            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   13897              :                                                                                               {
   13898            0 :                                                                                                 switch (TREE_CODE (_q140))
   13899              :                                                                                                   {
   13900            0 :                                                                                                   case SSA_NAME:
   13901            0 :                                                                                                     {
   13902            0 :                                                                                                       switch (TREE_CODE (_p2))
   13903              :                                                                                                         {
   13904            0 :                                                                                                         case CALL_EXPR:
   13905            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13906              :                                                                                                             {
   13907            0 :                                                                                                             case CFN_CEIL:
   13908            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13909              :     {
   13910            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13911            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   13912              :                                                                                                                     {
   13913            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13914              :                                                                                                                         {
   13915            0 :                                                                                                                         case SSA_NAME:
   13916            0 :                                                                                                                           {
   13917            0 :                                                                                                                             {
   13918            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   13919            0 :                                                                                                                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_FLOOR, CFN_CEIL, CFN_FLOOR, CFN_CEIL);
   13920            0 :                                                                                                                               if (res) return res;
   13921              :                                                                                                                             }
   13922            0 :                                                                                                                             break;
   13923              :                                                                                                                           }
   13924              :                                                                                                                         default:;
   13925              :                                                                                                                         }
   13926              :                                                                                                                     }
   13927              :                                                                                                                 }
   13928              :                                                                                                               break;
   13929              :                                                                                                             default:;
   13930              :                                                                                                             }
   13931              :                                                                                                           break;
   13932              :                                                                                                         default:;
   13933              :                                                                                                         }
   13934              :                                                                                                       break;
   13935              :                                                                                                     }
   13936              :                                                                                                   default:;
   13937              :                                                                                                   }
   13938              :                                                                                               }
   13939              :                                                                                           }
   13940              :                                                                                         break;
   13941              :                                                                                       default:;
   13942              :                                                                                       }
   13943              :                                                                                     break;
   13944              :                                                                                   default:;
   13945              :                                                                                   }
   13946              :                                                                                 break;
   13947              :                                                                               }
   13948              :                                                                             default:;
   13949              :                                                                             }
   13950              :                                                                         }
   13951              :                                                                     }
   13952              :                                                                   break;
   13953              :                                                                 default:;
   13954              :                                                                 }
   13955              :                                                               break;
   13956              :                                                             default:;
   13957              :                                                             }
   13958              :                                                           break;
   13959              :                                                         }
   13960              :                                                       default:;
   13961              :                                                       }
   13962              :                                                   }
   13963              :                                                 break;
   13964              :                                               }
   13965              :                                             default:;
   13966              :                                             }
   13967              :                                           break;
   13968              :                                         }
   13969              :                                       default:;
   13970              :                                       }
   13971              :                                   }
   13972              :                                 break;
   13973              :                               }
   13974              :                             default:;
   13975              :                             }
   13976              :                         }
   13977              :                       break;
   13978            0 :                     case CFN_BUILT_IN_CEILF:
   13979            0 :                       if (call_expr_nargs (_q30) == 1)
   13980              :     {
   13981            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13982            0 :                           switch (TREE_CODE (_q40))
   13983              :                             {
   13984            0 :                             case SSA_NAME:
   13985            0 :                               {
   13986            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   13987              :                                   {
   13988            0 :                                     switch (TREE_CODE (_q31))
   13989              :                                       {
   13990            0 :                                       case SSA_NAME:
   13991            0 :                                         {
   13992            0 :                                           switch (TREE_CODE (_q21))
   13993              :                                             {
   13994            0 :                                             case MINUS_EXPR:
   13995            0 :                                               {
   13996            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13997            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13998            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   13999              :                                                   {
   14000            0 :                                                     switch (TREE_CODE (_q80))
   14001              :                                                       {
   14002            0 :                                                       case SSA_NAME:
   14003            0 :                                                         {
   14004            0 :                                                           switch (TREE_CODE (_q81))
   14005              :                                                             {
   14006            0 :                                                             case CALL_EXPR:
   14007            0 :                                                               switch (get_call_combined_fn (_q81))
   14008              :                                                                 {
   14009            0 :                                                                 case CFN_BUILT_IN_FLOORF:
   14010            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14011              :     {
   14012            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14013            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14014              :                                                                         {
   14015            0 :                                                                           switch (TREE_CODE (_q110))
   14016              :                                                                             {
   14017            0 :                                                                             case SSA_NAME:
   14018            0 :                                                                               {
   14019            0 :                                                                                 switch (TREE_CODE (_p1))
   14020              :                                                                                   {
   14021            0 :                                                                                   case CALL_EXPR:
   14022            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14023              :                                                                                       {
   14024            0 :                                                                                       case CFN_BUILT_IN_FLOORF:
   14025            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14026              :     {
   14027            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14028            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14029              :                                                                                               {
   14030            0 :                                                                                                 switch (TREE_CODE (_q140))
   14031              :                                                                                                   {
   14032            0 :                                                                                                   case SSA_NAME:
   14033            0 :                                                                                                     {
   14034            0 :                                                                                                       switch (TREE_CODE (_p2))
   14035              :                                                                                                         {
   14036            0 :                                                                                                         case CALL_EXPR:
   14037            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14038              :                                                                                                             {
   14039            0 :                                                                                                             case CFN_BUILT_IN_CEILF:
   14040            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14041              :     {
   14042            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14043            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14044              :                                                                                                                     {
   14045            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14046              :                                                                                                                         {
   14047            0 :                                                                                                                         case SSA_NAME:
   14048            0 :                                                                                                                           {
   14049            0 :                                                                                                                             {
   14050            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14051            0 :                                                                                                                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   14052            0 :                                                                                                                               if (res) return res;
   14053              :                                                                                                                             }
   14054            0 :                                                                                                                             break;
   14055              :                                                                                                                           }
   14056              :                                                                                                                         default:;
   14057              :                                                                                                                         }
   14058              :                                                                                                                     }
   14059              :                                                                                                                 }
   14060              :                                                                                                               break;
   14061              :                                                                                                             default:;
   14062              :                                                                                                             }
   14063              :                                                                                                           break;
   14064              :                                                                                                         default:;
   14065              :                                                                                                         }
   14066              :                                                                                                       break;
   14067              :                                                                                                     }
   14068              :                                                                                                   default:;
   14069              :                                                                                                   }
   14070              :                                                                                               }
   14071              :                                                                                           }
   14072              :                                                                                         break;
   14073              :                                                                                       default:;
   14074              :                                                                                       }
   14075              :                                                                                     break;
   14076              :                                                                                   default:;
   14077              :                                                                                   }
   14078              :                                                                                 break;
   14079              :                                                                               }
   14080              :                                                                             default:;
   14081              :                                                                             }
   14082              :                                                                         }
   14083              :                                                                     }
   14084              :                                                                   break;
   14085              :                                                                 default:;
   14086              :                                                                 }
   14087              :                                                               break;
   14088              :                                                             default:;
   14089              :                                                             }
   14090              :                                                           break;
   14091              :                                                         }
   14092              :                                                       default:;
   14093              :                                                       }
   14094              :                                                   }
   14095              :                                                 break;
   14096              :                                               }
   14097              :                                             default:;
   14098              :                                             }
   14099              :                                           break;
   14100              :                                         }
   14101              :                                       default:;
   14102              :                                       }
   14103              :                                   }
   14104              :                                 break;
   14105              :                               }
   14106              :                             default:;
   14107              :                             }
   14108              :                         }
   14109              :                       break;
   14110            0 :                     case CFN_BUILT_IN_CEILL:
   14111            0 :                       if (call_expr_nargs (_q30) == 1)
   14112              :     {
   14113            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14114            0 :                           switch (TREE_CODE (_q40))
   14115              :                             {
   14116            0 :                             case SSA_NAME:
   14117            0 :                               {
   14118            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14119              :                                   {
   14120            0 :                                     switch (TREE_CODE (_q31))
   14121              :                                       {
   14122            0 :                                       case SSA_NAME:
   14123            0 :                                         {
   14124            0 :                                           switch (TREE_CODE (_q21))
   14125              :                                             {
   14126            0 :                                             case MINUS_EXPR:
   14127            0 :                                               {
   14128            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14129            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14130            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14131              :                                                   {
   14132            0 :                                                     switch (TREE_CODE (_q80))
   14133              :                                                       {
   14134            0 :                                                       case SSA_NAME:
   14135            0 :                                                         {
   14136            0 :                                                           switch (TREE_CODE (_q81))
   14137              :                                                             {
   14138            0 :                                                             case CALL_EXPR:
   14139            0 :                                                               switch (get_call_combined_fn (_q81))
   14140              :                                                                 {
   14141            0 :                                                                 case CFN_BUILT_IN_FLOORL:
   14142            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14143              :     {
   14144            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14145            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14146              :                                                                         {
   14147            0 :                                                                           switch (TREE_CODE (_q110))
   14148              :                                                                             {
   14149            0 :                                                                             case SSA_NAME:
   14150            0 :                                                                               {
   14151            0 :                                                                                 switch (TREE_CODE (_p1))
   14152              :                                                                                   {
   14153            0 :                                                                                   case CALL_EXPR:
   14154            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14155              :                                                                                       {
   14156            0 :                                                                                       case CFN_BUILT_IN_FLOORL:
   14157            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14158              :     {
   14159            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14160            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14161              :                                                                                               {
   14162            0 :                                                                                                 switch (TREE_CODE (_q140))
   14163              :                                                                                                   {
   14164            0 :                                                                                                   case SSA_NAME:
   14165            0 :                                                                                                     {
   14166            0 :                                                                                                       switch (TREE_CODE (_p2))
   14167              :                                                                                                         {
   14168            0 :                                                                                                         case CALL_EXPR:
   14169            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14170              :                                                                                                             {
   14171            0 :                                                                                                             case CFN_BUILT_IN_CEILL:
   14172            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14173              :     {
   14174            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14175            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14176              :                                                                                                                     {
   14177            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14178              :                                                                                                                         {
   14179            0 :                                                                                                                         case SSA_NAME:
   14180            0 :                                                                                                                           {
   14181            0 :                                                                                                                             {
   14182            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14183            0 :                                                                                                                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   14184            0 :                                                                                                                               if (res) return res;
   14185              :                                                                                                                             }
   14186            0 :                                                                                                                             break;
   14187              :                                                                                                                           }
   14188              :                                                                                                                         default:;
   14189              :                                                                                                                         }
   14190              :                                                                                                                     }
   14191              :                                                                                                                 }
   14192              :                                                                                                               break;
   14193              :                                                                                                             default:;
   14194              :                                                                                                             }
   14195              :                                                                                                           break;
   14196              :                                                                                                         default:;
   14197              :                                                                                                         }
   14198              :                                                                                                       break;
   14199              :                                                                                                     }
   14200              :                                                                                                   default:;
   14201              :                                                                                                   }
   14202              :                                                                                               }
   14203              :                                                                                           }
   14204              :                                                                                         break;
   14205              :                                                                                       default:;
   14206              :                                                                                       }
   14207              :                                                                                     break;
   14208              :                                                                                   default:;
   14209              :                                                                                   }
   14210              :                                                                                 break;
   14211              :                                                                               }
   14212              :                                                                             default:;
   14213              :                                                                             }
   14214              :                                                                         }
   14215              :                                                                     }
   14216              :                                                                   break;
   14217              :                                                                 default:;
   14218              :                                                                 }
   14219              :                                                               break;
   14220              :                                                             default:;
   14221              :                                                             }
   14222              :                                                           break;
   14223              :                                                         }
   14224              :                                                       default:;
   14225              :                                                       }
   14226              :                                                   }
   14227              :                                                 break;
   14228              :                                               }
   14229              :                                             default:;
   14230              :                                             }
   14231              :                                           break;
   14232              :                                         }
   14233              :                                       default:;
   14234              :                                       }
   14235              :                                   }
   14236              :                                 break;
   14237              :                               }
   14238              :                             default:;
   14239              :                             }
   14240              :                         }
   14241              :                       break;
   14242              :                     default:;
   14243              :                     }
   14244              :                   break;
   14245              :                 default:;
   14246              :                 }
   14247              :               break;
   14248              :             }
   14249        85544 :           CASE_CONVERT:
   14250        85544 :             {
   14251        85544 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14252        85544 :               switch (TREE_CODE (_q21))
   14253              :                 {
   14254         4049 :                 case INTEGER_CST:
   14255         4049 :                   {
   14256         4049 :                     switch (TREE_CODE (_p1))
   14257              :                       {
   14258          169 :                       CASE_CONVERT:
   14259          169 :                         {
   14260          169 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   14261          169 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14262              :                             {
   14263           63 :                               switch (TREE_CODE (_p2))
   14264              :                                 {
   14265           62 :                                 case INTEGER_CST:
   14266           62 :                                   {
   14267           62 :                                     {
   14268           62 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   14269           62 :                                       tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14270           62 :                                       if (res) return res;
   14271              :                                     }
   14272           62 :                                     break;
   14273              :                                   }
   14274              :                                 default:;
   14275              :                                 }
   14276              :                             }
   14277              :                           break;
   14278              :                         }
   14279         4049 :                       default:;
   14280              :                       }
   14281         4049 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   14282              :                       {
   14283            5 :                         switch (TREE_CODE (_p2))
   14284              :                           {
   14285            3 :                           case INTEGER_CST:
   14286            3 :                             {
   14287            3 :                               {
   14288            3 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   14289            3 :                                 tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14290            3 :                                 if (res) return res;
   14291              :                               }
   14292            3 :                               break;
   14293              :                             }
   14294              :                           default:;
   14295              :                           }
   14296              :                       }
   14297         4049 :                     switch (TREE_CODE (_p1))
   14298              :                       {
   14299         1170 :                       case PLUS_EXPR:
   14300         1170 :                         {
   14301         1170 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   14302         1170 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   14303         1170 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14304              :                             {
   14305           24 :                               switch (TREE_CODE (_q61))
   14306              :                                 {
   14307           24 :                                 case INTEGER_CST:
   14308           24 :                                   {
   14309           24 :                                     switch (TREE_CODE (_p2))
   14310              :                                       {
   14311           24 :                                       case INTEGER_CST:
   14312           24 :                                         {
   14313           24 :                                           {
   14314           24 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   14315           24 :                                             tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, PLUS_EXPR);
   14316           24 :                                             if (res) return res;
   14317              :                                           }
   14318           24 :                                           break;
   14319              :                                         }
   14320              :                                       default:;
   14321              :                                       }
   14322              :                                     break;
   14323              :                                   }
   14324              :                                 default:;
   14325              :                                 }
   14326              :                             }
   14327              :                           break;
   14328              :                         }
   14329            0 :                       case MINUS_EXPR:
   14330            0 :                         {
   14331            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   14332            0 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   14333            0 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14334              :                             {
   14335            0 :                               switch (TREE_CODE (_q61))
   14336              :                                 {
   14337            0 :                                 case INTEGER_CST:
   14338            0 :                                   {
   14339            0 :                                     switch (TREE_CODE (_p2))
   14340              :                                       {
   14341            0 :                                       case INTEGER_CST:
   14342            0 :                                         {
   14343            0 :                                           {
   14344            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   14345            0 :                                             tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MINUS_EXPR);
   14346            0 :                                             if (res) return res;
   14347              :                                           }
   14348            0 :                                           break;
   14349              :                                         }
   14350              :                                       default:;
   14351              :                                       }
   14352              :                                     break;
   14353              :                                   }
   14354              :                                 default:;
   14355              :                                 }
   14356              :                             }
   14357              :                           break;
   14358              :                         }
   14359              :                       default:;
   14360              :                       }
   14361              :                     break;
   14362              :                   }
   14363              :                 default:;
   14364              :                 }
   14365              :               break;
   14366              :             }
   14367       903626 :           default:;
   14368              :           }
   14369       903626 :         switch (TREE_CODE (_q21))
   14370              :           {
   14371       470740 :           case INTEGER_CST:
   14372       470740 :             {
   14373       470740 :               switch (TREE_CODE (_p1))
   14374              :                 {
   14375        54152 :                 CASE_CONVERT:
   14376        54152 :                   {
   14377        54152 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   14378        54152 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14379              :                       {
   14380        12612 :                         switch (TREE_CODE (_p2))
   14381              :                           {
   14382        12576 :                           case INTEGER_CST:
   14383        12576 :                             {
   14384        12576 :                               {
   14385        12576 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   14386        12576 :                                 tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14387        12576 :                                 if (res) return res;
   14388              :                               }
   14389        12268 :                               break;
   14390              :                             }
   14391              :                           default:;
   14392              :                           }
   14393              :                       }
   14394              :                     break;
   14395              :                   }
   14396       470432 :                 default:;
   14397              :                 }
   14398       470432 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   14399              :                 {
   14400         8859 :                   switch (TREE_CODE (_p2))
   14401              :                     {
   14402         8685 :                     case INTEGER_CST:
   14403         8685 :                       {
   14404         8685 :                         {
   14405         8685 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   14406         8685 :                           tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14407         8685 :                           if (res) return res;
   14408              :                         }
   14409           31 :                         break;
   14410              :                       }
   14411              :                     default:;
   14412              :                     }
   14413              :                 }
   14414       461778 :               switch (TREE_CODE (_p1))
   14415              :                 {
   14416        47145 :                 case PLUS_EXPR:
   14417        47145 :                   {
   14418        47145 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   14419        47145 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   14420        47145 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14421              :                       {
   14422          737 :                         switch (TREE_CODE (_q51))
   14423              :                           {
   14424          737 :                           case INTEGER_CST:
   14425          737 :                             {
   14426          737 :                               switch (TREE_CODE (_p2))
   14427              :                                 {
   14428          729 :                                 case INTEGER_CST:
   14429          729 :                                   {
   14430          729 :                                     {
   14431          729 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   14432          729 :                                       tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, PLUS_EXPR);
   14433          729 :                                       if (res) return res;
   14434              :                                     }
   14435           17 :                                     break;
   14436              :                                   }
   14437              :                                 default:;
   14438              :                                 }
   14439              :                               break;
   14440              :                             }
   14441              :                           default:;
   14442              :                           }
   14443              :                       }
   14444              :                     break;
   14445              :                   }
   14446          190 :                 case MINUS_EXPR:
   14447          190 :                   {
   14448          190 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   14449          190 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   14450          190 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14451              :                       {
   14452            4 :                         switch (TREE_CODE (_q51))
   14453              :                           {
   14454            0 :                           case INTEGER_CST:
   14455            0 :                             {
   14456            0 :                               switch (TREE_CODE (_p2))
   14457              :                                 {
   14458            0 :                                 case INTEGER_CST:
   14459            0 :                                   {
   14460            0 :                                     {
   14461            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   14462            0 :                                       tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MINUS_EXPR);
   14463            0 :                                       if (res) return res;
   14464              :                                     }
   14465            0 :                                     break;
   14466              :                                   }
   14467              :                                 default:;
   14468              :                                 }
   14469              :                               break;
   14470              :                             }
   14471              :                           default:;
   14472              :                           }
   14473              :                       }
   14474              :                     break;
   14475              :                   }
   14476              :                 default:;
   14477              :                 }
   14478              :               break;
   14479              :             }
   14480       893952 :           default:;
   14481              :           }
   14482       893952 :         switch (TREE_CODE (_p1))
   14483              :           {
   14484           18 :           case MIN_EXPR:
   14485           18 :             {
   14486           18 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14487           18 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14488           18 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14489              :                 {
   14490            7 :                   switch (TREE_CODE (_p2))
   14491              :                     {
   14492            0 :                     case MIN_EXPR:
   14493            0 :                       {
   14494            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14495            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14496            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14497              :                           {
   14498            0 :                             {
   14499            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   14500            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14501            0 :                               if (res) return res;
   14502              :                             }
   14503              :                           }
   14504            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14505              :                           {
   14506            0 :                             {
   14507            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   14508            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14509            0 :                               if (res) return res;
   14510              :                             }
   14511              :                           }
   14512              :                         break;
   14513              :                       }
   14514            7 :                     default:;
   14515              :                     }
   14516            7 :                   {
   14517            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   14518            7 :                     tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14519            7 :                     if (res) return res;
   14520              :                   }
   14521              :                 }
   14522           18 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14523              :                 {
   14524            0 :                   switch (TREE_CODE (_p2))
   14525              :                     {
   14526            0 :                     case MIN_EXPR:
   14527            0 :                       {
   14528            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14529            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14530            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14531              :                           {
   14532            0 :                             {
   14533            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   14534            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14535            0 :                               if (res) return res;
   14536              :                             }
   14537              :                           }
   14538            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14539              :                           {
   14540            0 :                             {
   14541            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   14542            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14543            0 :                               if (res) return res;
   14544              :                             }
   14545              :                           }
   14546              :                         break;
   14547              :                       }
   14548              :                     default:;
   14549              :                     }
   14550              :                 }
   14551           18 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14552              :                 {
   14553            8 :                   switch (TREE_CODE (_p2))
   14554              :                     {
   14555            0 :                     case MIN_EXPR:
   14556            0 :                       {
   14557            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14558            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14559            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14560              :                           {
   14561            0 :                             {
   14562            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   14563            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14564            0 :                               if (res) return res;
   14565              :                             }
   14566              :                           }
   14567            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14568              :                           {
   14569            0 :                             {
   14570            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   14571            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14572            0 :                               if (res) return res;
   14573              :                             }
   14574              :                           }
   14575              :                         break;
   14576              :                       }
   14577              :                     default:;
   14578              :                     }
   14579              :                 }
   14580           18 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14581              :                 {
   14582            7 :                   switch (TREE_CODE (_p2))
   14583              :                     {
   14584            0 :                     case MIN_EXPR:
   14585            0 :                       {
   14586            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14587            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14588            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14589              :                           {
   14590            0 :                             {
   14591            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   14592            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14593            0 :                               if (res) return res;
   14594              :                             }
   14595              :                           }
   14596            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14597              :                           {
   14598            0 :                             {
   14599            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   14600            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14601            0 :                               if (res) return res;
   14602              :                             }
   14603              :                           }
   14604              :                         break;
   14605              :                       }
   14606              :                     default:;
   14607              :                     }
   14608              :                 }
   14609           18 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14610              :                 {
   14611            0 :                   {
   14612            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   14613            0 :                     tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14614            0 :                     if (res) return res;
   14615              :                   }
   14616              :                 }
   14617              :               break;
   14618              :             }
   14619          100 :           case MAX_EXPR:
   14620          100 :             {
   14621          100 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14622          100 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14623          100 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14624              :                 {
   14625            0 :                   switch (TREE_CODE (_p2))
   14626              :                     {
   14627            0 :                     case MAX_EXPR:
   14628            0 :                       {
   14629            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14630            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14631            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14632              :                           {
   14633            0 :                             {
   14634            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   14635            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14636            0 :                               if (res) return res;
   14637              :                             }
   14638              :                           }
   14639            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14640              :                           {
   14641            0 :                             {
   14642            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   14643            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14644            0 :                               if (res) return res;
   14645              :                             }
   14646              :                           }
   14647              :                         break;
   14648              :                       }
   14649              :                     default:;
   14650              :                     }
   14651              :                 }
   14652          100 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14653              :                 {
   14654            2 :                   switch (TREE_CODE (_p2))
   14655              :                     {
   14656            1 :                     case MAX_EXPR:
   14657            1 :                       {
   14658            1 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14659            1 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14660            1 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14661              :                           {
   14662            0 :                             {
   14663            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   14664            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14665            0 :                               if (res) return res;
   14666              :                             }
   14667              :                           }
   14668            1 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14669              :                           {
   14670            1 :                             {
   14671            1 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   14672            1 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14673            1 :                               if (res) return res;
   14674              :                             }
   14675              :                           }
   14676              :                         break;
   14677              :                       }
   14678              :                     default:;
   14679              :                     }
   14680              :                 }
   14681           99 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14682              :                 {
   14683            1 :                   switch (TREE_CODE (_p2))
   14684              :                     {
   14685            0 :                     case MAX_EXPR:
   14686            0 :                       {
   14687            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14688            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14689            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14690              :                           {
   14691            0 :                             {
   14692            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   14693            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14694            0 :                               if (res) return res;
   14695              :                             }
   14696              :                           }
   14697            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14698              :                           {
   14699            0 :                             {
   14700            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   14701            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14702            0 :                               if (res) return res;
   14703              :                             }
   14704              :                           }
   14705              :                         break;
   14706              :                       }
   14707            1 :                     default:;
   14708              :                     }
   14709            1 :                   {
   14710            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   14711            1 :                     tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14712            1 :                     if (res) return res;
   14713              :                   }
   14714              :                 }
   14715           98 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14716              :                 {
   14717            0 :                   switch (TREE_CODE (_p2))
   14718              :                     {
   14719            0 :                     case MAX_EXPR:
   14720            0 :                       {
   14721            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14722            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14723            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14724              :                           {
   14725            0 :                             {
   14726            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   14727            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14728            0 :                               if (res) return res;
   14729              :                             }
   14730              :                           }
   14731            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14732              :                           {
   14733            0 :                             {
   14734            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   14735            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14736            0 :                               if (res) return res;
   14737              :                             }
   14738              :                           }
   14739              :                         break;
   14740              :                       }
   14741            0 :                     default:;
   14742              :                     }
   14743            0 :                   {
   14744            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   14745            0 :                     tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14746            0 :                     if (res) return res;
   14747              :                   }
   14748              :                 }
   14749              :               break;
   14750              :             }
   14751       893950 :           default:;
   14752              :           }
   14753       893950 :         if (integer_zerop (_q20))
   14754              :           {
   14755            0 :             {
   14756            0 :               tree _q21_pops[1];
   14757            0 :               if (tree_nop_convert (_q21, _q21_pops))
   14758              :                 {
   14759            0 :                   tree _q40 = _q21_pops[0];
   14760            0 :                   switch (TREE_CODE (_p1))
   14761              :                     {
   14762            0 :                     case MIN_EXPR:
   14763            0 :                       {
   14764            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   14765            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   14766            0 :                         if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   14767              :                           {
   14768            0 :                             switch (TREE_CODE (_q61))
   14769              :                               {
   14770            0 :                               case INTEGER_CST:
   14771            0 :                                 {
   14772            0 :                                   switch (TREE_CODE (_p2))
   14773              :                                     {
   14774            0 :                                     case INTEGER_CST:
   14775            0 :                                       {
   14776            0 :                                         {
   14777            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q20, _p1, _q61, _p2 };
   14778            0 :                                           tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14779            0 :                                           if (res) return res;
   14780              :                                         }
   14781            0 :                                         break;
   14782              :                                       }
   14783              :                                     default:;
   14784              :                                     }
   14785              :                                   break;
   14786              :                                 }
   14787              :                               default:;
   14788              :                               }
   14789              :                           }
   14790              :                         break;
   14791              :                       }
   14792              :                     default:;
   14793              :                     }
   14794              :                 }
   14795              :             }
   14796              :           }
   14797       893950 :         if (tree_expr_nonnegative_p (_q21))
   14798              :           {
   14799       577314 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   14800              :               {
   14801          600 :                 switch (TREE_CODE (_p2))
   14802              :                   {
   14803            0 :                   case ABS_EXPR:
   14804            0 :                     {
   14805            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   14806            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14807              :                         {
   14808            0 :                           {
   14809            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   14810            0 :                             tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14811            0 :                             if (res) return res;
   14812              :                           }
   14813              :                         }
   14814              :                       break;
   14815              :                     }
   14816              :                   default:;
   14817              :                   }
   14818              :               }
   14819       577314 :             switch (TREE_CODE (_p1))
   14820              :               {
   14821            1 :               case ABS_EXPR:
   14822            1 :                 {
   14823            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14824            1 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14825              :                     {
   14826            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   14827              :                         {
   14828            0 :                           {
   14829            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   14830            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14831            0 :                             if (res) return res;
   14832              :                           }
   14833              :                         }
   14834              :                     }
   14835              :                   break;
   14836              :                 }
   14837              :               default:;
   14838              :               }
   14839              :           }
   14840       893950 :         switch (TREE_CODE (_q20))
   14841              :           {
   14842        56555 :           case PLUS_EXPR:
   14843        56555 :             {
   14844        56555 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14845        56555 :               tree _q31 = TREE_OPERAND (_q20, 1);
   14846        56555 :               if (integer_onep (_q31))
   14847              :                 {
   14848        28532 :                   switch (TREE_CODE (_p1))
   14849              :                     {
   14850            2 :                     case NEGATE_EXPR:
   14851            2 :                       {
   14852            2 :                         tree _q70 = TREE_OPERAND (_p1, 0);
   14853            2 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   14854              :                           {
   14855            2 :                             if (integer_onep (_p2))
   14856              :                               {
   14857            2 :                                 {
   14858            2 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   14859            2 :                                   if (TYPE_UNSIGNED (type)
   14860              : )
   14861              :                                     {
   14862            2 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1821;
   14863            2 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1821;
   14864            2 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1821;
   14865            2 :                                       {
   14866            2 :                                         tree res_op0;
   14867            2 :                                         {
   14868            2 :                                           tree _o1[2], _r1;
   14869            2 :                                           _o1[0] = unshare_expr (captures[0]);
   14870            2 :                                           _o1[1] = captures[1];
   14871            2 :                                           _r1 = fold_build2_loc (loc, GE_EXPR, boolean_type_node, _o1[0], _o1[1]);
   14872            2 :                                           res_op0 = _r1;
   14873              :                                         }
   14874            2 :                                         tree res_op1;
   14875            2 :                                         {
   14876            2 :                                           tree _o1[1], _r1;
   14877            2 :                                           _o1[0] = captures[0];
   14878            2 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14879            2 :                                           res_op1 = _r1;
   14880              :                                         }
   14881            2 :                                         tree res_op2;
   14882            2 :                                         res_op2 = captures[2];
   14883            2 :                                         tree _r;
   14884            2 :                                         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   14885            2 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1042, __FILE__, __LINE__, true);
   14886            2 :                                         return _r;
   14887              :                                       }
   14888            0 : next_after_fail1821:;
   14889              :                                     }
   14890              :                                 }
   14891              :                               }
   14892              :                           }
   14893              :                         break;
   14894              :                       }
   14895              :                     default:;
   14896              :                     }
   14897              :                 }
   14898              :               break;
   14899              :             }
   14900              :           default:;
   14901              :           }
   14902              :         break;
   14903              :       }
   14904      1364979 :     case LE_EXPR:
   14905      1364979 :       {
   14906      1364979 :         tree _q20 = TREE_OPERAND (_p0, 0);
   14907      1364979 :         tree _q21 = TREE_OPERAND (_p0, 1);
   14908      1364979 :         switch (TREE_CODE (_q20))
   14909              :           {
   14910          198 :           case MINUS_EXPR:
   14911          198 :             {
   14912          198 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14913          198 :               tree _q31 = TREE_OPERAND (_q20, 1);
   14914          198 :               switch (TREE_CODE (_q30))
   14915              :                 {
   14916            0 :                 case CALL_EXPR:
   14917            0 :                   switch (get_call_combined_fn (_q30))
   14918              :                     {
   14919            0 :                     case CFN_BUILT_IN_CEIL:
   14920            0 :                       if (call_expr_nargs (_q30) == 1)
   14921              :     {
   14922            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14923            0 :                           switch (TREE_CODE (_q40))
   14924              :                             {
   14925            0 :                             case SSA_NAME:
   14926            0 :                               {
   14927            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14928              :                                   {
   14929            0 :                                     switch (TREE_CODE (_q31))
   14930              :                                       {
   14931            0 :                                       case SSA_NAME:
   14932            0 :                                         {
   14933            0 :                                           switch (TREE_CODE (_q21))
   14934              :                                             {
   14935            0 :                                             case MINUS_EXPR:
   14936            0 :                                               {
   14937            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14938            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14939            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14940              :                                                   {
   14941            0 :                                                     switch (TREE_CODE (_q80))
   14942              :                                                       {
   14943            0 :                                                       case SSA_NAME:
   14944            0 :                                                         {
   14945            0 :                                                           switch (TREE_CODE (_q81))
   14946              :                                                             {
   14947            0 :                                                             case CALL_EXPR:
   14948            0 :                                                               switch (get_call_combined_fn (_q81))
   14949              :                                                                 {
   14950            0 :                                                                 case CFN_BUILT_IN_FLOOR:
   14951            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14952              :     {
   14953            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14954            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14955              :                                                                         {
   14956            0 :                                                                           switch (TREE_CODE (_q110))
   14957              :                                                                             {
   14958            0 :                                                                             case SSA_NAME:
   14959            0 :                                                                               {
   14960            0 :                                                                                 switch (TREE_CODE (_p1))
   14961              :                                                                                   {
   14962            0 :                                                                                   case CALL_EXPR:
   14963            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14964              :                                                                                       {
   14965            0 :                                                                                       case CFN_BUILT_IN_CEIL:
   14966            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14967              :     {
   14968            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14969            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14970              :                                                                                               {
   14971            0 :                                                                                                 switch (TREE_CODE (_q140))
   14972              :                                                                                                   {
   14973            0 :                                                                                                   case SSA_NAME:
   14974            0 :                                                                                                     {
   14975            0 :                                                                                                       switch (TREE_CODE (_p2))
   14976              :                                                                                                         {
   14977            0 :                                                                                                         case CALL_EXPR:
   14978            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14979              :                                                                                                             {
   14980            0 :                                                                                                             case CFN_BUILT_IN_FLOOR:
   14981            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14982              :     {
   14983            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14984            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14985              :                                                                                                                     {
   14986            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14987              :                                                                                                                         {
   14988            0 :                                                                                                                         case SSA_NAME:
   14989            0 :                                                                                                                           {
   14990            0 :                                                                                                                             {
   14991            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14992            0 :                                                                                                                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   14993            0 :                                                                                                                               if (res) return res;
   14994              :                                                                                                                             }
   14995            0 :                                                                                                                             break;
   14996              :                                                                                                                           }
   14997              :                                                                                                                         default:;
   14998              :                                                                                                                         }
   14999              :                                                                                                                     }
   15000              :                                                                                                                 }
   15001              :                                                                                                               break;
   15002              :                                                                                                             default:;
   15003              :                                                                                                             }
   15004              :                                                                                                           break;
   15005              :                                                                                                         default:;
   15006              :                                                                                                         }
   15007              :                                                                                                       break;
   15008              :                                                                                                     }
   15009              :                                                                                                   default:;
   15010              :                                                                                                   }
   15011              :                                                                                               }
   15012              :                                                                                           }
   15013              :                                                                                         break;
   15014              :                                                                                       default:;
   15015              :                                                                                       }
   15016              :                                                                                     break;
   15017              :                                                                                   default:;
   15018              :                                                                                   }
   15019              :                                                                                 break;
   15020              :                                                                               }
   15021              :                                                                             default:;
   15022              :                                                                             }
   15023              :                                                                         }
   15024              :                                                                     }
   15025              :                                                                   break;
   15026              :                                                                 default:;
   15027              :                                                                 }
   15028              :                                                               break;
   15029              :                                                             default:;
   15030              :                                                             }
   15031              :                                                           break;
   15032              :                                                         }
   15033              :                                                       default:;
   15034              :                                                       }
   15035              :                                                   }
   15036              :                                                 break;
   15037              :                                               }
   15038              :                                             default:;
   15039              :                                             }
   15040              :                                           break;
   15041              :                                         }
   15042              :                                       default:;
   15043              :                                       }
   15044              :                                   }
   15045              :                                 break;
   15046              :                               }
   15047              :                             default:;
   15048              :                             }
   15049              :                         }
   15050              :                       break;
   15051            0 :                     case CFN_CEIL:
   15052            0 :                       if (call_expr_nargs (_q30) == 1)
   15053              :     {
   15054            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15055            0 :                           switch (TREE_CODE (_q40))
   15056              :                             {
   15057            0 :                             case SSA_NAME:
   15058            0 :                               {
   15059            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   15060              :                                   {
   15061            0 :                                     switch (TREE_CODE (_q31))
   15062              :                                       {
   15063            0 :                                       case SSA_NAME:
   15064            0 :                                         {
   15065            0 :                                           switch (TREE_CODE (_q21))
   15066              :                                             {
   15067            0 :                                             case MINUS_EXPR:
   15068            0 :                                               {
   15069            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   15070            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   15071            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   15072              :                                                   {
   15073            0 :                                                     switch (TREE_CODE (_q80))
   15074              :                                                       {
   15075            0 :                                                       case SSA_NAME:
   15076            0 :                                                         {
   15077            0 :                                                           switch (TREE_CODE (_q81))
   15078              :                                                             {
   15079            0 :                                                             case CALL_EXPR:
   15080            0 :                                                               switch (get_call_combined_fn (_q81))
   15081              :                                                                 {
   15082            0 :                                                                 case CFN_FLOOR:
   15083            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   15084              :     {
   15085            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   15086            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   15087              :                                                                         {
   15088            0 :                                                                           switch (TREE_CODE (_q110))
   15089              :                                                                             {
   15090            0 :                                                                             case SSA_NAME:
   15091            0 :                                                                               {
   15092            0 :                                                                                 switch (TREE_CODE (_p1))
   15093              :                                                                                   {
   15094            0 :                                                                                   case CALL_EXPR:
   15095            0 :                                                                                     switch (get_call_combined_fn (_p1))
   15096              :                                                                                       {
   15097            0 :                                                                                       case CFN_CEIL:
   15098            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   15099              :     {
   15100            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   15101            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   15102              :                                                                                               {
   15103            0 :                                                                                                 switch (TREE_CODE (_q140))
   15104              :                                                                                                   {
   15105            0 :                                                                                                   case SSA_NAME:
   15106            0 :                                                                                                     {
   15107            0 :                                                                                                       switch (TREE_CODE (_p2))
   15108              :                                                                                                         {
   15109            0 :                                                                                                         case CALL_EXPR:
   15110            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   15111              :                                                                                                             {
   15112            0 :                                                                                                             case CFN_FLOOR:
   15113            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   15114              :     {
   15115            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   15116            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   15117              :                                                                                                                     {
   15118            0 :                                                                                                                       switch (TREE_CODE (_q170))
   15119              :                                                                                                                         {
   15120            0 :                                                                                                                         case SSA_NAME:
   15121            0 :                                                                                                                           {
   15122            0 :                                                                                                                             {
   15123            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   15124            0 :                                                                                                                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_CEIL, CFN_FLOOR, CFN_FLOOR, CFN_CEIL);
   15125            0 :                                                                                                                               if (res) return res;
   15126              :                                                                                                                             }
   15127            0 :                                                                                                                             break;
   15128              :                                                                                                                           }
   15129              :                                                                                                                         default:;
   15130              :                                                                                                                         }
   15131              :                                                                                                                     }
   15132              :                                                                                                                 }
   15133              :                                                                                                               break;
   15134              :                                                                                                             default:;
   15135              :                                                                                                             }
   15136              :                                                                                                           break;
   15137              :                                                                                                         default:;
   15138              :                                                                                                         }
   15139              :                                                                                                       break;
   15140              :                                                                                                     }
   15141              :                                                                                                   default:;
   15142              :                                                                                                   }
   15143              :                                                                                               }
   15144              :                                                                                           }
   15145              :                                                                                         break;
   15146              :                                                                                       default:;
   15147              :                                                                                       }
   15148              :                                                                                     break;
   15149              :                                                                                   default:;
   15150              :                                                                                   }
   15151              :                                                                                 break;
   15152              :                                                                               }
   15153              :                                                                             default:;
   15154              :                                                                             }
   15155              :                                                                         }
   15156              :                                                                     }
   15157              :                                                                   break;
   15158              :                                                                 default:;
   15159              :                                                                 }
   15160              :                                                               break;
   15161              :                                                             default:;
   15162              :                                                             }
   15163              :                                                           break;
   15164              :                                                         }
   15165              :                                                       default:;
   15166              :                                                       }
   15167              :                                                   }
   15168              :                                                 break;
   15169              :                                               }
   15170              :                                             default:;
   15171              :                                             }
   15172              :                                           break;
   15173              :                                         }
   15174              :                                       default:;
   15175              :                                       }
   15176              :                                   }
   15177              :                                 break;
   15178              :                               }
   15179              :                             default:;
   15180              :                             }
   15181              :                         }
   15182              :                       break;
   15183            0 :                     case CFN_BUILT_IN_CEILF:
   15184            0 :                       if (call_expr_nargs (_q30) == 1)
   15185              :     {
   15186            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15187            0 :                           switch (TREE_CODE (_q40))
   15188              :                             {
   15189            0 :                             case SSA_NAME:
   15190            0 :                               {
   15191            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   15192              :                                   {
   15193            0 :                                     switch (TREE_CODE (_q31))
   15194              :                                       {
   15195            0 :                                       case SSA_NAME:
   15196            0 :                                         {
   15197            0 :                                           switch (TREE_CODE (_q21))
   15198              :                                             {
   15199            0 :                                             case MINUS_EXPR:
   15200            0 :                                               {
   15201            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   15202            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   15203            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   15204              :                                                   {
   15205            0 :                                                     switch (TREE_CODE (_q80))
   15206              :                                                       {
   15207            0 :                                                       case SSA_NAME:
   15208            0 :                                                         {
   15209            0 :                                                           switch (TREE_CODE (_q81))
   15210              :                                                             {
   15211            0 :                                                             case CALL_EXPR:
   15212            0 :                                                               switch (get_call_combined_fn (_q81))
   15213              :                                                                 {
   15214            0 :                                                                 case CFN_BUILT_IN_FLOORF:
   15215            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   15216              :     {
   15217            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   15218            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   15219              :                                                                         {
   15220            0 :                                                                           switch (TREE_CODE (_q110))
   15221              :                                                                             {
   15222            0 :                                                                             case SSA_NAME:
   15223            0 :                                                                               {
   15224            0 :                                                                                 switch (TREE_CODE (_p1))
   15225              :                                                                                   {
   15226            0 :                                                                                   case CALL_EXPR:
   15227            0 :                                                                                     switch (get_call_combined_fn (_p1))
   15228              :                                                                                       {
   15229            0 :                                                                                       case CFN_BUILT_IN_CEILF:
   15230            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   15231              :     {
   15232            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   15233            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   15234              :                                                                                               {
   15235            0 :                                                                                                 switch (TREE_CODE (_q140))
   15236              :                                                                                                   {
   15237            0 :                                                                                                   case SSA_NAME:
   15238            0 :                                                                                                     {
   15239            0 :                                                                                                       switch (TREE_CODE (_p2))
   15240              :                                                                                                         {
   15241            0 :                                                                                                         case CALL_EXPR:
   15242            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   15243              :                                                                                                             {
   15244            0 :                                                                                                             case CFN_BUILT_IN_FLOORF:
   15245            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   15246              :     {
   15247            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   15248            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   15249              :                                                                                                                     {
   15250            0 :                                                                                                                       switch (TREE_CODE (_q170))
   15251              :                                                                                                                         {
   15252            0 :                                                                                                                         case SSA_NAME:
   15253            0 :                                                                                                                           {
   15254            0 :                                                                                                                             {
   15255            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   15256            0 :                                                                                                                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   15257            0 :                                                                                                                               if (res) return res;
   15258              :                                                                                                                             }
   15259            0 :                                                                                                                             break;
   15260              :                                                                                                                           }
   15261              :                                                                                                                         default:;
   15262              :                                                                                                                         }
   15263              :                                                                                                                     }
   15264              :                                                                                                                 }
   15265              :                                                                                                               break;
   15266              :                                                                                                             default:;
   15267              :                                                                                                             }
   15268              :                                                                                                           break;
   15269              :                                                                                                         default:;
   15270              :                                                                                                         }
   15271              :                                                                                                       break;
   15272              :                                                                                                     }
   15273              :                                                                                                   default:;
   15274              :                                                                                                   }
   15275              :                                                                                               }
   15276              :                                                                                           }
   15277              :                                                                                         break;
   15278              :                                                                                       default:;
   15279              :                                                                                       }
   15280              :                                                                                     break;
   15281              :                                                                                   default:;
   15282              :                                                                                   }
   15283              :                                                                                 break;
   15284              :                                                                               }
   15285              :                                                                             default:;
   15286              :                                                                             }
   15287              :                                                                         }
   15288              :                                                                     }
   15289              :                                                                   break;
   15290              :                                                                 default:;
   15291              :                                                                 }
   15292              :                                                               break;
   15293              :                                                             default:;
   15294              :                                                             }
   15295              :                                                           break;
   15296              :                                                         }
   15297              :                                                       default:;
   15298              :                                                       }
   15299              :                                                   }
   15300              :                                                 break;
   15301              :                                               }
   15302              :                                             default:;
   15303              :                                             }
   15304              :                                           break;
   15305              :                                         }
   15306              :                                       default:;
   15307              :                                       }
   15308              :                                   }
   15309              :                                 break;
   15310              :                               }
   15311              :                             default:;
   15312              :                             }
   15313              :                         }
   15314              :                       break;
   15315            0 :                     case CFN_BUILT_IN_CEILL:
   15316            0 :                       if (call_expr_nargs (_q30) == 1)
   15317              :     {
   15318            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15319            0 :                           switch (TREE_CODE (_q40))
   15320              :                             {
   15321            0 :                             case SSA_NAME:
   15322            0 :                               {
   15323            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   15324              :                                   {
   15325            0 :                                     switch (TREE_CODE (_q31))
   15326              :                                       {
   15327            0 :                                       case SSA_NAME:
   15328            0 :                                         {
   15329            0 :                                           switch (TREE_CODE (_q21))
   15330              :                                             {
   15331            0 :                                             case MINUS_EXPR:
   15332            0 :                                               {
   15333            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   15334            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   15335            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   15336              :                                                   {
   15337            0 :                                                     switch (TREE_CODE (_q80))
   15338              :                                                       {
   15339            0 :                                                       case SSA_NAME:
   15340            0 :                                                         {
   15341            0 :                                                           switch (TREE_CODE (_q81))
   15342              :                                                             {
   15343            0 :                                                             case CALL_EXPR:
   15344            0 :                                                               switch (get_call_combined_fn (_q81))
   15345              :                                                                 {
   15346            0 :                                                                 case CFN_BUILT_IN_FLOORL:
   15347            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   15348              :     {
   15349            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   15350            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   15351              :                                                                         {
   15352            0 :                                                                           switch (TREE_CODE (_q110))
   15353              :                                                                             {
   15354            0 :                                                                             case SSA_NAME:
   15355            0 :                                                                               {
   15356            0 :                                                                                 switch (TREE_CODE (_p1))
   15357              :                                                                                   {
   15358            0 :                                                                                   case CALL_EXPR:
   15359            0 :                                                                                     switch (get_call_combined_fn (_p1))
   15360              :                                                                                       {
   15361            0 :                                                                                       case CFN_BUILT_IN_CEILL:
   15362            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   15363              :     {
   15364            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   15365            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   15366              :                                                                                               {
   15367            0 :                                                                                                 switch (TREE_CODE (_q140))
   15368              :                                                                                                   {
   15369            0 :                                                                                                   case SSA_NAME:
   15370            0 :                                                                                                     {
   15371            0 :                                                                                                       switch (TREE_CODE (_p2))
   15372              :                                                                                                         {
   15373            0 :                                                                                                         case CALL_EXPR:
   15374            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   15375              :                                                                                                             {
   15376            0 :                                                                                                             case CFN_BUILT_IN_FLOORL:
   15377            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   15378              :     {
   15379            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   15380            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   15381              :                                                                                                                     {
   15382            0 :                                                                                                                       switch (TREE_CODE (_q170))
   15383              :                                                                                                                         {
   15384            0 :                                                                                                                         case SSA_NAME:
   15385            0 :                                                                                                                           {
   15386            0 :                                                                                                                             {
   15387            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   15388            0 :                                                                                                                               tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   15389            0 :                                                                                                                               if (res) return res;
   15390              :                                                                                                                             }
   15391            0 :                                                                                                                             break;
   15392              :                                                                                                                           }
   15393              :                                                                                                                         default:;
   15394              :                                                                                                                         }
   15395              :                                                                                                                     }
   15396              :                                                                                                                 }
   15397              :                                                                                                               break;
   15398              :                                                                                                             default:;
   15399              :                                                                                                             }
   15400              :                                                                                                           break;
   15401              :                                                                                                         default:;
   15402              :                                                                                                         }
   15403              :                                                                                                       break;
   15404              :                                                                                                     }
   15405              :                                                                                                   default:;
   15406              :                                                                                                   }
   15407              :                                                                                               }
   15408              :                                                                                           }
   15409              :                                                                                         break;
   15410              :                                                                                       default:;
   15411              :                                                                                       }
   15412              :                                                                                     break;
   15413              :                                                                                   default:;
   15414              :                                                                                   }
   15415              :                                                                                 break;
   15416              :                                                                               }
   15417              :                                                                             default:;
   15418              :                                                                             }
   15419              :                                                                         }
   15420              :                                                                     }
   15421              :                                                                   break;
   15422              :                                                                 default:;
   15423              :                                                                 }
   15424              :                                                               break;
   15425              :                                                             default:;
   15426              :                                                             }
   15427              :                                                           break;
   15428              :                                                         }
   15429              :                                                       default:;
   15430              :                                                       }
   15431              :                                                   }
   15432              :                                                 break;
   15433              :                                               }
   15434              :                                             default:;
   15435              :                                             }
   15436              :                                           break;
   15437              :                                         }
   15438              :                                       default:;
   15439              :                                       }
   15440              :                                   }
   15441              :                                 break;
   15442              :                               }
   15443              :                             default:;
   15444              :                             }
   15445              :                         }
   15446              :                       break;
   15447              :                     default:;
   15448              :                     }
   15449              :                   break;
   15450              :                 default:;
   15451              :                 }
   15452              :               break;
   15453              :             }
   15454      1364979 :           default:;
   15455              :           }
   15456      1364979 :         if (integer_zerop (_q21))
   15457              :           {
   15458       124267 :             switch (TREE_CODE (_p1))
   15459              :               {
   15460          218 :               case NEGATE_EXPR:
   15461          218 :                 {
   15462          218 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   15463          218 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15464              :                     {
   15465           70 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   15466              :                         {
   15467           70 :                           if (integer_zerop (_p2))
   15468              :                             {
   15469           70 :                               {
   15470           70 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15471           70 :                                 if (ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type)
   15472              : )
   15473              :                                   {
   15474           68 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1822;
   15475           68 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1822;
   15476           68 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1822;
   15477           68 :                                     {
   15478           68 :                                       tree res_op0;
   15479           68 :                                       res_op0 = captures[2];
   15480           68 :                                       tree res_op1;
   15481           68 :                                       res_op1 = captures[1];
   15482           68 :                                       tree _r;
   15483           68 :                                       _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
   15484           68 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
   15485           68 :                                       return _r;
   15486              :                                     }
   15487            2 : next_after_fail1822:;
   15488              :                                   }
   15489              :                               }
   15490              :                             }
   15491              :                         }
   15492              :                     }
   15493              :                   break;
   15494              :                 }
   15495              :               default:;
   15496              :               }
   15497              :           }
   15498      1364911 :         switch (TREE_CODE (_q20))
   15499              :           {
   15500       141707 :           CASE_CONVERT:
   15501       141707 :             {
   15502       141707 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15503       141707 :               switch (TREE_CODE (_q21))
   15504              :                 {
   15505       104651 :                 case INTEGER_CST:
   15506       104651 :                   {
   15507       104651 :                     switch (TREE_CODE (_p1))
   15508              :                       {
   15509          623 :                       CASE_CONVERT:
   15510          623 :                         {
   15511          623 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   15512          623 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15513              :                             {
   15514            8 :                               switch (TREE_CODE (_p2))
   15515              :                                 {
   15516            8 :                                 case INTEGER_CST:
   15517            8 :                                   {
   15518            8 :                                     {
   15519            8 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   15520            8 :                                       tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15521            8 :                                       if (res) return res;
   15522              :                                     }
   15523            8 :                                     break;
   15524              :                                   }
   15525              :                                 default:;
   15526              :                                 }
   15527              :                             }
   15528              :                           break;
   15529              :                         }
   15530       104651 :                       default:;
   15531              :                       }
   15532       104651 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   15533              :                       {
   15534           21 :                         switch (TREE_CODE (_p2))
   15535              :                           {
   15536           21 :                           case INTEGER_CST:
   15537           21 :                             {
   15538           21 :                               {
   15539           21 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   15540           21 :                                 tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15541           21 :                                 if (res) return res;
   15542              :                               }
   15543           21 :                               break;
   15544              :                             }
   15545              :                           default:;
   15546              :                           }
   15547              :                       }
   15548       104651 :                     switch (TREE_CODE (_p1))
   15549              :                       {
   15550          120 :                       case PLUS_EXPR:
   15551          120 :                         {
   15552          120 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   15553          120 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   15554          120 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15555              :                             {
   15556            6 :                               switch (TREE_CODE (_q61))
   15557              :                                 {
   15558            6 :                                 case INTEGER_CST:
   15559            6 :                                   {
   15560            6 :                                     switch (TREE_CODE (_p2))
   15561              :                                       {
   15562            6 :                                       case INTEGER_CST:
   15563            6 :                                         {
   15564            6 :                                           {
   15565            6 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   15566            6 :                                             tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, PLUS_EXPR);
   15567            6 :                                             if (res) return res;
   15568              :                                           }
   15569            6 :                                           break;
   15570              :                                         }
   15571              :                                       default:;
   15572              :                                       }
   15573              :                                     break;
   15574              :                                   }
   15575              :                                 default:;
   15576              :                                 }
   15577              :                             }
   15578              :                           break;
   15579              :                         }
   15580          700 :                       case MINUS_EXPR:
   15581          700 :                         {
   15582          700 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   15583          700 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   15584          700 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15585              :                             {
   15586            0 :                               switch (TREE_CODE (_q61))
   15587              :                                 {
   15588            0 :                                 case INTEGER_CST:
   15589            0 :                                   {
   15590            0 :                                     switch (TREE_CODE (_p2))
   15591              :                                       {
   15592            0 :                                       case INTEGER_CST:
   15593            0 :                                         {
   15594            0 :                                           {
   15595            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   15596            0 :                                             tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MINUS_EXPR);
   15597            0 :                                             if (res) return res;
   15598              :                                           }
   15599            0 :                                           break;
   15600              :                                         }
   15601              :                                       default:;
   15602              :                                       }
   15603              :                                     break;
   15604              :                                   }
   15605              :                                 default:;
   15606              :                                 }
   15607              :                             }
   15608              :                           break;
   15609              :                         }
   15610              :                       default:;
   15611              :                       }
   15612              :                     break;
   15613              :                   }
   15614              :                 default:;
   15615              :                 }
   15616              :               break;
   15617              :             }
   15618      1364911 :           default:;
   15619              :           }
   15620      1364911 :         switch (TREE_CODE (_q21))
   15621              :           {
   15622       974781 :           case INTEGER_CST:
   15623       974781 :             {
   15624       974781 :               switch (TREE_CODE (_p1))
   15625              :                 {
   15626        23820 :                 CASE_CONVERT:
   15627        23820 :                   {
   15628        23820 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   15629        23820 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15630              :                       {
   15631          228 :                         switch (TREE_CODE (_p2))
   15632              :                           {
   15633          210 :                           case INTEGER_CST:
   15634          210 :                             {
   15635          210 :                               {
   15636          210 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   15637          210 :                                 tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15638          210 :                                 if (res) return res;
   15639              :                               }
   15640          110 :                               break;
   15641              :                             }
   15642              :                           default:;
   15643              :                           }
   15644              :                       }
   15645              :                     break;
   15646              :                   }
   15647       974681 :                 default:;
   15648              :                 }
   15649       974681 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   15650              :                 {
   15651          275 :                   switch (TREE_CODE (_p2))
   15652              :                     {
   15653          238 :                     case INTEGER_CST:
   15654          238 :                       {
   15655          238 :                         {
   15656          238 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   15657          238 :                           tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15658          238 :                           if (res) return res;
   15659              :                         }
   15660           93 :                         break;
   15661              :                       }
   15662              :                     default:;
   15663              :                     }
   15664              :                 }
   15665       974536 :               switch (TREE_CODE (_p1))
   15666              :                 {
   15667         3100 :                 case PLUS_EXPR:
   15668         3100 :                   {
   15669         3100 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   15670         3100 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   15671         3100 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15672              :                       {
   15673          201 :                         switch (TREE_CODE (_q51))
   15674              :                           {
   15675          201 :                           case INTEGER_CST:
   15676          201 :                             {
   15677          201 :                               switch (TREE_CODE (_p2))
   15678              :                                 {
   15679          182 :                                 case INTEGER_CST:
   15680          182 :                                   {
   15681          182 :                                     {
   15682          182 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   15683          182 :                                       tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, PLUS_EXPR);
   15684          182 :                                       if (res) return res;
   15685              :                                     }
   15686          182 :                                     break;
   15687              :                                   }
   15688              :                                 default:;
   15689              :                                 }
   15690              :                               break;
   15691              :                             }
   15692              :                           default:;
   15693              :                           }
   15694              :                       }
   15695              :                     break;
   15696              :                   }
   15697         7220 :                 case MINUS_EXPR:
   15698         7220 :                   {
   15699         7220 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   15700         7220 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   15701         7220 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15702              :                       {
   15703            0 :                         switch (TREE_CODE (_q51))
   15704              :                           {
   15705            0 :                           case INTEGER_CST:
   15706            0 :                             {
   15707            0 :                               switch (TREE_CODE (_p2))
   15708              :                                 {
   15709            0 :                                 case INTEGER_CST:
   15710            0 :                                   {
   15711            0 :                                     {
   15712            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   15713            0 :                                       tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MINUS_EXPR);
   15714            0 :                                       if (res) return res;
   15715              :                                     }
   15716            0 :                                     break;
   15717              :                                   }
   15718              :                                 default:;
   15719              :                                 }
   15720              :                               break;
   15721              :                             }
   15722              :                           default:;
   15723              :                           }
   15724              :                       }
   15725              :                     break;
   15726              :                   }
   15727              :                 default:;
   15728              :                 }
   15729              :               break;
   15730              :             }
   15731      1364666 :           default:;
   15732              :           }
   15733      1364666 :         switch (TREE_CODE (_p1))
   15734              :           {
   15735           37 :           case MIN_EXPR:
   15736           37 :             {
   15737           37 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15738           37 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15739           37 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15740              :                 {
   15741            1 :                   switch (TREE_CODE (_p2))
   15742              :                     {
   15743            0 :                     case MIN_EXPR:
   15744            0 :                       {
   15745            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15746            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15747            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15748              :                           {
   15749            0 :                             {
   15750            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   15751            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   15752            0 :                               if (res) return res;
   15753              :                             }
   15754              :                           }
   15755            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15756              :                           {
   15757            0 :                             {
   15758            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   15759            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   15760            0 :                               if (res) return res;
   15761              :                             }
   15762              :                           }
   15763              :                         break;
   15764              :                       }
   15765              :                     default:;
   15766              :                     }
   15767              :                 }
   15768           37 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15769              :                 {
   15770            1 :                   switch (TREE_CODE (_p2))
   15771              :                     {
   15772            0 :                     case MIN_EXPR:
   15773            0 :                       {
   15774            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15775            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15776            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15777              :                           {
   15778            0 :                             {
   15779            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   15780            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   15781            0 :                               if (res) return res;
   15782              :                             }
   15783              :                           }
   15784            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15785              :                           {
   15786            0 :                             {
   15787            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   15788            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   15789            0 :                               if (res) return res;
   15790              :                             }
   15791              :                           }
   15792              :                         break;
   15793              :                       }
   15794              :                     default:;
   15795              :                     }
   15796              :                 }
   15797           37 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15798              :                 {
   15799            1 :                   switch (TREE_CODE (_p2))
   15800              :                     {
   15801            0 :                     case MIN_EXPR:
   15802            0 :                       {
   15803            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15804            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15805            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15806              :                           {
   15807            0 :                             {
   15808            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   15809            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   15810            0 :                               if (res) return res;
   15811              :                             }
   15812              :                           }
   15813            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15814              :                           {
   15815            0 :                             {
   15816            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   15817            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   15818            0 :                               if (res) return res;
   15819              :                             }
   15820              :                           }
   15821              :                         break;
   15822              :                       }
   15823            1 :                     default:;
   15824              :                     }
   15825            1 :                   {
   15826            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   15827            1 :                     tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   15828            1 :                     if (res) return res;
   15829              :                   }
   15830              :                 }
   15831           36 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15832              :                 {
   15833            1 :                   switch (TREE_CODE (_p2))
   15834              :                     {
   15835            0 :                     case MIN_EXPR:
   15836            0 :                       {
   15837            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15838            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15839            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15840              :                           {
   15841            0 :                             {
   15842            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   15843            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   15844            0 :                               if (res) return res;
   15845              :                             }
   15846              :                           }
   15847            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15848              :                           {
   15849            0 :                             {
   15850            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   15851            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   15852            0 :                               if (res) return res;
   15853              :                             }
   15854              :                           }
   15855              :                         break;
   15856              :                       }
   15857            1 :                     default:;
   15858              :                     }
   15859            1 :                   {
   15860            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   15861            1 :                     tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   15862            1 :                     if (res) return res;
   15863              :                   }
   15864              :                 }
   15865              :               break;
   15866              :             }
   15867           12 :           case MAX_EXPR:
   15868           12 :             {
   15869           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15870           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15871           12 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15872              :                 {
   15873            0 :                   switch (TREE_CODE (_p2))
   15874              :                     {
   15875            0 :                     case MAX_EXPR:
   15876            0 :                       {
   15877            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15878            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15879            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15880              :                           {
   15881            0 :                             {
   15882            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   15883            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   15884            0 :                               if (res) return res;
   15885              :                             }
   15886              :                           }
   15887            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15888              :                           {
   15889            0 :                             {
   15890            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   15891            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   15892            0 :                               if (res) return res;
   15893              :                             }
   15894              :                           }
   15895              :                         break;
   15896              :                       }
   15897            0 :                     default:;
   15898              :                     }
   15899            0 :                   {
   15900            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   15901            0 :                     tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   15902            0 :                     if (res) return res;
   15903              :                   }
   15904              :                 }
   15905           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15906              :                 {
   15907            0 :                   switch (TREE_CODE (_p2))
   15908              :                     {
   15909            0 :                     case MAX_EXPR:
   15910            0 :                       {
   15911            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15912            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15913            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15914              :                           {
   15915            0 :                             {
   15916            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   15917            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   15918            0 :                               if (res) return res;
   15919              :                             }
   15920              :                           }
   15921            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15922              :                           {
   15923            0 :                             {
   15924            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   15925            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   15926            0 :                               if (res) return res;
   15927              :                             }
   15928              :                           }
   15929              :                         break;
   15930              :                       }
   15931              :                     default:;
   15932              :                     }
   15933              :                 }
   15934           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15935              :                 {
   15936            0 :                   switch (TREE_CODE (_p2))
   15937              :                     {
   15938            0 :                     case MAX_EXPR:
   15939            0 :                       {
   15940            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15941            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15942            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15943              :                           {
   15944            0 :                             {
   15945            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   15946            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   15947            0 :                               if (res) return res;
   15948              :                             }
   15949              :                           }
   15950            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15951              :                           {
   15952            0 :                             {
   15953            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   15954            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   15955            0 :                               if (res) return res;
   15956              :                             }
   15957              :                           }
   15958              :                         break;
   15959              :                       }
   15960              :                     default:;
   15961              :                     }
   15962              :                 }
   15963           12 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15964              :                 {
   15965            0 :                   switch (TREE_CODE (_p2))
   15966              :                     {
   15967            0 :                     case MAX_EXPR:
   15968            0 :                       {
   15969            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15970            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15971            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15972              :                           {
   15973            0 :                             {
   15974            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   15975            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   15976            0 :                               if (res) return res;
   15977              :                             }
   15978              :                           }
   15979            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15980              :                           {
   15981            0 :                             {
   15982            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   15983            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   15984            0 :                               if (res) return res;
   15985              :                             }
   15986              :                           }
   15987              :                         break;
   15988              :                       }
   15989              :                     default:;
   15990              :                     }
   15991              :                 }
   15992           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15993              :                 {
   15994            0 :                   {
   15995            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   15996            0 :                     tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   15997            0 :                     if (res) return res;
   15998              :                   }
   15999              :                 }
   16000              :               break;
   16001              :             }
   16002      1364664 :           default:;
   16003              :           }
   16004      1364664 :         if (integer_zerop (_q20))
   16005              :           {
   16006            2 :             {
   16007            2 :               tree _q21_pops[1];
   16008            2 :               if (tree_nop_convert (_q21, _q21_pops))
   16009              :                 {
   16010            0 :                   tree _q40 = _q21_pops[0];
   16011            0 :                   switch (TREE_CODE (_p1))
   16012              :                     {
   16013            0 :                     case MAX_EXPR:
   16014            0 :                       {
   16015            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   16016            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   16017            0 :                         if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   16018              :                           {
   16019            0 :                             switch (TREE_CODE (_q61))
   16020              :                               {
   16021            0 :                               case INTEGER_CST:
   16022            0 :                                 {
   16023            0 :                                   switch (TREE_CODE (_p2))
   16024              :                                     {
   16025            0 :                                     case INTEGER_CST:
   16026            0 :                                       {
   16027            0 :                                         {
   16028            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q20, _p1, _q61, _p2 };
   16029            0 :                                           tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   16030            0 :                                           if (res) return res;
   16031              :                                         }
   16032            0 :                                         break;
   16033              :                                       }
   16034              :                                     default:;
   16035              :                                     }
   16036              :                                   break;
   16037              :                                 }
   16038              :                               default:;
   16039              :                               }
   16040              :                           }
   16041              :                         break;
   16042              :                       }
   16043              :                     default:;
   16044              :                     }
   16045              :                 }
   16046              :             }
   16047              :           }
   16048      1364664 :         if (tree_expr_nonnegative_p (_q20))
   16049              :           {
   16050       865651 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   16051              :               {
   16052           12 :                 switch (TREE_CODE (_p2))
   16053              :                   {
   16054            0 :                   case ABS_EXPR:
   16055            0 :                     {
   16056            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16057            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   16058              :                         {
   16059            0 :                           {
   16060            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   16061            0 :                             tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   16062            0 :                             if (res) return res;
   16063              :                           }
   16064              :                         }
   16065              :                       break;
   16066              :                     }
   16067              :                   default:;
   16068              :                   }
   16069              :               }
   16070       865651 :             switch (TREE_CODE (_p1))
   16071              :               {
   16072            0 :               case ABS_EXPR:
   16073            0 :                 {
   16074            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16075            0 :                   if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16076              :                     {
   16077            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   16078              :                         {
   16079            0 :                           {
   16080            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   16081            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   16082            0 :                             if (res) return res;
   16083              :                           }
   16084              :                         }
   16085              :                     }
   16086              :                   break;
   16087              :                 }
   16088              :               default:;
   16089              :               }
   16090              :           }
   16091              :         break;
   16092              :       }
   16093      1680154 :     case EQ_EXPR:
   16094      1680154 :       {
   16095      1680154 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16096      1680154 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16097      1680154 :         if (tree_zero_one_valued_p (_q20))
   16098              :           {
   16099       158652 :             if (integer_zerop (_q21))
   16100              :               {
   16101          976 :                 switch (TREE_CODE (_p2))
   16102              :                   {
   16103            1 :                   case BIT_XOR_EXPR:
   16104            1 :                     {
   16105            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16106            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   16107            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16108              :                         {
   16109            1 :                           {
   16110            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   16111            1 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16112            1 :                             if (res) return res;
   16113              :                           }
   16114              :                         }
   16115            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16116              :                         {
   16117            0 :                           {
   16118            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   16119            0 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16120            0 :                             if (res) return res;
   16121              :                           }
   16122              :                         }
   16123              :                       break;
   16124              :                     }
   16125            1 :                   case BIT_IOR_EXPR:
   16126            1 :                     {
   16127            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16128            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   16129            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16130              :                         {
   16131            1 :                           {
   16132            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   16133            1 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16134            1 :                             if (res) return res;
   16135              :                           }
   16136              :                         }
   16137            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16138              :                         {
   16139            0 :                           {
   16140            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   16141            0 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16142            0 :                             if (res) return res;
   16143              :                           }
   16144              :                         }
   16145              :                       break;
   16146              :                     }
   16147            1 :                   case PLUS_EXPR:
   16148            1 :                     {
   16149            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16150            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   16151            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16152              :                         {
   16153            1 :                           {
   16154            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   16155            1 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16156            1 :                             if (res) return res;
   16157              :                           }
   16158              :                         }
   16159            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16160              :                         {
   16161            0 :                           {
   16162            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   16163            0 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16164            0 :                             if (res) return res;
   16165              :                           }
   16166              :                         }
   16167              :                       break;
   16168              :                     }
   16169              :                   default:;
   16170              :                   }
   16171              :               }
   16172              :           }
   16173      1680151 :         if (integer_zerop (_q21))
   16174              :           {
   16175       565498 :             switch (TREE_CODE (_p2))
   16176              :               {
   16177        17198 :               case PLUS_EXPR:
   16178        17198 :                 {
   16179        17198 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16180        17198 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16181        17198 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16182              :                     {
   16183            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16184              :                         {
   16185            0 :                           {
   16186            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16187            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16188            0 :                             if (res) return res;
   16189              :                           }
   16190              :                         }
   16191              :                     }
   16192        17198 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16193              :                     {
   16194         1979 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16195              :                         {
   16196            0 :                           {
   16197            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16198            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16199            0 :                             if (res) return res;
   16200              :                           }
   16201              :                         }
   16202              :                     }
   16203              :                   break;
   16204              :                 }
   16205          108 :               case BIT_IOR_EXPR:
   16206          108 :                 {
   16207          108 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16208          108 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16209          108 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16210              :                     {
   16211            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16212              :                         {
   16213            0 :                           {
   16214            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16215            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16216            0 :                             if (res) return res;
   16217              :                           }
   16218              :                         }
   16219              :                     }
   16220          108 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16221              :                     {
   16222            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16223              :                         {
   16224            0 :                           {
   16225            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16226            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16227            0 :                             if (res) return res;
   16228              :                           }
   16229              :                         }
   16230              :                     }
   16231              :                   break;
   16232              :                 }
   16233            0 :               case BIT_XOR_EXPR:
   16234            0 :                 {
   16235            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16236            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16237            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16238              :                     {
   16239            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16240              :                         {
   16241            0 :                           {
   16242            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16243            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16244            0 :                             if (res) return res;
   16245              :                           }
   16246              :                         }
   16247              :                     }
   16248            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16249              :                     {
   16250            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16251              :                         {
   16252            0 :                           {
   16253            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16254            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16255            0 :                             if (res) return res;
   16256              :                           }
   16257              :                         }
   16258              :                     }
   16259              :                   break;
   16260              :                 }
   16261            1 :               case LROTATE_EXPR:
   16262            1 :                 {
   16263            1 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16264            1 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16265            1 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16266              :                     {
   16267            1 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16268              :                         {
   16269            1 :                           {
   16270            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16271            1 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures);
   16272            1 :                             if (res) return res;
   16273              :                           }
   16274              :                         }
   16275              :                     }
   16276              :                   break;
   16277              :                 }
   16278            0 :               case RROTATE_EXPR:
   16279            0 :                 {
   16280            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16281            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16282            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16283              :                     {
   16284            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16285              :                         {
   16286            0 :                           {
   16287            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16288            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures);
   16289            0 :                             if (res) return res;
   16290              :                           }
   16291              :                         }
   16292              :                     }
   16293              :                   break;
   16294              :                 }
   16295           48 :               case LSHIFT_EXPR:
   16296           48 :                 {
   16297           48 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16298           48 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16299           48 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16300              :                     {
   16301            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16302              :                         {
   16303            0 :                           {
   16304            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16305            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures);
   16306            0 :                             if (res) return res;
   16307              :                           }
   16308              :                         }
   16309              :                     }
   16310              :                   break;
   16311              :                 }
   16312           46 :               case RSHIFT_EXPR:
   16313           46 :                 {
   16314           46 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16315           46 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16316           46 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16317              :                     {
   16318           20 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16319              :                         {
   16320           20 :                           {
   16321           20 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16322           20 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures);
   16323           20 :                             if (res) return res;
   16324              :                           }
   16325              :                         }
   16326              :                     }
   16327              :                   break;
   16328              :                 }
   16329          183 :               case MINUS_EXPR:
   16330          183 :                 {
   16331          183 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16332          183 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16333          183 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16334              :                     {
   16335            7 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16336              :                         {
   16337            0 :                           {
   16338            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16339            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures);
   16340            0 :                             if (res) return res;
   16341              :                           }
   16342              :                         }
   16343              :                     }
   16344              :                   break;
   16345              :                 }
   16346       151744 :               case POINTER_PLUS_EXPR:
   16347       151744 :                 {
   16348       151744 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16349       151744 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16350       151744 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16351              :                     {
   16352            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16353              :                         {
   16354            0 :                           {
   16355            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16356            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures);
   16357            0 :                             if (res) return res;
   16358              :                           }
   16359              :                         }
   16360              :                     }
   16361              :                   break;
   16362              :                 }
   16363              :               default:;
   16364              :               }
   16365              :           }
   16366      1680130 :         if (integer_onep (_q21))
   16367              :           {
   16368        47897 :             switch (TREE_CODE (_p2))
   16369              :               {
   16370          104 :               case TRUNC_DIV_EXPR:
   16371          104 :                 {
   16372          104 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16373          104 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16374          104 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16375              :                     {
   16376            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16377              :                         {
   16378            0 :                           {
   16379            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16380            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures, TRUNC_DIV_EXPR);
   16381            0 :                             if (res) return res;
   16382              :                           }
   16383              :                         }
   16384              :                     }
   16385              :                   break;
   16386              :                 }
   16387            0 :               case CEIL_DIV_EXPR:
   16388            0 :                 {
   16389            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16390            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16391            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16392              :                     {
   16393            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16394              :                         {
   16395            0 :                           {
   16396            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16397            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures, CEIL_DIV_EXPR);
   16398            0 :                             if (res) return res;
   16399              :                           }
   16400              :                         }
   16401              :                     }
   16402              :                   break;
   16403              :                 }
   16404            0 :               case FLOOR_DIV_EXPR:
   16405            0 :                 {
   16406            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16407            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16408            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16409              :                     {
   16410            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16411              :                         {
   16412            0 :                           {
   16413            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16414            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures, FLOOR_DIV_EXPR);
   16415            0 :                             if (res) return res;
   16416              :                           }
   16417              :                         }
   16418              :                     }
   16419              :                   break;
   16420              :                 }
   16421            0 :               case ROUND_DIV_EXPR:
   16422            0 :                 {
   16423            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16424            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16425            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16426              :                     {
   16427            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16428              :                         {
   16429            0 :                           {
   16430            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16431            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures, ROUND_DIV_EXPR);
   16432            0 :                             if (res) return res;
   16433              :                           }
   16434              :                         }
   16435              :                     }
   16436              :                   break;
   16437              :                 }
   16438            0 :               case EXACT_DIV_EXPR:
   16439            0 :                 {
   16440            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16441            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16442            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16443              :                     {
   16444            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16445              :                         {
   16446            0 :                           {
   16447            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16448            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures, EXACT_DIV_EXPR);
   16449            0 :                             if (res) return res;
   16450              :                           }
   16451              :                         }
   16452              :                     }
   16453              :                   break;
   16454              :                 }
   16455            0 :               case MULT_EXPR:
   16456            0 :                 {
   16457            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16458            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16459            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16460              :                     {
   16461            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16462              :                         {
   16463            0 :                           {
   16464            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16465            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   16466            0 :                             if (res) return res;
   16467              :                           }
   16468              :                         }
   16469              :                     }
   16470            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16471              :                     {
   16472            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16473              :                         {
   16474            0 :                           {
   16475            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16476            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   16477            0 :                             if (res) return res;
   16478              :                           }
   16479              :                         }
   16480              :                     }
   16481              :                   break;
   16482              :                 }
   16483              :               default:;
   16484              :               }
   16485              :           }
   16486      1680130 :         if (integer_all_onesp (_q21))
   16487              :           {
   16488        42021 :             switch (TREE_CODE (_p2))
   16489              :               {
   16490            0 :               case BIT_AND_EXPR:
   16491            0 :                 {
   16492            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16493            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16494            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16495              :                     {
   16496            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16497              :                         {
   16498            0 :                           {
   16499            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16500            0 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16501            0 :                             if (res) return res;
   16502              :                           }
   16503              :                         }
   16504              :                     }
   16505            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16506              :                     {
   16507            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16508              :                         {
   16509            0 :                           {
   16510            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16511            0 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16512            0 :                             if (res) return res;
   16513              :                           }
   16514              :                         }
   16515              :                     }
   16516              :                   break;
   16517              :                 }
   16518              :               default:;
   16519              :               }
   16520              :           }
   16521      1680130 :         switch (TREE_CODE (_q20))
   16522              :           {
   16523        90086 :           case BIT_AND_EXPR:
   16524        90086 :             {
   16525        90086 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16526        90086 :               tree _q31 = TREE_OPERAND (_q20, 1);
   16527        90086 :               switch (TREE_CODE (_q31))
   16528              :                 {
   16529        89833 :                 case INTEGER_CST:
   16530        89833 :                   {
   16531        89833 :                     if (integer_zerop (_q21))
   16532              :                       {
   16533         1565 :                         switch (TREE_CODE (_p1))
   16534              :                           {
   16535            0 :                           case BIT_IOR_EXPR:
   16536            0 :                             {
   16537            0 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   16538            0 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   16539            0 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   16540              :                                 {
   16541            0 :                                   if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   16542              :                                     {
   16543            0 :                                       switch (TREE_CODE (_q71))
   16544              :                                         {
   16545            0 :                                         case INTEGER_CST:
   16546            0 :                                           {
   16547            0 :                                             if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   16548              :                                               {
   16549            0 :                                                 {
   16550            0 :                                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
   16551            0 :                                                   if (wi::popcount (wi::to_wide (captures[1])) == 1
   16552              : )
   16553              :                                                     {
   16554            0 :                                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1823;
   16555            0 :                                                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1823;
   16556            0 :                                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1823;
   16557            0 :                                                       {
   16558            0 :                                                         tree _r;
   16559            0 :                                                         _r = captures[2];
   16560            0 :                                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   16561            0 :                                                         return _r;
   16562              :                                                       }
   16563            0 : next_after_fail1823:;
   16564              :                                                     }
   16565              :                                                 }
   16566              :                                               }
   16567              :                                             break;
   16568              :                                           }
   16569              :                                         default:;
   16570              :                                         }
   16571              :                                     }
   16572              :                                 }
   16573              :                               break;
   16574              :                             }
   16575              :                           default:;
   16576              :                           }
   16577              :                       }
   16578              :                     break;
   16579              :                   }
   16580              :                 default:;
   16581              :                 }
   16582              :               break;
   16583              :             }
   16584        64089 :           CASE_CONVERT:
   16585        64089 :             {
   16586        64089 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16587        64089 :               switch (TREE_CODE (_q21))
   16588              :                 {
   16589        25005 :                 case INTEGER_CST:
   16590        25005 :                   {
   16591        25005 :                     switch (TREE_CODE (_p1))
   16592              :                       {
   16593        11249 :                       CASE_CONVERT:
   16594        11249 :                         {
   16595        11249 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   16596        11249 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   16597              :                             {
   16598           57 :                               switch (TREE_CODE (_p2))
   16599              :                                 {
   16600           56 :                                 case INTEGER_CST:
   16601           56 :                                   {
   16602           56 :                                     {
   16603           56 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   16604           56 :                                       tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16605           56 :                                       if (res) return res;
   16606              :                                     }
   16607           56 :                                     break;
   16608              :                                   }
   16609              :                                 default:;
   16610              :                                 }
   16611              :                             }
   16612              :                           break;
   16613              :                         }
   16614        25005 :                       default:;
   16615              :                       }
   16616        25005 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   16617              :                       {
   16618          118 :                         switch (TREE_CODE (_p2))
   16619              :                           {
   16620          112 :                           case INTEGER_CST:
   16621          112 :                             {
   16622          112 :                               {
   16623          112 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   16624          112 :                                 tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16625          112 :                                 if (res) return res;
   16626              :                               }
   16627          112 :                               break;
   16628              :                             }
   16629              :                           default:;
   16630              :                           }
   16631              :                       }
   16632              :                     break;
   16633              :                   }
   16634              :                 default:;
   16635              :                 }
   16636              :               break;
   16637              :             }
   16638      1680130 :           default:;
   16639              :           }
   16640      1680130 :         switch (TREE_CODE (_q21))
   16641              :           {
   16642       877420 :           case INTEGER_CST:
   16643       877420 :             {
   16644       877420 :               switch (TREE_CODE (_p1))
   16645              :                 {
   16646       197405 :                 CASE_CONVERT:
   16647       197405 :                   {
   16648       197405 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   16649       197405 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16650              :                       {
   16651          324 :                         switch (TREE_CODE (_p2))
   16652              :                           {
   16653            7 :                           case INTEGER_CST:
   16654            7 :                             {
   16655            7 :                               {
   16656            7 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16657            7 :                                 tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16658            7 :                                 if (res) return res;
   16659              :                               }
   16660            0 :                               break;
   16661              :                             }
   16662              :                           default:;
   16663              :                           }
   16664              :                       }
   16665              :                     break;
   16666              :                   }
   16667       877413 :                 default:;
   16668              :                 }
   16669       877413 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   16670              :                 {
   16671           61 :                   switch (TREE_CODE (_p2))
   16672              :                     {
   16673            5 :                     case INTEGER_CST:
   16674            5 :                       {
   16675            5 :                         {
   16676            5 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16677            5 :                           tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16678            5 :                           if (res) return res;
   16679              :                         }
   16680            0 :                         break;
   16681              :                       }
   16682              :                     default:;
   16683              :                     }
   16684              :                 }
   16685              :               break;
   16686              :             }
   16687      1680118 :           default:;
   16688              :           }
   16689      1680118 :       if (tree_expr_nonnegative_p (_q21))
   16690              :         {
   16691      1524591 :           if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   16692              :             {
   16693           83 :               switch (TREE_CODE (_p2))
   16694              :                 {
   16695            0 :                 case ABS_EXPR:
   16696            0 :                   {
   16697            0 :                     tree _q60 = TREE_OPERAND (_p2, 0);
   16698            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16699              :                       {
   16700            0 :                         {
   16701            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16702            0 :                           tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16703            0 :                           if (res) return res;
   16704              :                         }
   16705              :                       }
   16706              :                     break;
   16707              :                   }
   16708              :                 default:;
   16709              :                 }
   16710              :             }
   16711              :         }
   16712      1680118 :         if (tree_expr_nonnegative_p (_q20))
   16713              :           {
   16714       985215 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   16715              :               {
   16716        23422 :                 switch (TREE_CODE (_p2))
   16717              :                   {
   16718            0 :                   case ABS_EXPR:
   16719            0 :                     {
   16720            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16721            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   16722              :                         {
   16723            0 :                           {
   16724            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   16725            0 :                             tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16726            0 :                             if (res) return res;
   16727              :                           }
   16728              :                         }
   16729              :                       break;
   16730              :                     }
   16731              :                   default:;
   16732              :                   }
   16733              :               }
   16734       985215 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   16735              :               {
   16736           25 :                 switch (TREE_CODE (_p2))
   16737              :                   {
   16738            0 :                   case ABS_EXPR:
   16739            0 :                     {
   16740            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16741            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   16742              :                         {
   16743            0 :                           {
   16744            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   16745            0 :                             tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures);
   16746            0 :                             if (res) return res;
   16747              :                           }
   16748              :                         }
   16749              :                       break;
   16750              :                     }
   16751              :                   default:;
   16752              :                   }
   16753              :               }
   16754              :           }
   16755      1680118 :         if (tree_expr_nonnegative_p (_q21))
   16756              :           {
   16757      1524591 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   16758              :               {
   16759        23794 :                 switch (TREE_CODE (_p2))
   16760              :                   {
   16761            0 :                   case ABS_EXPR:
   16762            0 :                     {
   16763            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16764            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16765              :                         {
   16766            0 :                           {
   16767            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16768            0 :                             tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures);
   16769            0 :                             if (res) return res;
   16770              :                           }
   16771              :                         }
   16772              :                       break;
   16773              :                     }
   16774              :                   default:;
   16775              :                   }
   16776              :               }
   16777              :           }
   16778              :         break;
   16779              :       }
   16780      2807180 :     case NE_EXPR:
   16781      2807180 :       {
   16782      2807180 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16783      2807180 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16784      2807180 :         if (tree_zero_one_valued_p (_q20))
   16785              :           {
   16786       158281 :             if (integer_zerop (_q21))
   16787              :               {
   16788       156514 :                 switch (TREE_CODE (_p1))
   16789              :                   {
   16790            5 :                   case BIT_XOR_EXPR:
   16791            5 :                     {
   16792            5 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   16793            5 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   16794            5 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   16795              :                         {
   16796            1 :                           {
   16797            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   16798            1 :                             tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16799            1 :                             if (res) return res;
   16800              :                           }
   16801              :                         }
   16802            4 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   16803              :                         {
   16804            4 :                           {
   16805            4 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   16806            4 :                             tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16807            4 :                             if (res) return res;
   16808              :                           }
   16809              :                         }
   16810              :                       break;
   16811              :                     }
   16812            1 :                   case BIT_IOR_EXPR:
   16813            1 :                     {
   16814            1 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   16815            1 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   16816            1 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   16817              :                         {
   16818            1 :                           {
   16819            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   16820            1 :                             tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16821            1 :                             if (res) return res;
   16822              :                           }
   16823              :                         }
   16824            0 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   16825              :                         {
   16826            0 :                           {
   16827            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   16828            0 :                             tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16829            0 :                             if (res) return res;
   16830              :                           }
   16831              :                         }
   16832              :                       break;
   16833              :                     }
   16834          110 :                   case PLUS_EXPR:
   16835          110 :                     {
   16836          110 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   16837          110 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   16838          110 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   16839              :                         {
   16840            8 :                           {
   16841            8 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   16842            8 :                             tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16843            8 :                             if (res) return res;
   16844              :                           }
   16845              :                         }
   16846          109 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   16847              :                         {
   16848            1 :                           {
   16849            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   16850            1 :                             tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16851            1 :                             if (res) return res;
   16852              :                           }
   16853              :                         }
   16854              :                       break;
   16855              :                     }
   16856              :                   default:;
   16857              :                   }
   16858              :               }
   16859              :           }
   16860      2807172 :         if (integer_zerop (_q21))
   16861              :           {
   16862      1861419 :             switch (TREE_CODE (_p1))
   16863              :               {
   16864           89 :               case TRUNC_DIV_EXPR:
   16865           89 :                 {
   16866           89 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16867           89 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16868           89 :                   if (integer_zerop (_p2))
   16869              :                     {
   16870           51 :                       {
   16871           51 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   16872           51 :                         tree res = generic_simplify_361 (loc, type, _p0, _p1, _p2, captures, TRUNC_DIV_EXPR);
   16873           51 :                         if (res) return res;
   16874              :                       }
   16875              :                     }
   16876              :                   break;
   16877              :                 }
   16878            0 :               case CEIL_DIV_EXPR:
   16879            0 :                 {
   16880            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16881            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16882            0 :                   if (integer_zerop (_p2))
   16883              :                     {
   16884            0 :                       {
   16885            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   16886            0 :                         tree res = generic_simplify_361 (loc, type, _p0, _p1, _p2, captures, CEIL_DIV_EXPR);
   16887            0 :                         if (res) return res;
   16888              :                       }
   16889              :                     }
   16890              :                   break;
   16891              :                 }
   16892            0 :               case FLOOR_DIV_EXPR:
   16893            0 :                 {
   16894            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16895            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16896            0 :                   if (integer_zerop (_p2))
   16897              :                     {
   16898            0 :                       {
   16899            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   16900            0 :                         tree res = generic_simplify_361 (loc, type, _p0, _p1, _p2, captures, FLOOR_DIV_EXPR);
   16901            0 :                         if (res) return res;
   16902              :                       }
   16903              :                     }
   16904              :                   break;
   16905              :                 }
   16906            0 :               case ROUND_DIV_EXPR:
   16907            0 :                 {
   16908            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16909            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16910            0 :                   if (integer_zerop (_p2))
   16911              :                     {
   16912            0 :                       {
   16913            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   16914            0 :                         tree res = generic_simplify_361 (loc, type, _p0, _p1, _p2, captures, ROUND_DIV_EXPR);
   16915            0 :                         if (res) return res;
   16916              :                       }
   16917              :                     }
   16918              :                   break;
   16919              :                 }
   16920           31 :               case EXACT_DIV_EXPR:
   16921           31 :                 {
   16922           31 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16923           31 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16924           31 :                   if (integer_zerop (_p2))
   16925              :                     {
   16926            0 :                       {
   16927            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   16928            0 :                         tree res = generic_simplify_361 (loc, type, _p0, _p1, _p2, captures, EXACT_DIV_EXPR);
   16929            0 :                         if (res) return res;
   16930              :                       }
   16931              :                     }
   16932              :                   break;
   16933              :                 }
   16934          600 :               case MULT_EXPR:
   16935          600 :                 {
   16936          600 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16937          600 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16938          600 :                   if (integer_zerop (_p2))
   16939              :                     {
   16940           40 :                       {
   16941           40 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   16942           40 :                         tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   16943           40 :                         if (res) return res;
   16944              :                       }
   16945           40 :                       {
   16946           40 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q51, _q50 };
   16947           40 :                         tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   16948           40 :                         if (res) return res;
   16949              :                       }
   16950              :                     }
   16951              :                   break;
   16952              :                 }
   16953          278 :               case BIT_AND_EXPR:
   16954          278 :                 {
   16955          278 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16956          278 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16957          278 :                   if (integer_zerop (_p2))
   16958              :                     {
   16959           52 :                       {
   16960           52 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   16961           52 :                         tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16962           52 :                         if (res) return res;
   16963              :                       }
   16964           52 :                       {
   16965           52 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q51, _q50 };
   16966           52 :                         tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16967           52 :                         if (res) return res;
   16968              :                       }
   16969              :                     }
   16970              :                   break;
   16971              :                 }
   16972              :               default:;
   16973              :               }
   16974              :           }
   16975      2807170 :         if (uniform_integer_cst_p (_q21))
   16976              :           {
   16977      2159426 :             switch (TREE_CODE (_p1))
   16978              :               {
   16979       111212 :               case PLUS_EXPR:
   16980       111212 :                 {
   16981       111212 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16982       111212 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16983       111212 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16984              :                     {
   16985         2597 :                       if (uniform_integer_cst_p (_q51))
   16986              :                         {
   16987         2597 :                           if (uniform_integer_cst_p (_p2))
   16988              :                             {
   16989         2593 :                               {
   16990         2593 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   16991         2593 :                                 {
   16992         2593 :  tree cst1 = uniform_integer_cst_p (captures[1]);
   16993         2593 :  tree cst2 = uniform_integer_cst_p (captures[3]);
   16994         2593 :  tree cst3 = uniform_integer_cst_p (captures[4]);
   16995         2593 :                                     if (wi::to_wide (cst1) + wi::to_wide (cst2) == wi::to_wide (cst3)
   16996              : )
   16997              :                                       {
   16998           10 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1824;
   16999           10 :                                         if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1824;
   17000           10 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1824;
   17001           10 :                                         {
   17002           10 :                                           tree _r;
   17003           10 :                                           _r = captures[2];
   17004           10 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   17005            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   17006           10 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
   17007           10 :                                           return _r;
   17008              :                                         }
   17009         2583 : next_after_fail1824:;
   17010              :                                       }
   17011              :                                 }
   17012              :                               }
   17013              :                             }
   17014              :                         }
   17015              :                     }
   17016              :                   break;
   17017              :                 }
   17018              :               default:;
   17019              :               }
   17020              :           }
   17021      2807160 :         switch (TREE_CODE (_q20))
   17022              :           {
   17023       275723 :           case BIT_AND_EXPR:
   17024       275723 :             {
   17025       275723 :               tree _q30 = TREE_OPERAND (_q20, 0);
   17026       275723 :               tree _q31 = TREE_OPERAND (_q20, 1);
   17027       275723 :               switch (TREE_CODE (_q31))
   17028              :                 {
   17029       205194 :                 case INTEGER_CST:
   17030       205194 :                   {
   17031       205194 :                     if (integer_zerop (_q21))
   17032              :                       {
   17033       205181 :                         switch (TREE_CODE (_p1))
   17034              :                           {
   17035           44 :                           case BIT_AND_EXPR:
   17036           44 :                             {
   17037           44 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   17038           44 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   17039           44 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   17040              :                                 {
   17041           18 :                                   switch (TREE_CODE (_q71))
   17042              :                                     {
   17043           18 :                                     case INTEGER_CST:
   17044           18 :                                       {
   17045           18 :                                         if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   17046              :                                           {
   17047            0 :                                             {
   17048            0 :                                               tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _p1, _q71 };
   17049            0 :                                               if (wi::to_wide (captures[3]) == ~wi::to_wide (captures[1])
   17050              : )
   17051              :                                                 {
   17052            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1825;
   17053            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1825;
   17054            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1825;
   17055            0 :                                                   {
   17056            0 :                                                     tree _r;
   17057            0 :                                                     _r = captures[2];
   17058            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1046, __FILE__, __LINE__, true);
   17059            0 :                                                     return _r;
   17060              :                                                   }
   17061            0 : next_after_fail1825:;
   17062              :                                                 }
   17063              :                                             }
   17064              :                                           }
   17065           18 :                                         switch (TREE_CODE (_p2))
   17066              :                                           {
   17067           18 :                                           case BIT_IOR_EXPR:
   17068           18 :                                             {
   17069           18 :                                               tree _q100 = TREE_OPERAND (_p2, 0);
   17070           18 :                                               tree _q101 = TREE_OPERAND (_p2, 1);
   17071           18 :                                               if ((_q100 == _q30 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q30, 0) && types_match (_q100, _q30)))
   17072              :                                                 {
   17073           18 :                                                   if ((_q101 == _q31 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q31, 0) && types_match (_q101, _q31)))
   17074              :                                                     {
   17075           18 :                                                       {
   17076           18 :                                                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
   17077           18 :                                                         tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17078           18 :                                                         if (res) return res;
   17079              :                                                       }
   17080              :                                                     }
   17081              :                                                 }
   17082              :                                               break;
   17083              :                                             }
   17084              :                                           default:;
   17085              :                                           }
   17086              :                                         break;
   17087              :                                       }
   17088              :                                     default:;
   17089              :                                     }
   17090              :                                 }
   17091              :                               break;
   17092              :                             }
   17093          139 :                           case PLUS_EXPR:
   17094          139 :                             {
   17095          139 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   17096          139 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   17097          139 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   17098              :                                 {
   17099           18 :                                   switch (TREE_CODE (_q71))
   17100              :                                     {
   17101           18 :                                     case INTEGER_CST:
   17102           18 :                                       {
   17103           18 :                                         switch (TREE_CODE (_p2))
   17104              :                                           {
   17105           18 :                                           case BIT_IOR_EXPR:
   17106           18 :                                             {
   17107           18 :                                               tree _q100 = TREE_OPERAND (_p2, 0);
   17108           18 :                                               tree _q101 = TREE_OPERAND (_p2, 1);
   17109           18 :                                               if ((_q100 == _q30 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q30, 0) && types_match (_q100, _q30)))
   17110              :                                                 {
   17111           18 :                                                   if ((_q101 == _q31 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q31, 0) && types_match (_q101, _q31)))
   17112              :                                                     {
   17113           18 :                                                       {
   17114           18 :                                                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
   17115           18 :                                                         tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   17116           18 :                                                         if (res) return res;
   17117              :                                                       }
   17118              :                                                     }
   17119              :                                                 }
   17120              :                                               break;
   17121              :                                             }
   17122              :                                           default:;
   17123              :                                           }
   17124              :                                         break;
   17125              :                                       }
   17126              :                                     default:;
   17127              :                                     }
   17128              :                                 }
   17129              :                               break;
   17130              :                             }
   17131              :                           default:;
   17132              :                           }
   17133              :                       }
   17134              :                     break;
   17135              :                   }
   17136              :                 default:;
   17137              :                 }
   17138              :               break;
   17139              :             }
   17140       348235 :           CASE_CONVERT:
   17141       348235 :             {
   17142       348235 :               tree _q30 = TREE_OPERAND (_q20, 0);
   17143       348235 :               switch (TREE_CODE (_q21))
   17144              :                 {
   17145       302758 :                 case INTEGER_CST:
   17146       302758 :                   {
   17147       302758 :                     switch (TREE_CODE (_p1))
   17148              :                       {
   17149        99738 :                       CASE_CONVERT:
   17150        99738 :                         {
   17151        99738 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   17152        99738 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   17153              :                             {
   17154           57 :                               switch (TREE_CODE (_p2))
   17155              :                                 {
   17156            9 :                                 case INTEGER_CST:
   17157            9 :                                   {
   17158            9 :                                     {
   17159            9 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   17160            9 :                                       tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   17161            9 :                                       if (res) return res;
   17162              :                                     }
   17163            9 :                                     break;
   17164              :                                   }
   17165              :                                 default:;
   17166              :                                 }
   17167              :                             }
   17168              :                           break;
   17169              :                         }
   17170       302758 :                       default:;
   17171              :                       }
   17172       302758 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   17173              :                       {
   17174           48 :                         switch (TREE_CODE (_p2))
   17175              :                           {
   17176            0 :                           case INTEGER_CST:
   17177            0 :                             {
   17178            0 :                               {
   17179            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   17180            0 :                                 tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   17181            0 :                                 if (res) return res;
   17182              :                               }
   17183            0 :                               break;
   17184              :                             }
   17185              :                           default:;
   17186              :                           }
   17187              :                       }
   17188              :                     break;
   17189              :                   }
   17190              :                 default:;
   17191              :                 }
   17192              :               break;
   17193              :             }
   17194      2807136 :           default:;
   17195              :           }
   17196      2807136 :         switch (TREE_CODE (_q21))
   17197              :           {
   17198      2159392 :           case INTEGER_CST:
   17199      2159392 :             {
   17200      2159392 :               switch (TREE_CODE (_p1))
   17201              :                 {
   17202       360947 :                 CASE_CONVERT:
   17203       360947 :                   {
   17204       360947 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   17205       360947 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17206              :                       {
   17207        73481 :                         switch (TREE_CODE (_p2))
   17208              :                           {
   17209        72244 :                           case INTEGER_CST:
   17210        72244 :                             {
   17211        72244 :                               {
   17212        72244 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   17213        72244 :                                 tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   17214        72244 :                                 if (res) return res;
   17215              :                               }
   17216        72244 :                               break;
   17217              :                             }
   17218              :                           default:;
   17219              :                           }
   17220              :                       }
   17221              :                     break;
   17222              :                   }
   17223      2159392 :                 default:;
   17224              :                 }
   17225      2159392 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   17226              :                 {
   17227        52800 :                   switch (TREE_CODE (_p2))
   17228              :                     {
   17229        50274 :                     case INTEGER_CST:
   17230        50274 :                       {
   17231        50274 :                         {
   17232        50274 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   17233        50274 :                           tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   17234        50274 :                           if (res) return res;
   17235              :                         }
   17236        50274 :                         break;
   17237              :                       }
   17238              :                     default:;
   17239              :                     }
   17240              :                 }
   17241              :               break;
   17242              :             }
   17243      2807136 :           default:;
   17244              :           }
   17245      2807136 :         switch (TREE_CODE (_p1))
   17246              :           {
   17247        12636 :           case MINUS_EXPR:
   17248        12636 :             {
   17249        12636 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17250        12636 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17251        12636 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17252              :                 {
   17253            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17254              :                     {
   17255            0 :                       if (integer_zerop (_p2))
   17256              :                         {
   17257            0 :                           {
   17258            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17259            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures);
   17260            0 :                             if (res) return res;
   17261              :                           }
   17262              :                         }
   17263              :                     }
   17264              :                 }
   17265        12636 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17266              :                 {
   17267           19 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17268              :                     {
   17269           19 :                       if (integer_zerop (_p2))
   17270              :                         {
   17271            0 :                           {
   17272            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17273            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures);
   17274            0 :                             if (res) return res;
   17275              :                           }
   17276              :                         }
   17277              :                     }
   17278              :                 }
   17279              :               break;
   17280              :             }
   17281           14 :           case BIT_XOR_EXPR:
   17282           14 :             {
   17283           14 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17284           14 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17285           14 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17286              :                 {
   17287            7 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17288              :                     {
   17289            7 :                       if (integer_zerop (_p2))
   17290              :                         {
   17291            0 :                           {
   17292            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17293            0 :                             tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures);
   17294            0 :                             if (res) return res;
   17295              :                           }
   17296              :                         }
   17297              :                     }
   17298              :                 }
   17299           14 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17300              :                 {
   17301            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17302              :                     {
   17303            0 :                       if (integer_zerop (_p2))
   17304              :                         {
   17305            0 :                           {
   17306            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17307            0 :                             tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures);
   17308            0 :                             if (res) return res;
   17309              :                           }
   17310              :                         }
   17311              :                     }
   17312              :                 }
   17313              :               break;
   17314              :             }
   17315          265 :           case BIT_AND_EXPR:
   17316          265 :             {
   17317          265 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17318          265 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17319          265 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17320              :                 {
   17321            2 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17322              :                     {
   17323            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17324              :                         {
   17325            0 :                           {
   17326            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17327            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17328            0 :                             if (res) return res;
   17329              :                           }
   17330              :                         }
   17331            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17332              :                         {
   17333            0 :                           {
   17334            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17335            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17336            0 :                             if (res) return res;
   17337              :                           }
   17338              :                         }
   17339              :                     }
   17340              :                 }
   17341          265 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17342              :                 {
   17343            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17344              :                     {
   17345            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17346              :                         {
   17347            0 :                           {
   17348            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17349            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17350            0 :                             if (res) return res;
   17351              :                           }
   17352              :                         }
   17353            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17354              :                         {
   17355            0 :                           {
   17356            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17357            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17358            0 :                             if (res) return res;
   17359              :                           }
   17360              :                         }
   17361              :                     }
   17362              :                 }
   17363              :               break;
   17364              :             }
   17365         9267 :           case BIT_IOR_EXPR:
   17366         9267 :             {
   17367         9267 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17368         9267 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17369         9267 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17370              :                 {
   17371            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17372              :                     {
   17373            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17374              :                         {
   17375            0 :                           {
   17376            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17377            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17378            0 :                             if (res) return res;
   17379              :                           }
   17380              :                         }
   17381            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17382              :                         {
   17383            0 :                           {
   17384            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17385            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17386            0 :                             if (res) return res;
   17387              :                           }
   17388              :                         }
   17389              :                     }
   17390              :                 }
   17391         9267 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17392              :                 {
   17393            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17394              :                     {
   17395            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17396              :                         {
   17397            0 :                           {
   17398            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17399            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17400            0 :                             if (res) return res;
   17401              :                           }
   17402              :                         }
   17403            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17404              :                         {
   17405            0 :                           {
   17406            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17407            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17408            0 :                             if (res) return res;
   17409              :                           }
   17410              :                         }
   17411              :                     }
   17412              :                 }
   17413              :               break;
   17414              :             }
   17415            0 :           case MIN_EXPR:
   17416            0 :             {
   17417            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17418            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17419            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17420              :                 {
   17421            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17422              :                     {
   17423            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17424              :                         {
   17425            0 :                           {
   17426            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17427            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17428            0 :                             if (res) return res;
   17429              :                           }
   17430              :                         }
   17431            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17432              :                         {
   17433            0 :                           {
   17434            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17435            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17436            0 :                             if (res) return res;
   17437              :                           }
   17438              :                         }
   17439              :                     }
   17440            0 :                   switch (TREE_CODE (_p2))
   17441              :                     {
   17442            0 :                     case MIN_EXPR:
   17443            0 :                       {
   17444            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17445            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17446            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17447              :                           {
   17448            0 :                             {
   17449            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   17450            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17451            0 :                               if (res) return res;
   17452              :                             }
   17453              :                           }
   17454            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17455              :                           {
   17456            0 :                             {
   17457            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   17458            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17459            0 :                               if (res) return res;
   17460              :                             }
   17461              :                           }
   17462              :                         break;
   17463              :                       }
   17464              :                     default:;
   17465              :                     }
   17466              :                 }
   17467            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17468              :                 {
   17469            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17470              :                     {
   17471            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17472              :                         {
   17473            0 :                           {
   17474            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17475            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17476            0 :                             if (res) return res;
   17477              :                           }
   17478              :                         }
   17479            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17480              :                         {
   17481            0 :                           {
   17482            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17483            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17484            0 :                             if (res) return res;
   17485              :                           }
   17486              :                         }
   17487              :                     }
   17488            0 :                   switch (TREE_CODE (_p2))
   17489              :                     {
   17490            0 :                     case MIN_EXPR:
   17491            0 :                       {
   17492            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17493            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17494            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17495              :                           {
   17496            0 :                             {
   17497            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   17498            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17499            0 :                               if (res) return res;
   17500              :                             }
   17501              :                           }
   17502            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17503              :                           {
   17504            0 :                             {
   17505            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   17506            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17507            0 :                               if (res) return res;
   17508              :                             }
   17509              :                           }
   17510              :                         break;
   17511              :                       }
   17512              :                     default:;
   17513              :                     }
   17514              :                 }
   17515            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17516              :                 {
   17517            0 :                   switch (TREE_CODE (_p2))
   17518              :                     {
   17519            0 :                     case MIN_EXPR:
   17520            0 :                       {
   17521            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17522            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17523            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   17524              :                           {
   17525            0 :                             {
   17526            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   17527            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17528            0 :                               if (res) return res;
   17529              :                             }
   17530              :                           }
   17531            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   17532              :                           {
   17533            0 :                             {
   17534            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   17535            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17536            0 :                               if (res) return res;
   17537              :                             }
   17538              :                           }
   17539              :                         break;
   17540              :                       }
   17541              :                     default:;
   17542              :                     }
   17543              :                 }
   17544            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17545              :                 {
   17546            0 :                   switch (TREE_CODE (_p2))
   17547              :                     {
   17548            0 :                     case MIN_EXPR:
   17549            0 :                       {
   17550            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17551            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17552            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   17553              :                           {
   17554            0 :                             {
   17555            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   17556            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17557            0 :                               if (res) return res;
   17558              :                             }
   17559              :                           }
   17560            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   17561              :                           {
   17562            0 :                             {
   17563            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   17564            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17565            0 :                               if (res) return res;
   17566              :                             }
   17567              :                           }
   17568              :                         break;
   17569              :                       }
   17570              :                     default:;
   17571              :                     }
   17572              :                 }
   17573              :               break;
   17574              :             }
   17575            0 :           case MAX_EXPR:
   17576            0 :             {
   17577            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17578            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17579            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17580              :                 {
   17581            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17582              :                     {
   17583            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17584              :                         {
   17585            0 :                           {
   17586            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17587            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17588            0 :                             if (res) return res;
   17589              :                           }
   17590              :                         }
   17591            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17592              :                         {
   17593            0 :                           {
   17594            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17595            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17596            0 :                             if (res) return res;
   17597              :                           }
   17598              :                         }
   17599              :                     }
   17600            0 :                   switch (TREE_CODE (_p2))
   17601              :                     {
   17602            0 :                     case MAX_EXPR:
   17603            0 :                       {
   17604            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17605            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17606            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17607              :                           {
   17608            0 :                             {
   17609            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   17610            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17611            0 :                               if (res) return res;
   17612              :                             }
   17613              :                           }
   17614            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17615              :                           {
   17616            0 :                             {
   17617            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   17618            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17619            0 :                               if (res) return res;
   17620              :                             }
   17621              :                           }
   17622              :                         break;
   17623              :                       }
   17624              :                     default:;
   17625              :                     }
   17626              :                 }
   17627            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17628              :                 {
   17629            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17630              :                     {
   17631            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17632              :                         {
   17633            0 :                           {
   17634            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17635            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17636            0 :                             if (res) return res;
   17637              :                           }
   17638              :                         }
   17639            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17640              :                         {
   17641            0 :                           {
   17642            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17643            0 :                             tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17644            0 :                             if (res) return res;
   17645              :                           }
   17646              :                         }
   17647              :                     }
   17648            0 :                   switch (TREE_CODE (_p2))
   17649              :                     {
   17650            0 :                     case MAX_EXPR:
   17651            0 :                       {
   17652            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17653            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17654            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17655              :                           {
   17656            0 :                             {
   17657            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   17658            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17659            0 :                               if (res) return res;
   17660              :                             }
   17661              :                           }
   17662            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17663              :                           {
   17664            0 :                             {
   17665            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   17666            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17667            0 :                               if (res) return res;
   17668              :                             }
   17669              :                           }
   17670              :                         break;
   17671              :                       }
   17672              :                     default:;
   17673              :                     }
   17674              :                 }
   17675            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17676              :                 {
   17677            0 :                   switch (TREE_CODE (_p2))
   17678              :                     {
   17679            0 :                     case MAX_EXPR:
   17680            0 :                       {
   17681            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17682            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17683            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   17684              :                           {
   17685            0 :                             {
   17686            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   17687            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17688            0 :                               if (res) return res;
   17689              :                             }
   17690              :                           }
   17691            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   17692              :                           {
   17693            0 :                             {
   17694            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   17695            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17696            0 :                               if (res) return res;
   17697              :                             }
   17698              :                           }
   17699              :                         break;
   17700              :                       }
   17701              :                     default:;
   17702              :                     }
   17703              :                 }
   17704            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17705              :                 {
   17706            0 :                   switch (TREE_CODE (_p2))
   17707              :                     {
   17708            0 :                     case MAX_EXPR:
   17709            0 :                       {
   17710            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17711            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17712            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   17713              :                           {
   17714            0 :                             {
   17715            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   17716            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17717            0 :                               if (res) return res;
   17718              :                             }
   17719              :                           }
   17720            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   17721              :                           {
   17722            0 :                             {
   17723            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   17724            0 :                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17725            0 :                               if (res) return res;
   17726              :                             }
   17727              :                           }
   17728              :                         break;
   17729              :                       }
   17730              :                     default:;
   17731              :                     }
   17732              :                 }
   17733              :               break;
   17734              :             }
   17735        24872 :           case MULT_EXPR:
   17736        24872 :             {
   17737        24872 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17738        24872 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17739        24872 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17740              :                 {
   17741        20181 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17742              :                     {
   17743            0 :                       switch (TREE_CODE (_p2))
   17744              :                         {
   17745            0 :                         case MULT_EXPR:
   17746            0 :                           {
   17747            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17748            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17749            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   17750              :                               {
   17751            0 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   17752              :                                   {
   17753            0 :                                     {
   17754            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17755            0 :                                       const enum tree_code op = MULT_EXPR;
   17756            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   17757              : )
   17758              :                                         {
   17759            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1826;
   17760            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1826;
   17761            0 :                                           {
   17762            0 :                                             tree _r;
   17763            0 :                                             _r = captures[2];
   17764            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1047, __FILE__, __LINE__, true);
   17765            0 :                                             return _r;
   17766              :                                           }
   17767            0 : next_after_fail1826:;
   17768              :                                         }
   17769              :                                     }
   17770              :                                   }
   17771              :                               }
   17772              :                             break;
   17773              :                           }
   17774              :                         default:;
   17775              :                         }
   17776              :                     }
   17777              :                 }
   17778        24872 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17779              :                 {
   17780            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17781              :                     {
   17782            0 :                       switch (TREE_CODE (_p2))
   17783              :                         {
   17784            0 :                         case MULT_EXPR:
   17785            0 :                           {
   17786            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17787            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17788            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   17789              :                               {
   17790            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   17791              :                                   {
   17792            0 :                                     {
   17793            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17794            0 :                                       const enum tree_code op = MULT_EXPR;
   17795            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   17796              : )
   17797              :                                         {
   17798            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1827;
   17799            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1827;
   17800            0 :                                           {
   17801            0 :                                             tree _r;
   17802            0 :                                             _r = captures[2];
   17803            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1047, __FILE__, __LINE__, true);
   17804            0 :                                             return _r;
   17805              :                                           }
   17806            0 : next_after_fail1827:;
   17807              :                                         }
   17808              :                                     }
   17809              :                                   }
   17810              :                               }
   17811              :                             break;
   17812              :                           }
   17813              :                         default:;
   17814              :                         }
   17815              :                     }
   17816              :                 }
   17817              :               break;
   17818              :             }
   17819       111262 :           case PLUS_EXPR:
   17820       111262 :             {
   17821       111262 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17822       111262 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17823       111262 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17824              :                 {
   17825         2595 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17826              :                     {
   17827            0 :                       switch (TREE_CODE (_p2))
   17828              :                         {
   17829            0 :                         case PLUS_EXPR:
   17830            0 :                           {
   17831            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17832            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17833            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   17834              :                               {
   17835            0 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   17836              :                                   {
   17837            0 :                                     {
   17838            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17839            0 :                                       const enum tree_code op = PLUS_EXPR;
   17840            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   17841              : )
   17842              :                                         {
   17843            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1828;
   17844            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1828;
   17845            0 :                                           {
   17846            0 :                                             tree _r;
   17847            0 :                                             _r = captures[2];
   17848            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1047, __FILE__, __LINE__, true);
   17849            0 :                                             return _r;
   17850              :                                           }
   17851            0 : next_after_fail1828:;
   17852              :                                         }
   17853              :                                     }
   17854              :                                   }
   17855              :                               }
   17856              :                             break;
   17857              :                           }
   17858            0 :                         case MULT_EXPR:
   17859            0 :                           {
   17860            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17861            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17862            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   17863              :                               {
   17864            0 :                                 if (uniform_integer_cst_p (_q81))
   17865              :                                   {
   17866            0 :                                     {
   17867            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   17868            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   17869              : )
   17870              :                                         {
   17871            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1829;
   17872            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1829;
   17873            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1829;
   17874            0 :                                           {
   17875            0 :                                             tree _r;
   17876            0 :                                             _r = captures[2];
   17877            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   17878            0 :                                             return _r;
   17879              :                                           }
   17880            0 : next_after_fail1829:;
   17881              :                                         }
   17882              :                                     }
   17883              :                                   }
   17884              :                               }
   17885            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   17886              :                               {
   17887            0 :                                 if (uniform_integer_cst_p (_q81))
   17888              :                                   {
   17889            0 :                                     {
   17890            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   17891            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   17892              : )
   17893              :                                         {
   17894            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1830;
   17895            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1830;
   17896            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1830;
   17897            0 :                                           {
   17898            0 :                                             tree _r;
   17899            0 :                                             _r = captures[2];
   17900            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   17901            0 :                                             return _r;
   17902              :                                           }
   17903            0 : next_after_fail1830:;
   17904              :                                         }
   17905              :                                     }
   17906              :                                   }
   17907              :                               }
   17908              :                             break;
   17909              :                           }
   17910              :                         default:;
   17911              :                         }
   17912              :                     }
   17913              :                 }
   17914       111262 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17915              :                 {
   17916            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17917              :                     {
   17918            0 :                       switch (TREE_CODE (_p2))
   17919              :                         {
   17920            0 :                         case PLUS_EXPR:
   17921            0 :                           {
   17922            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17923            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17924            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   17925              :                               {
   17926            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   17927              :                                   {
   17928            0 :                                     {
   17929            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17930            0 :                                       const enum tree_code op = PLUS_EXPR;
   17931            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   17932              : )
   17933              :                                         {
   17934            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1831;
   17935            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1831;
   17936            0 :                                           {
   17937            0 :                                             tree _r;
   17938            0 :                                             _r = captures[2];
   17939            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1047, __FILE__, __LINE__, true);
   17940            0 :                                             return _r;
   17941              :                                           }
   17942            0 : next_after_fail1831:;
   17943              :                                         }
   17944              :                                     }
   17945              :                                   }
   17946              :                               }
   17947              :                             break;
   17948              :                           }
   17949            0 :                         case MULT_EXPR:
   17950            0 :                           {
   17951            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17952            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17953            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   17954              :                               {
   17955            0 :                                 if (uniform_integer_cst_p (_q81))
   17956              :                                   {
   17957            0 :                                     {
   17958            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   17959            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   17960              : )
   17961              :                                         {
   17962            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1832;
   17963            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1832;
   17964            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1832;
   17965            0 :                                           {
   17966            0 :                                             tree _r;
   17967            0 :                                             _r = captures[2];
   17968            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   17969            0 :                                             return _r;
   17970              :                                           }
   17971            0 : next_after_fail1832:;
   17972              :                                         }
   17973              :                                     }
   17974              :                                   }
   17975              :                               }
   17976            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   17977              :                               {
   17978            0 :                                 if (uniform_integer_cst_p (_q81))
   17979              :                                   {
   17980            0 :                                     {
   17981            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   17982            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   17983              : )
   17984              :                                         {
   17985            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1833;
   17986            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1833;
   17987            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1833;
   17988            0 :                                           {
   17989            0 :                                             tree _r;
   17990            0 :                                             _r = captures[2];
   17991            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   17992            0 :                                             return _r;
   17993              :                                           }
   17994            0 : next_after_fail1833:;
   17995              :                                         }
   17996              :                                     }
   17997              :                                   }
   17998              :                               }
   17999              :                             break;
   18000              :                           }
   18001              :                         default:;
   18002              :                         }
   18003              :                     }
   18004              :                 }
   18005              :               break;
   18006              :             }
   18007      2807136 :           default:;
   18008              :           }
   18009      2807136 :         switch (TREE_CODE (_q21))
   18010              :           {
   18011      2159392 :           case INTEGER_CST:
   18012      2159392 :             {
   18013      2159392 :               switch (TREE_CODE (_p1))
   18014              :                 {
   18015          228 :                 case NEGATE_EXPR:
   18016          228 :                   {
   18017          228 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   18018          228 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18019              :                       {
   18020           42 :                         switch (TREE_CODE (_p2))
   18021              :                           {
   18022           14 :                           case INTEGER_CST:
   18023           14 :                             {
   18024           14 :                               {
   18025           14 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18026           14 :                                 if (!TYPE_SATURATING (type)
   18027           28 :  && wi::eq_p (wi::neg (wi::to_wide (captures[1])), wi::to_wide (captures[3]))
   18028              : )
   18029              :                                   {
   18030           12 :                                     if (TYPE_OVERFLOW_WRAPS (type)
   18031            4 :  || !wi::only_sign_bit_p (wi::to_wide (captures[1]))
   18032              : )
   18033              :                                       {
   18034           11 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1834;
   18035           11 :                                         if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1834;
   18036           11 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1834;
   18037           11 :                                         {
   18038           11 :                                           tree _r;
   18039           11 :                                           _r = captures[2];
   18040           11 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   18041            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18042           11 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1049, __FILE__, __LINE__, true);
   18043           11 :                                           return _r;
   18044              :                                         }
   18045            2 : next_after_fail1834:;
   18046              :                                       }
   18047              :                                     else
   18048              :                                       {
   18049            1 :                                         {
   18050            1 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
   18051            1 :                                             if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1835;
   18052            1 :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1835;
   18053            1 :                                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1835;
   18054            1 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1835;
   18055            1 :                                             {
   18056            1 :                                               tree res_op0;
   18057            1 :                                               {
   18058            1 :                                                 tree _o1[1], _r1;
   18059            1 :                                                 {
   18060            1 :                                                   tree _o2[1], _r2;
   18061            1 :                                                   _o2[0] = captures[0];
   18062            1 :                                                   if (TREE_TYPE (_o2[0]) != utype)
   18063              :                                                     {
   18064            1 :                                                       _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
   18065              :                                                     }
   18066              :                                                   else
   18067              :                                                     _r2 = _o2[0];
   18068            1 :                                                   _o1[0] = _r2;
   18069              :                                                 }
   18070            1 :                                                 _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   18071            1 :                                                 res_op0 = _r1;
   18072              :                                               }
   18073            1 :                                               tree _r;
   18074            1 :                                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   18075            1 :                                               if (TREE_SIDE_EFFECTS (captures[1]))
   18076            0 :                                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18077            1 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   18078            1 :                                               return _r;
   18079              :                                             }
   18080            2 : next_after_fail1835:;
   18081              :                                         }
   18082              :                                       }
   18083              :                                   }
   18084              :                               }
   18085            2 :                               break;
   18086              :                             }
   18087              :                           default:;
   18088              :                           }
   18089              :                       }
   18090              :                     break;
   18091              :                   }
   18092           95 :                 case BIT_NOT_EXPR:
   18093           95 :                   {
   18094           95 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   18095           95 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18096              :                       {
   18097           18 :                         switch (TREE_CODE (_p2))
   18098              :                           {
   18099           18 :                           case INTEGER_CST:
   18100           18 :                             {
   18101           18 :                               {
   18102           18 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18103           18 :                                 if (wi::eq_p (wi::bit_not (wi::to_wide (captures[1])), wi::to_wide (captures[3]))
   18104              : )
   18105              :                                   {
   18106           18 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1836;
   18107           18 :                                     if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1836;
   18108           18 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1836;
   18109           18 :                                     {
   18110           18 :                                       tree _r;
   18111           18 :                                       _r = captures[2];
   18112           18 :                                       if (TREE_SIDE_EFFECTS (captures[1]))
   18113            0 :                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18114           18 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1051, __FILE__, __LINE__, true);
   18115           18 :                                       return _r;
   18116              :                                     }
   18117            0 : next_after_fail1836:;
   18118              :                                   }
   18119              :                               }
   18120            0 :                               break;
   18121              :                             }
   18122              :                           default:;
   18123              :                           }
   18124              :                       }
   18125              :                     break;
   18126              :                   }
   18127            5 :                 case ABS_EXPR:
   18128            5 :                   {
   18129            5 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   18130            5 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18131              :                       {
   18132            1 :                         switch (TREE_CODE (_p2))
   18133              :                           {
   18134            1 :                           case INTEGER_CST:
   18135            1 :                             {
   18136            1 :                               {
   18137            1 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18138            1 :                                 if (wi::abs (wi::to_wide (captures[1])) == wi::to_wide (captures[3])
   18139              : )
   18140              :                                   {
   18141            0 :                                     if (ABS_EXPR != ABSU_EXPR && wi::only_sign_bit_p (wi::to_wide (captures[1]))
   18142              : )
   18143              :                                       {
   18144            0 :                                         {
   18145            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
   18146            0 :                                             if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1837;
   18147            0 :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1837;
   18148            0 :                                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1837;
   18149            0 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1837;
   18150            0 :                                             {
   18151            0 :                                               tree res_op0;
   18152            0 :                                               {
   18153            0 :                                                 tree _o1[1], _r1;
   18154            0 :                                                 _o1[0] = captures[0];
   18155            0 :                                                 _r1 = fold_build1_loc (loc, ABSU_EXPR, utype, _o1[0]);
   18156            0 :                                                 res_op0 = _r1;
   18157              :                                               }
   18158            0 :                                               tree _r;
   18159            0 :                                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   18160            0 :                                               if (TREE_SIDE_EFFECTS (captures[1]))
   18161            0 :                                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18162            0 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1052, __FILE__, __LINE__, true);
   18163            0 :                                               return _r;
   18164              :                                             }
   18165            1 : next_after_fail1837:;
   18166              :                                         }
   18167              :                                       }
   18168              :                                     else
   18169              :                                       {
   18170            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1838;
   18171            0 :                                         if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1838;
   18172            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1838;
   18173            0 :                                         {
   18174            0 :                                           tree _r;
   18175            0 :                                           _r = captures[2];
   18176            0 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   18177            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18178            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1053, __FILE__, __LINE__, true);
   18179            0 :                                           return _r;
   18180              :                                         }
   18181            1 : next_after_fail1838:;
   18182              :                                       }
   18183              :                                   }
   18184              :                               }
   18185            1 :                               break;
   18186              :                             }
   18187              :                           default:;
   18188              :                           }
   18189              :                       }
   18190              :                     break;
   18191              :                   }
   18192            0 :                 case ABSU_EXPR:
   18193            0 :                   {
   18194            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   18195            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18196              :                       {
   18197            0 :                         switch (TREE_CODE (_p2))
   18198              :                           {
   18199            0 :                           case INTEGER_CST:
   18200            0 :                             {
   18201            0 :                               {
   18202            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18203            0 :                                 if (wi::abs (wi::to_wide (captures[1])) == wi::to_wide (captures[3])
   18204              : )
   18205              :                                   {
   18206            0 :                                     if (ABSU_EXPR != ABSU_EXPR && wi::only_sign_bit_p (wi::to_wide (captures[1]))
   18207              : )
   18208              :                                       {
   18209              :                                         {
   18210              :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
   18211              :                                             if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1839;
   18212              :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1839;
   18213              :                                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1839;
   18214              :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1839;
   18215              :                                             {
   18216              :                                               tree res_op0;
   18217              :                                               {
   18218              :                                                 tree _o1[1], _r1;
   18219              :                                                 _o1[0] = captures[0];
   18220              :                                                 _r1 = fold_build1_loc (loc, ABSU_EXPR, utype, _o1[0]);
   18221              :                                                 res_op0 = _r1;
   18222              :                                               }
   18223              :                                               tree _r;
   18224              :                                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   18225              :                                               if (TREE_SIDE_EFFECTS (captures[1]))
   18226              :                                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18227              :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1052, __FILE__, __LINE__, true);
   18228              :                                               return _r;
   18229              :                                             }
   18230              : next_after_fail1839:;
   18231              :                                         }
   18232              :                                       }
   18233              :                                     else
   18234              :                                       {
   18235            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1840;
   18236            0 :                                         if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1840;
   18237            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1840;
   18238            0 :                                         {
   18239            0 :                                           tree _r;
   18240            0 :                                           _r = captures[2];
   18241            0 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   18242            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18243            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1053, __FILE__, __LINE__, true);
   18244            0 :                                           return _r;
   18245              :                                         }
   18246            0 : next_after_fail1840:;
   18247              :                                       }
   18248              :                                   }
   18249              :                               }
   18250            0 :                               break;
   18251              :                             }
   18252              :                           default:;
   18253              :                           }
   18254              :                       }
   18255              :                     break;
   18256              :                   }
   18257              :                 default:;
   18258              :                 }
   18259              :               break;
   18260              :             }
   18261              :           default:;
   18262              :           }
   18263              :         break;
   18264              :       }
   18265      1236659 :     case INTEGER_CST:
   18266      1236659 :       {
   18267      1236659 :         {
   18268      1236659 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   18269      1236659 :           if (integer_zerop (captures[0])
   18270              : )
   18271              :             {
   18272       649088 :               if (!VOID_TYPE_P (TREE_TYPE (captures[2])) || VOID_TYPE_P (type)
   18273              : )
   18274              :                 {
   18275       640874 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1841;
   18276       468675 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1841;
   18277       454013 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1841;
   18278       454013 :                   {
   18279       454013 :                     tree _r;
   18280       454013 :                     _r = captures[2];
   18281       454013 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   18282            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   18283       454013 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1054, __FILE__, __LINE__, true);
   18284       454013 :                     return _r;
   18285              :                   }
   18286       410838 : next_after_fail1841:;
   18287              :                 }
   18288              :             }
   18289              :           else
   18290              :             {
   18291       587571 :               if (!VOID_TYPE_P (TREE_TYPE (captures[1])) || VOID_TYPE_P (type)
   18292              : )
   18293              :                 {
   18294       586579 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1842;
   18295       462613 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1842;
   18296       371808 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1842;
   18297       371808 :                   {
   18298       371808 :                     tree _r;
   18299       371808 :                     _r = captures[1];
   18300       371808 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   18301            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   18302       371808 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   18303       371808 :                     return _r;
   18304              :                   }
   18305       410838 : next_after_fail1842:;
   18306              :                 }
   18307              :             }
   18308              :         }
   18309       410838 :         break;
   18310              :       }
   18311     11621615 :     default:;
   18312              :     }
   18313     11621615 :   switch (TREE_CODE (_p1))
   18314              :     {
   18315       803839 :     case COND_EXPR:
   18316       803839 :       {
   18317       803839 :         tree _q30 = TREE_OPERAND (_p1, 0);
   18318       803839 :         tree _q31 = TREE_OPERAND (_p1, 1);
   18319       803839 :         tree _q32 = TREE_OPERAND (_p1, 2);
   18320       803839 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   18321              :           {
   18322          609 :             {
   18323          609 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
   18324          609 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1843;
   18325          609 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1843;
   18326           55 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1843;
   18327           54 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1843;
   18328           10 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1843;
   18329           10 :               {
   18330           10 :                 tree res_op0;
   18331           10 :                 res_op0 = captures[0];
   18332           10 :                 tree res_op1;
   18333           10 :                 res_op1 = captures[1];
   18334           10 :                 tree res_op2;
   18335           10 :                 res_op2 = captures[3];
   18336           10 :                 tree _r;
   18337           10 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   18338           10 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1056, __FILE__, __LINE__, true);
   18339           10 :                 return _r;
   18340              :               }
   18341          599 : next_after_fail1843:;
   18342              :             }
   18343              :           }
   18344              :         break;
   18345              :       }
   18346     11621605 :     default:;
   18347              :     }
   18348     11621605 :   switch (TREE_CODE (_p2))
   18349              :     {
   18350       849618 :     case COND_EXPR:
   18351       849618 :       {
   18352       849618 :         tree _q40 = TREE_OPERAND (_p2, 0);
   18353       849618 :         tree _q41 = TREE_OPERAND (_p2, 1);
   18354       849618 :         tree _q42 = TREE_OPERAND (_p2, 2);
   18355       849618 :         if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   18356              :           {
   18357         3762 :             {
   18358         3762 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
   18359         3762 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1844;
   18360         3762 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1844;
   18361         3762 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1844;
   18362          184 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1844;
   18363          184 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1844;
   18364          184 :               {
   18365          184 :                 tree res_op0;
   18366          184 :                 res_op0 = captures[0];
   18367          184 :                 tree res_op1;
   18368          184 :                 res_op1 = captures[1];
   18369          184 :                 tree res_op2;
   18370          184 :                 res_op2 = captures[3];
   18371          184 :                 tree _r;
   18372          184 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   18373          184 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1057, __FILE__, __LINE__, true);
   18374          184 :                 return _r;
   18375              :               }
   18376         3578 : next_after_fail1844:;
   18377              :             }
   18378              :           }
   18379       849434 :         {
   18380       849434 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
   18381       849434 :           if (inverse_conditions_p (captures[0], captures[2])
   18382              : )
   18383              :             {
   18384         1162 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1845;
   18385         1162 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1845;
   18386         1162 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1845;
   18387         1162 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1845;
   18388         1162 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1845;
   18389         1162 :               {
   18390         1162 :                 tree res_op0;
   18391         1162 :                 res_op0 = captures[0];
   18392         1162 :                 tree res_op1;
   18393         1162 :                 res_op1 = captures[1];
   18394         1162 :                 tree res_op2;
   18395         1162 :                 res_op2 = captures[3];
   18396         1162 :                 tree _r;
   18397         1162 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   18398         1162 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1058, __FILE__, __LINE__, true);
   18399         1162 :                 return _r;
   18400              :               }
   18401       848272 : next_after_fail1845:;
   18402              :             }
   18403              :         }
   18404       848272 :         break;
   18405              :       }
   18406     11620259 :     default:;
   18407              :     }
   18408     11620259 :   switch (TREE_CODE (_p1))
   18409              :     {
   18410       803829 :     case COND_EXPR:
   18411       803829 :       {
   18412       803829 :         tree _q30 = TREE_OPERAND (_p1, 0);
   18413       803829 :         tree _q31 = TREE_OPERAND (_p1, 1);
   18414       803829 :         tree _q32 = TREE_OPERAND (_p1, 2);
   18415       803829 :         {
   18416       803829 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
   18417       803829 :           if (inverse_conditions_p (captures[0], captures[1])
   18418              : )
   18419              :             {
   18420          172 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1846;
   18421          172 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1846;
   18422            2 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1846;
   18423            2 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1846;
   18424            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1846;
   18425            2 :               {
   18426            2 :                 tree res_op0;
   18427            2 :                 res_op0 = captures[0];
   18428            2 :                 tree res_op1;
   18429            2 :                 res_op1 = captures[3];
   18430            2 :                 tree res_op2;
   18431            2 :                 res_op2 = captures[4];
   18432            2 :                 tree _r;
   18433            2 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   18434            2 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1059, __FILE__, __LINE__, true);
   18435            2 :                 return _r;
   18436              :               }
   18437       803827 : next_after_fail1846:;
   18438              :             }
   18439              :         }
   18440       803827 :         break;
   18441              :       }
   18442     11620257 :     default:;
   18443              :     }
   18444     11620257 :   if ((_p2 == _p1 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _p1, 0) && types_match (_p2, _p1)))
   18445              :     {
   18446        50887 :       {
   18447        50887 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   18448        50887 :         if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1847;
   18449        50887 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1847;
   18450        50887 :         {
   18451        50887 :           tree _r;
   18452        50887 :           _r = captures[1];
   18453        50887 :           if (TREE_SIDE_EFFECTS (captures[0]))
   18454          357 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   18455        50887 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1060, __FILE__, __LINE__, true);
   18456        50887 :           return _r;
   18457              :         }
   18458            0 : next_after_fail1847:;
   18459              :       }
   18460              :     }
   18461     11569370 :   switch (TREE_CODE (_p0))
   18462              :     {
   18463      1650202 :     case EQ_EXPR:
   18464      1650202 :       {
   18465      1650202 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18466      1650202 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18467      1650202 :         if (zerop (_q21))
   18468              :           {
   18469       755649 :             switch (TREE_CODE (_p2))
   18470              :               {
   18471           36 :               case NEGATE_EXPR:
   18472           36 :                 {
   18473           36 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   18474           36 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   18475              :                     {
   18476           16 :                       {
   18477           16 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   18478           16 :                         const enum tree_code cmp = EQ_EXPR;
   18479           16 :                         if (!HONOR_SIGNED_ZEROS (type)
   18480           16 :  && bitwise_equal_p (captures[0], captures[1])
   18481              : )
   18482              :                           {
   18483            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1848;
   18484            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1848;
   18485            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1848;
   18486            0 :                             {
   18487            0 :                               tree _r;
   18488            0 :                               _r = captures[2];
   18489            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
   18490            0 :                               return _r;
   18491              :                             }
   18492           16 : next_after_fail1848:;
   18493              :                           }
   18494              :                       }
   18495              :                     }
   18496              :                   break;
   18497              :                 }
   18498       755649 :               default:;
   18499              :               }
   18500       755649 :             if (zerop (_p1))
   18501              :               {
   18502        44605 :                 switch (TREE_CODE (_p2))
   18503              :                   {
   18504           14 :                   case NEGATE_EXPR:
   18505           14 :                     {
   18506           14 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   18507           14 :                       {
   18508           14 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   18509           14 :                         const enum tree_code cmp = EQ_EXPR;
   18510           14 :                         if (!HONOR_SIGNED_ZEROS (type)
   18511           14 :  && bitwise_equal_p (captures[0], captures[2])
   18512              : )
   18513              :                           {
   18514            7 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1849;
   18515            7 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1849;
   18516            7 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1849;
   18517            7 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1849;
   18518            7 :                             {
   18519            7 :                               tree _r;
   18520            7 :                               _r = captures[1];
   18521            7 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
   18522            7 :                               return _r;
   18523              :                             }
   18524            7 : next_after_fail1849:;
   18525              :                           }
   18526              :                       }
   18527            7 :                       break;
   18528              :                     }
   18529              :                   default:;
   18530              :                   }
   18531              :               }
   18532              :           }
   18533      1650195 :         switch (TREE_CODE (_q20))
   18534              :           {
   18535            0 :           case MINUS_EXPR:
   18536            0 :             {
   18537            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   18538            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   18539            0 :               if (zerop (_q21))
   18540              :                 {
   18541            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   18542              :                     {
   18543            0 :                       switch (TREE_CODE (_p2))
   18544              :                         {
   18545            0 :                         case MINUS_EXPR:
   18546            0 :                           {
   18547            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18548            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18549            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   18550              :                               {
   18551            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   18552              :                                   {
   18553            0 :                                     {
   18554            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   18555            0 :                                       const enum tree_code cmp = EQ_EXPR;
   18556            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   18557              : )
   18558              :                                         {
   18559            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1850;
   18560            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1850;
   18561            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1850;
   18562            0 :                                           {
   18563            0 :                                             tree _r;
   18564            0 :                                             _r = captures[3];
   18565            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1063, __FILE__, __LINE__, true);
   18566            0 :                                             return _r;
   18567              :                                           }
   18568            0 : next_after_fail1850:;
   18569              :                                         }
   18570              :                                     }
   18571              :                                   }
   18572              :                               }
   18573              :                             break;
   18574              :                           }
   18575              :                         default:;
   18576              :                         }
   18577              :                     }
   18578              :                 }
   18579            0 :               if (integer_zerop (_q21))
   18580              :                 {
   18581            0 :                   if (integer_zerop (_p1))
   18582              :                     {
   18583            0 :                       switch (TREE_CODE (_p2))
   18584              :                         {
   18585            0 :                         case MINUS_EXPR:
   18586            0 :                           {
   18587            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18588            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18589            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   18590              :                               {
   18591            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   18592              :                                   {
   18593            0 :                                     {
   18594            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   18595            0 :                                       tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   18596            0 :                                       if (res) return res;
   18597              :                                     }
   18598              :                                   }
   18599              :                               }
   18600              :                             break;
   18601              :                           }
   18602              :                         default:;
   18603              :                         }
   18604              :                     }
   18605              :                 }
   18606              :               break;
   18607              :             }
   18608        59438 :           case CALL_EXPR:
   18609        59438 :             switch (get_call_combined_fn (_q20))
   18610              :               {
   18611            0 :               case CFN_BUILT_IN_SIGNBITF:
   18612            0 :                 if (call_expr_nargs (_q20) == 1)
   18613              :     {
   18614            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18615            0 :                     if (integer_zerop (_q21))
   18616              :                       {
   18617            0 :                         switch (TREE_CODE (_p1))
   18618              :                           {
   18619            0 :                           case NEGATE_EXPR:
   18620            0 :                             {
   18621            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18622            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18623              :                                 {
   18624            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18625              :                                     {
   18626            0 :                                       {
   18627            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18628            0 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBITF);
   18629            0 :                                         if (res) return res;
   18630              :                                       }
   18631              :                                     }
   18632              :                                 }
   18633              :                               break;
   18634              :                             }
   18635              :                           default:;
   18636              :                           }
   18637              :                       }
   18638              :                   }
   18639              :                 break;
   18640            0 :               case CFN_BUILT_IN_SIGNBITL:
   18641            0 :                 if (call_expr_nargs (_q20) == 1)
   18642              :     {
   18643            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18644            0 :                     if (integer_zerop (_q21))
   18645              :                       {
   18646            0 :                         switch (TREE_CODE (_p1))
   18647              :                           {
   18648            0 :                           case NEGATE_EXPR:
   18649            0 :                             {
   18650            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18651            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18652              :                                 {
   18653            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18654              :                                     {
   18655            0 :                                       {
   18656            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18657            0 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBITL);
   18658            0 :                                         if (res) return res;
   18659              :                                       }
   18660              :                                     }
   18661              :                                 }
   18662              :                               break;
   18663              :                             }
   18664              :                           default:;
   18665              :                           }
   18666              :                       }
   18667              :                   }
   18668              :                 break;
   18669            0 :               case CFN_SIGNBIT:
   18670            0 :                 if (call_expr_nargs (_q20) == 1)
   18671              :     {
   18672            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18673            0 :                     if (integer_zerop (_q21))
   18674              :                       {
   18675            0 :                         switch (TREE_CODE (_p1))
   18676              :                           {
   18677            0 :                           case NEGATE_EXPR:
   18678            0 :                             {
   18679            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18680            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18681              :                                 {
   18682            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18683              :                                     {
   18684            0 :                                       {
   18685            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18686            0 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_SIGNBIT);
   18687            0 :                                         if (res) return res;
   18688              :                                       }
   18689              :                                     }
   18690              :                                 }
   18691              :                               break;
   18692              :                             }
   18693              :                           default:;
   18694              :                           }
   18695              :                       }
   18696              :                   }
   18697              :                 break;
   18698          411 :               case CFN_BUILT_IN_SIGNBIT:
   18699          411 :                 if (call_expr_nargs (_q20) == 1)
   18700              :     {
   18701          411 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18702          411 :                     if (integer_zerop (_q21))
   18703              :                       {
   18704          411 :                         switch (TREE_CODE (_p1))
   18705              :                           {
   18706            3 :                           case NEGATE_EXPR:
   18707            3 :                             {
   18708            3 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18709            3 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18710              :                                 {
   18711            3 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18712              :                                     {
   18713            3 :                                       {
   18714            3 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18715            3 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBIT);
   18716            3 :                                         if (res) return res;
   18717              :                                       }
   18718              :                                     }
   18719              :                                 }
   18720              :                               break;
   18721              :                             }
   18722              :                           default:;
   18723              :                           }
   18724              :                       }
   18725              :                   }
   18726              :                 break;
   18727              :               default:;
   18728              :               }
   18729              :             break;
   18730              :           default:;
   18731              :           }
   18732              :         break;
   18733              :       }
   18734          164 :     case UNEQ_EXPR:
   18735          164 :       {
   18736          164 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18737          164 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18738          164 :         if (zerop (_q21))
   18739              :           {
   18740            1 :             switch (TREE_CODE (_p2))
   18741              :               {
   18742            0 :               case NEGATE_EXPR:
   18743            0 :                 {
   18744            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   18745            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   18746              :                     {
   18747            0 :                       {
   18748            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   18749            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   18750            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   18751            0 :  && bitwise_equal_p (captures[0], captures[1])
   18752              : )
   18753              :                           {
   18754            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1851;
   18755            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1851;
   18756            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1851;
   18757            0 :                             {
   18758            0 :                               tree _r;
   18759            0 :                               _r = captures[2];
   18760            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
   18761            0 :                               return _r;
   18762              :                             }
   18763            0 : next_after_fail1851:;
   18764              :                           }
   18765              :                       }
   18766              :                     }
   18767              :                   break;
   18768              :                 }
   18769            1 :               default:;
   18770              :               }
   18771            1 :             if (zerop (_p1))
   18772              :               {
   18773            0 :                 switch (TREE_CODE (_p2))
   18774              :                   {
   18775            0 :                   case NEGATE_EXPR:
   18776            0 :                     {
   18777            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   18778            0 :                       {
   18779            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   18780            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   18781            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   18782            0 :  && bitwise_equal_p (captures[0], captures[2])
   18783              : )
   18784              :                           {
   18785            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1852;
   18786            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1852;
   18787            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1852;
   18788            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1852;
   18789            0 :                             {
   18790            0 :                               tree _r;
   18791            0 :                               _r = captures[1];
   18792            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
   18793            0 :                               return _r;
   18794              :                             }
   18795            0 : next_after_fail1852:;
   18796              :                           }
   18797              :                       }
   18798            0 :                       break;
   18799              :                     }
   18800              :                   default:;
   18801              :                   }
   18802              :               }
   18803              :           }
   18804          164 :         switch (TREE_CODE (_q20))
   18805              :           {
   18806            0 :           case MINUS_EXPR:
   18807            0 :             {
   18808            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   18809            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   18810            0 :               if (zerop (_q21))
   18811              :                 {
   18812            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   18813              :                     {
   18814            0 :                       switch (TREE_CODE (_p2))
   18815              :                         {
   18816            0 :                         case MINUS_EXPR:
   18817            0 :                           {
   18818            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18819            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18820            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   18821              :                               {
   18822            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   18823              :                                   {
   18824            0 :                                     {
   18825            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   18826            0 :                                       const enum tree_code cmp = UNEQ_EXPR;
   18827            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   18828              : )
   18829              :                                         {
   18830            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1853;
   18831            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1853;
   18832            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1853;
   18833            0 :                                           {
   18834            0 :                                             tree _r;
   18835            0 :                                             _r = captures[3];
   18836            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1063, __FILE__, __LINE__, true);
   18837            0 :                                             return _r;
   18838              :                                           }
   18839            0 : next_after_fail1853:;
   18840              :                                         }
   18841              :                                     }
   18842              :                                   }
   18843              :                               }
   18844              :                             break;
   18845              :                           }
   18846              :                         default:;
   18847              :                         }
   18848              :                     }
   18849              :                 }
   18850            0 :               if (integer_zerop (_q21))
   18851              :                 {
   18852            0 :                   if (integer_zerop (_p1))
   18853              :                     {
   18854            0 :                       switch (TREE_CODE (_p2))
   18855              :                         {
   18856            0 :                         case MINUS_EXPR:
   18857            0 :                           {
   18858            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18859            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18860            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   18861              :                               {
   18862            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   18863              :                                   {
   18864            0 :                                     {
   18865            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   18866            0 :                                       tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, UNEQ_EXPR);
   18867            0 :                                       if (res) return res;
   18868              :                                     }
   18869              :                                   }
   18870              :                               }
   18871              :                             break;
   18872              :                           }
   18873              :                         default:;
   18874              :                         }
   18875              :                     }
   18876              :                 }
   18877              :               break;
   18878              :             }
   18879              :           default:;
   18880              :           }
   18881              :         break;
   18882              :       }
   18883      2804999 :     case NE_EXPR:
   18884      2804999 :       {
   18885      2804999 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18886      2804999 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18887      2804999 :         if (zerop (_q21))
   18888              :           {
   18889      1930270 :             switch (TREE_CODE (_p2))
   18890              :               {
   18891           50 :               case NEGATE_EXPR:
   18892           50 :                 {
   18893           50 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   18894           50 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   18895              :                     {
   18896           10 :                       {
   18897           10 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   18898           10 :                         const enum tree_code cmp = NE_EXPR;
   18899           10 :                         if (!HONOR_SIGNED_ZEROS (type)
   18900           10 :  && bitwise_equal_p (captures[0], captures[1])
   18901              : )
   18902              :                           {
   18903            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1854;
   18904            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1854;
   18905            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1854;
   18906            0 :                             {
   18907            0 :                               tree _r;
   18908            0 :                               _r = captures[1];
   18909            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1064, __FILE__, __LINE__, true);
   18910            0 :                               return _r;
   18911              :                             }
   18912           10 : next_after_fail1854:;
   18913              :                           }
   18914              :                       }
   18915              :                     }
   18916              :                   break;
   18917              :                 }
   18918      1930270 :               default:;
   18919              :               }
   18920      1930270 :           if (integer_zerop (_p2))
   18921              :             {
   18922       318666 :               {
   18923       318666 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   18924       318666 :                 const enum tree_code cmp = NE_EXPR;
   18925       318666 :                 if (!HONOR_SIGNED_ZEROS (type)
   18926       318666 :  && bitwise_equal_p (captures[0], captures[1])
   18927              : )
   18928              :                   {
   18929         2365 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1855;
   18930         2331 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1855;
   18931         2331 :                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1855;
   18932         2331 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1855;
   18933         2331 :                     {
   18934         2331 :                       tree _r;
   18935         2331 :                       _r = captures[1];
   18936         2331 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   18937         2331 :                       return _r;
   18938              :                     }
   18939       316335 : next_after_fail1855:;
   18940              :                   }
   18941              :               }
   18942              :             }
   18943              :           }
   18944      2802668 :         switch (TREE_CODE (_q20))
   18945              :           {
   18946          563 :           case MINUS_EXPR:
   18947          563 :             {
   18948          563 :               tree _q30 = TREE_OPERAND (_q20, 0);
   18949          563 :               tree _q31 = TREE_OPERAND (_q20, 1);
   18950          563 :               if (zerop (_q21))
   18951              :                 {
   18952           76 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   18953              :                     {
   18954            0 :                       switch (TREE_CODE (_p2))
   18955              :                         {
   18956            0 :                         case MINUS_EXPR:
   18957            0 :                           {
   18958            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18959            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18960            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   18961              :                               {
   18962            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   18963              :                                   {
   18964            0 :                                     {
   18965            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   18966            0 :                                       const enum tree_code cmp = NE_EXPR;
   18967            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   18968              : )
   18969              :                                         {
   18970            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1856;
   18971            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1856;
   18972            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1856;
   18973            0 :                                           {
   18974            0 :                                             tree _r;
   18975            0 :                                             _r = captures[0];
   18976            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   18977            0 :                                             return _r;
   18978              :                                           }
   18979            0 : next_after_fail1856:;
   18980              :                                         }
   18981              :                                     }
   18982              :                                   }
   18983              :                               }
   18984              :                             break;
   18985              :                           }
   18986              :                         default:;
   18987              :                         }
   18988              :                     }
   18989              :                 }
   18990          563 :               if (integer_zerop (_q21))
   18991              :                 {
   18992           25 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   18993              :                     {
   18994            0 :                       if (integer_zerop (_p2))
   18995              :                         {
   18996            0 :                           {
   18997            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   18998            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   18999            0 :                             if (res) return res;
   19000              :                           }
   19001              :                         }
   19002              :                     }
   19003              :                 }
   19004              :               break;
   19005              :             }
   19006       275699 :           case BIT_AND_EXPR:
   19007       275699 :             {
   19008       275699 :               tree _q30 = TREE_OPERAND (_q20, 0);
   19009       275699 :               tree _q31 = TREE_OPERAND (_q20, 1);
   19010       275699 :               if (integer_pow2p (_q31))
   19011              :                 {
   19012       203402 :                   if (integer_zerop (_q21))
   19013              :                     {
   19014       203402 :                       switch (TREE_CODE (_p1))
   19015              :                         {
   19016         2330 :                         case INTEGER_CST:
   19017         2330 :                           {
   19018         2330 :                             if (integer_zerop (_p2))
   19019              :                               {
   19020         1407 :                                 {
   19021         1407 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
   19022         1407 :                                   if (!POINTER_TYPE_P (type) && integer_pow2p (captures[2])
   19023              : )
   19024              :                                     {
   19025          652 :                                       {
   19026          652 :  int shift = (wi::exact_log2 (wi::to_wide (captures[2]))
   19027          652 :  - wi::exact_log2 (wi::to_wide (captures[1])));
   19028          652 :                                           if (shift > 0
   19029              : )
   19030              :                                             {
   19031          377 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1857;
   19032          377 :                                               if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1857;
   19033          377 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1857;
   19034          377 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1857;
   19035          377 :                                               {
   19036          377 :                                                 tree res_op0;
   19037          377 :                                                 {
   19038          377 :                                                   tree _o1[2], _r1;
   19039          377 :                                                   {
   19040          377 :                                                     tree _o2[1], _r2;
   19041          377 :                                                     _o2[0] = captures[0];
   19042          377 :                                                     if (TREE_TYPE (_o2[0]) != type)
   19043              :                                                       {
   19044          374 :                                                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
   19045              :                                                       }
   19046              :                                                     else
   19047              :                                                       _r2 = _o2[0];
   19048          377 :                                                     _o1[0] = _r2;
   19049              :                                                   }
   19050          377 :                                                   _o1[1] =  build_int_cst (integer_type_node, shift);
   19051          377 :                                                   _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   19052          377 :                                                   res_op0 = _r1;
   19053              :                                                 }
   19054          377 :                                                 tree res_op1;
   19055          377 :                                                 res_op1 = captures[2];
   19056          377 :                                                 tree _r;
   19057          377 :                                                 _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   19058          377 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   19059          652 :                                                 return _r;
   19060              :                                               }
   19061              : next_after_fail1857:;
   19062              :                                             }
   19063              :                                           else
   19064              :                                             {
   19065          275 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1858;
   19066          275 :                                               if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1858;
   19067          275 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1858;
   19068          275 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1858;
   19069          275 :                                               {
   19070          275 :                                                 tree res_op0;
   19071          275 :                                                 {
   19072          275 :                                                   tree _o1[1], _r1;
   19073          275 :                                                   {
   19074          275 :                                                     tree _o2[2], _r2;
   19075          275 :                                                     _o2[0] = captures[0];
   19076          275 :                                                     _o2[1] =  build_int_cst (integer_type_node, -shift);
   19077          275 :                                                     _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   19078          275 :                                                     _o1[0] = _r2;
   19079              :                                                   }
   19080          275 :                                                   if (TREE_TYPE (_o1[0]) != type)
   19081              :                                                     {
   19082          139 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   19083              :                                                     }
   19084              :                                                   else
   19085              :                                                     _r1 = _o1[0];
   19086          275 :                                                   res_op0 = _r1;
   19087              :                                                 }
   19088          275 :                                                 tree res_op1;
   19089          275 :                                                 res_op1 = captures[2];
   19090          275 :                                                 tree _r;
   19091          275 :                                                 _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   19092          275 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1068, __FILE__, __LINE__, true);
   19093          275 :                                                 return _r;
   19094              :                                               }
   19095              : next_after_fail1858:;
   19096              :                                             }
   19097              :                                       }
   19098              :                                     }
   19099              :                                 }
   19100              :                               }
   19101              :                             break;
   19102              :                           }
   19103              :                         default:;
   19104              :                         }
   19105              :                     }
   19106              :                 }
   19107              :               break;
   19108              :             }
   19109       316548 :           case CALL_EXPR:
   19110       316548 :             switch (get_call_combined_fn (_q20))
   19111              :               {
   19112           30 :               case CFN_BUILT_IN_SIGNBITF:
   19113           30 :                 if (call_expr_nargs (_q20) == 1)
   19114              :     {
   19115           30 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   19116           30 :                     if (integer_zerop (_q21))
   19117              :                       {
   19118           30 :                         switch (TREE_CODE (_p1))
   19119              :                           {
   19120            0 :                           case NEGATE_EXPR:
   19121            0 :                             {
   19122            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   19123            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   19124              :                                 {
   19125            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   19126              :                                     {
   19127            0 :                                       {
   19128            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   19129            0 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBITF);
   19130            0 :                                         if (res) return res;
   19131              :                                       }
   19132              :                                     }
   19133              :                                 }
   19134              :                               break;
   19135              :                             }
   19136              :                           default:;
   19137              :                           }
   19138              :                       }
   19139              :                   }
   19140              :                 break;
   19141           30 :               case CFN_BUILT_IN_SIGNBITL:
   19142           30 :                 if (call_expr_nargs (_q20) == 1)
   19143              :     {
   19144           30 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   19145           30 :                     if (integer_zerop (_q21))
   19146              :                       {
   19147           30 :                         switch (TREE_CODE (_p1))
   19148              :                           {
   19149            0 :                           case NEGATE_EXPR:
   19150            0 :                             {
   19151            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   19152            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   19153              :                                 {
   19154            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   19155              :                                     {
   19156            0 :                                       {
   19157            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   19158            0 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBITL);
   19159            0 :                                         if (res) return res;
   19160              :                                       }
   19161              :                                     }
   19162              :                                 }
   19163              :                               break;
   19164              :                             }
   19165              :                           default:;
   19166              :                           }
   19167              :                       }
   19168              :                   }
   19169              :                 break;
   19170            0 :               case CFN_SIGNBIT:
   19171            0 :                 if (call_expr_nargs (_q20) == 1)
   19172              :     {
   19173            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   19174            0 :                     if (integer_zerop (_q21))
   19175              :                       {
   19176            0 :                         switch (TREE_CODE (_p1))
   19177              :                           {
   19178            0 :                           case NEGATE_EXPR:
   19179            0 :                             {
   19180            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   19181            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   19182              :                                 {
   19183            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   19184              :                                     {
   19185            0 :                                       {
   19186            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   19187            0 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_SIGNBIT);
   19188            0 :                                         if (res) return res;
   19189              :                                       }
   19190              :                                     }
   19191              :                                 }
   19192              :                               break;
   19193              :                             }
   19194              :                           default:;
   19195              :                           }
   19196              :                       }
   19197              :                   }
   19198              :                 break;
   19199         2896 :               case CFN_BUILT_IN_SIGNBIT:
   19200         2896 :                 if (call_expr_nargs (_q20) == 1)
   19201              :     {
   19202         2896 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   19203         2896 :                     if (integer_zerop (_q21))
   19204              :                       {
   19205         2896 :                         switch (TREE_CODE (_p1))
   19206              :                           {
   19207            4 :                           case NEGATE_EXPR:
   19208            4 :                             {
   19209            4 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   19210            4 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   19211              :                                 {
   19212            3 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   19213              :                                     {
   19214            3 :                                       {
   19215            3 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   19216            3 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBIT);
   19217            3 :                                         if (res) return res;
   19218              :                                       }
   19219              :                                     }
   19220              :                                 }
   19221              :                               break;
   19222              :                             }
   19223              :                           default:;
   19224              :                           }
   19225              :                       }
   19226              :                   }
   19227              :                 break;
   19228              :               default:;
   19229              :               }
   19230              :             break;
   19231      2802013 :           default:;
   19232              :           }
   19233      2802013 :         if (integer_zerop (_q21))
   19234              :           {
   19235      1856412 :             switch (TREE_CODE (_p1))
   19236              :               {
   19237        97190 :               case PLUS_EXPR:
   19238        97190 :                 {
   19239        97190 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   19240        97190 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   19241        97190 :                   {
   19242        97190 :                     tree _q50_pops[1];
   19243        97190 :                     if (tree_nop_convert (_q50, _q50_pops))
   19244              :                       {
   19245        11503 :                         tree _q60 = _q50_pops[0];
   19246        11503 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19247              :                           {
   19248         1615 :                             if (integer_all_onesp (_q51))
   19249              :                               {
   19250         1615 :                                 if (integer_zerop (_p2))
   19251              :                                   {
   19252         1607 :                                     {
   19253         1607 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q50 };
   19254         1607 :                                       tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures);
   19255         1607 :                                       if (res) return res;
   19256              :                                     }
   19257              :                                   }
   19258              :                               }
   19259              :                           }
   19260              :                       }
   19261              :                   }
   19262        95583 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19263              :                     {
   19264         2024 :                       if (integer_all_onesp (_q51))
   19265              :                         {
   19266         1989 :                           if (integer_zerop (_p2))
   19267              :                             {
   19268         1979 :                               {
   19269         1979 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q50 };
   19270         1979 :                                 tree res = generic_simplify_374 (loc, type, _p0, _p1, _p2, captures);
   19271         1979 :                                 if (res) return res;
   19272              :                               }
   19273              :                             }
   19274              :                         }
   19275              :                     }
   19276              :                   break;
   19277              :                 }
   19278       568619 :               case CALL_EXPR:
   19279       568619 :                 switch (get_call_combined_fn (_p1))
   19280              :                   {
   19281            0 :                   case CFN_PARITY:
   19282            0 :                     if (call_expr_nargs (_p1) == 1)
   19283              :     {
   19284            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19285            0 :                         switch (TREE_CODE (_q50))
   19286              :                           {
   19287            0 :                           CASE_CONVERT:
   19288            0 :                             {
   19289            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19290            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19291              :                                 {
   19292            0 :                                   if (integer_zerop (_p2))
   19293              :                                     {
   19294            0 :                                       {
   19295            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19296            0 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_PARITY);
   19297            0 :                                         if (res) return res;
   19298              :                                       }
   19299              :                                     }
   19300              :                                 }
   19301              :                               break;
   19302              :                             }
   19303            0 :                           default:;
   19304              :                           }
   19305            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19306              :                           {
   19307            0 :                             if (integer_zerop (_p2))
   19308              :                               {
   19309            0 :                                 {
   19310            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19311            0 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_PARITY);
   19312            0 :                                   if (res) return res;
   19313              :                                 }
   19314              :                               }
   19315              :                           }
   19316              :                       }
   19317              :                     break;
   19318            7 :                   case CFN_BUILT_IN_FFS:
   19319            7 :                     if (call_expr_nargs (_p1) == 1)
   19320              :     {
   19321            7 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19322            7 :                         switch (TREE_CODE (_q50))
   19323              :                           {
   19324            0 :                           CASE_CONVERT:
   19325            0 :                             {
   19326            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19327            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19328              :                                 {
   19329            0 :                                   if (integer_zerop (_p2))
   19330              :                                     {
   19331            0 :                                       {
   19332            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19333            0 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFS);
   19334            0 :                                         if (res) return res;
   19335              :                                       }
   19336              :                                     }
   19337              :                                 }
   19338              :                               break;
   19339              :                             }
   19340            7 :                           default:;
   19341              :                           }
   19342            7 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19343              :                           {
   19344            0 :                             if (integer_zerop (_p2))
   19345              :                               {
   19346            0 :                                 {
   19347            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19348            0 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFS);
   19349            0 :                                   if (res) return res;
   19350              :                                 }
   19351              :                               }
   19352              :                           }
   19353              :                       }
   19354              :                     break;
   19355            0 :                   case CFN_BUILT_IN_FFSIMAX:
   19356            0 :                     if (call_expr_nargs (_p1) == 1)
   19357              :     {
   19358            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19359            0 :                         switch (TREE_CODE (_q50))
   19360              :                           {
   19361            0 :                           CASE_CONVERT:
   19362            0 :                             {
   19363            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19364            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19365              :                                 {
   19366            0 :                                   if (integer_zerop (_p2))
   19367              :                                     {
   19368            0 :                                       {
   19369            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19370            0 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSIMAX);
   19371            0 :                                         if (res) return res;
   19372              :                                       }
   19373              :                                     }
   19374              :                                 }
   19375              :                               break;
   19376              :                             }
   19377            0 :                           default:;
   19378              :                           }
   19379            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19380              :                           {
   19381            0 :                             if (integer_zerop (_p2))
   19382              :                               {
   19383            0 :                                 {
   19384            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19385            0 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSIMAX);
   19386            0 :                                   if (res) return res;
   19387              :                                 }
   19388              :                               }
   19389              :                           }
   19390              :                       }
   19391              :                     break;
   19392            2 :                   case CFN_BUILT_IN_POPCOUNT:
   19393            2 :                     if (call_expr_nargs (_p1) == 1)
   19394              :     {
   19395            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19396            2 :                         switch (TREE_CODE (_q50))
   19397              :                           {
   19398            1 :                           CASE_CONVERT:
   19399            1 :                             {
   19400            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19401            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19402              :                                 {
   19403            1 :                                   if (integer_zerop (_p2))
   19404              :                                     {
   19405            1 :                                       {
   19406            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19407            1 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNT);
   19408            1 :                                         if (res) return res;
   19409              :                                       }
   19410              :                                     }
   19411              :                                 }
   19412              :                               break;
   19413              :                             }
   19414            1 :                           default:;
   19415              :                           }
   19416            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19417              :                           {
   19418            0 :                             if (integer_zerop (_p2))
   19419              :                               {
   19420            0 :                                 {
   19421            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19422            0 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNT);
   19423            0 :                                   if (res) return res;
   19424              :                                 }
   19425              :                               }
   19426              :                           }
   19427              :                       }
   19428              :                     break;
   19429            2 :                   case CFN_BUILT_IN_PARITYL:
   19430            2 :                     if (call_expr_nargs (_p1) == 1)
   19431              :     {
   19432            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19433            2 :                         switch (TREE_CODE (_q50))
   19434              :                           {
   19435            1 :                           CASE_CONVERT:
   19436            1 :                             {
   19437            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19438            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19439              :                                 {
   19440            1 :                                   if (integer_zerop (_p2))
   19441              :                                     {
   19442            1 :                                       {
   19443            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19444            1 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYL);
   19445            1 :                                         if (res) return res;
   19446              :                                       }
   19447              :                                     }
   19448              :                                 }
   19449              :                               break;
   19450              :                             }
   19451            1 :                           default:;
   19452              :                           }
   19453            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19454              :                           {
   19455            0 :                             if (integer_zerop (_p2))
   19456              :                               {
   19457            0 :                                 {
   19458            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19459            0 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYL);
   19460            0 :                                   if (res) return res;
   19461              :                                 }
   19462              :                               }
   19463              :                           }
   19464              :                       }
   19465              :                     break;
   19466           16 :                   case CFN_BUILT_IN_FFSL:
   19467           16 :                     if (call_expr_nargs (_p1) == 1)
   19468              :     {
   19469           16 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19470           16 :                         switch (TREE_CODE (_q50))
   19471              :                           {
   19472           16 :                           CASE_CONVERT:
   19473           16 :                             {
   19474           16 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19475           16 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19476              :                                 {
   19477            0 :                                   if (integer_zerop (_p2))
   19478              :                                     {
   19479            0 :                                       {
   19480            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19481            0 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSL);
   19482            0 :                                         if (res) return res;
   19483              :                                       }
   19484              :                                     }
   19485              :                                 }
   19486              :                               break;
   19487              :                             }
   19488           16 :                           default:;
   19489              :                           }
   19490           16 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19491              :                           {
   19492            0 :                             if (integer_zerop (_p2))
   19493              :                               {
   19494            0 :                                 {
   19495            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19496            0 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSL);
   19497            0 :                                   if (res) return res;
   19498              :                                 }
   19499              :                               }
   19500              :                           }
   19501              :                       }
   19502              :                     break;
   19503            2 :                   case CFN_BUILT_IN_POPCOUNTLL:
   19504            2 :                     if (call_expr_nargs (_p1) == 1)
   19505              :     {
   19506            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19507            2 :                         switch (TREE_CODE (_q50))
   19508              :                           {
   19509            1 :                           CASE_CONVERT:
   19510            1 :                             {
   19511            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19512            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19513              :                                 {
   19514            1 :                                   if (integer_zerop (_p2))
   19515              :                                     {
   19516            1 :                                       {
   19517            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19518            1 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTLL);
   19519            1 :                                         if (res) return res;
   19520              :                                       }
   19521              :                                     }
   19522              :                                 }
   19523              :                               break;
   19524              :                             }
   19525            1 :                           default:;
   19526              :                           }
   19527            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19528              :                           {
   19529            0 :                             if (integer_zerop (_p2))
   19530              :                               {
   19531            0 :                                 {
   19532            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19533            0 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTLL);
   19534            0 :                                   if (res) return res;
   19535              :                                 }
   19536              :                               }
   19537              :                           }
   19538              :                       }
   19539              :                     break;
   19540            0 :                   case CFN_POPCOUNT:
   19541            0 :                     if (call_expr_nargs (_p1) == 1)
   19542              :     {
   19543            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19544            0 :                         switch (TREE_CODE (_q50))
   19545              :                           {
   19546            0 :                           CASE_CONVERT:
   19547            0 :                             {
   19548            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19549            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19550              :                                 {
   19551            0 :                                   if (integer_zerop (_p2))
   19552              :                                     {
   19553            0 :                                       {
   19554            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19555            0 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_POPCOUNT);
   19556            0 :                                         if (res) return res;
   19557              :                                       }
   19558              :                                     }
   19559              :                                 }
   19560              :                               break;
   19561              :                             }
   19562            0 :                           default:;
   19563              :                           }
   19564            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19565              :                           {
   19566            0 :                             if (integer_zerop (_p2))
   19567              :                               {
   19568            0 :                                 {
   19569            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19570            0 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_POPCOUNT);
   19571            0 :                                   if (res) return res;
   19572              :                                 }
   19573              :                               }
   19574              :                           }
   19575              :                       }
   19576              :                     break;
   19577            0 :                   case CFN_BUILT_IN_PARITYIMAX:
   19578            0 :                     if (call_expr_nargs (_p1) == 1)
   19579              :     {
   19580            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19581            0 :                         switch (TREE_CODE (_q50))
   19582              :                           {
   19583            0 :                           CASE_CONVERT:
   19584            0 :                             {
   19585            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19586            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19587              :                                 {
   19588            0 :                                   if (integer_zerop (_p2))
   19589              :                                     {
   19590            0 :                                       {
   19591            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19592            0 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYIMAX);
   19593            0 :                                         if (res) return res;
   19594              :                                       }
   19595              :                                     }
   19596              :                                 }
   19597              :                               break;
   19598              :                             }
   19599            0 :                           default:;
   19600              :                           }
   19601            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19602              :                           {
   19603            0 :                             if (integer_zerop (_p2))
   19604              :                               {
   19605            0 :                                 {
   19606            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19607            0 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYIMAX);
   19608            0 :                                   if (res) return res;
   19609              :                                 }
   19610              :                               }
   19611              :                           }
   19612              :                       }
   19613              :                     break;
   19614            2 :                   case CFN_BUILT_IN_CLRSBL:
   19615            2 :                     if (call_expr_nargs (_p1) == 1)
   19616              :     {
   19617            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19618            2 :                         switch (TREE_CODE (_q50))
   19619              :                           {
   19620            0 :                           CASE_CONVERT:
   19621            0 :                             {
   19622            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19623            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19624              :                                 {
   19625            0 :                                   switch (TREE_CODE (_p2))
   19626              :                                     {
   19627            0 :                                     case INTEGER_CST:
   19628            0 :                                       {
   19629            0 :                                         {
   19630            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19631            0 :                                           tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBL);
   19632            0 :                                           if (res) return res;
   19633              :                                         }
   19634            0 :                                         break;
   19635              :                                       }
   19636              :                                     default:;
   19637              :                                     }
   19638              :                                 }
   19639              :                               break;
   19640              :                             }
   19641            2 :                           default:;
   19642              :                           }
   19643            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19644              :                           {
   19645            1 :                             switch (TREE_CODE (_p2))
   19646              :                               {
   19647            1 :                               case INTEGER_CST:
   19648            1 :                                 {
   19649            1 :                                   {
   19650            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19651            1 :                                     tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBL);
   19652            1 :                                     if (res) return res;
   19653              :                                   }
   19654            0 :                                   break;
   19655              :                                 }
   19656              :                               default:;
   19657              :                               }
   19658              :                           }
   19659              :                       }
   19660              :                     break;
   19661            0 :                   case CFN_FFS:
   19662            0 :                     if (call_expr_nargs (_p1) == 1)
   19663              :     {
   19664            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19665            0 :                         switch (TREE_CODE (_q50))
   19666              :                           {
   19667            0 :                           CASE_CONVERT:
   19668            0 :                             {
   19669            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19670            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19671              :                                 {
   19672            0 :                                   if (integer_zerop (_p2))
   19673              :                                     {
   19674            0 :                                       {
   19675            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19676            0 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_FFS);
   19677            0 :                                         if (res) return res;
   19678              :                                       }
   19679              :                                     }
   19680              :                                 }
   19681              :                               break;
   19682              :                             }
   19683            0 :                           default:;
   19684              :                           }
   19685            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19686              :                           {
   19687            0 :                             if (integer_zerop (_p2))
   19688              :                               {
   19689            0 :                                 {
   19690            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19691            0 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_FFS);
   19692            0 :                                   if (res) return res;
   19693              :                                 }
   19694              :                               }
   19695              :                           }
   19696              :                       }
   19697              :                     break;
   19698            2 :                   case CFN_BUILT_IN_PARITY:
   19699            2 :                     if (call_expr_nargs (_p1) == 1)
   19700              :     {
   19701            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19702            2 :                         switch (TREE_CODE (_q50))
   19703              :                           {
   19704            1 :                           CASE_CONVERT:
   19705            1 :                             {
   19706            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19707            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19708              :                                 {
   19709            1 :                                   if (integer_zerop (_p2))
   19710              :                                     {
   19711            1 :                                       {
   19712            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19713            1 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITY);
   19714            1 :                                         if (res) return res;
   19715              :                                       }
   19716              :                                     }
   19717              :                                 }
   19718              :                               break;
   19719              :                             }
   19720            1 :                           default:;
   19721              :                           }
   19722            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19723              :                           {
   19724            0 :                             if (integer_zerop (_p2))
   19725              :                               {
   19726            0 :                                 {
   19727            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19728            0 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITY);
   19729            0 :                                   if (res) return res;
   19730              :                                 }
   19731              :                               }
   19732              :                           }
   19733              :                       }
   19734              :                     break;
   19735            0 :                   case CFN_BUILT_IN_POPCOUNTIMAX:
   19736            0 :                     if (call_expr_nargs (_p1) == 1)
   19737              :     {
   19738            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19739            0 :                         switch (TREE_CODE (_q50))
   19740              :                           {
   19741            0 :                           CASE_CONVERT:
   19742            0 :                             {
   19743            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19744            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19745              :                                 {
   19746            0 :                                   if (integer_zerop (_p2))
   19747              :                                     {
   19748            0 :                                       {
   19749            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19750            0 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTIMAX);
   19751            0 :                                         if (res) return res;
   19752              :                                       }
   19753              :                                     }
   19754              :                                 }
   19755              :                               break;
   19756              :                             }
   19757            0 :                           default:;
   19758              :                           }
   19759            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19760              :                           {
   19761            0 :                             if (integer_zerop (_p2))
   19762              :                               {
   19763            0 :                                 {
   19764            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19765            0 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTIMAX);
   19766            0 :                                   if (res) return res;
   19767              :                                 }
   19768              :                               }
   19769              :                           }
   19770              :                       }
   19771              :                     break;
   19772            0 :                   case CFN_BUILT_IN_CLRSBIMAX:
   19773            0 :                     if (call_expr_nargs (_p1) == 1)
   19774              :     {
   19775            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19776            0 :                         switch (TREE_CODE (_q50))
   19777              :                           {
   19778            0 :                           CASE_CONVERT:
   19779            0 :                             {
   19780            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19781            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19782              :                                 {
   19783            0 :                                   switch (TREE_CODE (_p2))
   19784              :                                     {
   19785            0 :                                     case INTEGER_CST:
   19786            0 :                                       {
   19787            0 :                                         {
   19788            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19789            0 :                                           tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBIMAX);
   19790            0 :                                           if (res) return res;
   19791              :                                         }
   19792            0 :                                         break;
   19793              :                                       }
   19794              :                                     default:;
   19795              :                                     }
   19796              :                                 }
   19797              :                               break;
   19798              :                             }
   19799            0 :                           default:;
   19800              :                           }
   19801            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19802              :                           {
   19803            0 :                             switch (TREE_CODE (_p2))
   19804              :                               {
   19805            0 :                               case INTEGER_CST:
   19806            0 :                                 {
   19807            0 :                                   {
   19808            0 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19809            0 :                                     tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBIMAX);
   19810            0 :                                     if (res) return res;
   19811              :                                   }
   19812            0 :                                   break;
   19813              :                                 }
   19814              :                               default:;
   19815              :                               }
   19816              :                           }
   19817              :                       }
   19818              :                     break;
   19819            2 :                   case CFN_BUILT_IN_CLRSBLL:
   19820            2 :                     if (call_expr_nargs (_p1) == 1)
   19821              :     {
   19822            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19823            2 :                         switch (TREE_CODE (_q50))
   19824              :                           {
   19825            0 :                           CASE_CONVERT:
   19826            0 :                             {
   19827            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19828            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19829              :                                 {
   19830            0 :                                   switch (TREE_CODE (_p2))
   19831              :                                     {
   19832            0 :                                     case INTEGER_CST:
   19833            0 :                                       {
   19834            0 :                                         {
   19835            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19836            0 :                                           tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBLL);
   19837            0 :                                           if (res) return res;
   19838              :                                         }
   19839            0 :                                         break;
   19840              :                                       }
   19841              :                                     default:;
   19842              :                                     }
   19843              :                                 }
   19844              :                               break;
   19845              :                             }
   19846            2 :                           default:;
   19847              :                           }
   19848            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19849              :                           {
   19850            1 :                             switch (TREE_CODE (_p2))
   19851              :                               {
   19852            1 :                               case INTEGER_CST:
   19853            1 :                                 {
   19854            1 :                                   {
   19855            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19856            1 :                                     tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBLL);
   19857            1 :                                     if (res) return res;
   19858              :                                   }
   19859            0 :                                   break;
   19860              :                                 }
   19861              :                               default:;
   19862              :                               }
   19863              :                           }
   19864              :                       }
   19865              :                     break;
   19866            0 :                   case CFN_BSWAP:
   19867            0 :                     if (call_expr_nargs (_p1) == 1)
   19868              :     {
   19869            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19870            0 :                         switch (TREE_CODE (_q50))
   19871              :                           {
   19872            0 :                           CASE_CONVERT:
   19873            0 :                             {
   19874            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19875            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19876              :                                 {
   19877            0 :                                   if (integer_zerop (_p2))
   19878              :                                     {
   19879            0 :                                       {
   19880            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19881            0 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BSWAP);
   19882            0 :                                         if (res) return res;
   19883              :                                       }
   19884              :                                     }
   19885              :                                 }
   19886              :                               break;
   19887              :                             }
   19888            0 :                           default:;
   19889              :                           }
   19890            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19891              :                           {
   19892            0 :                             if (integer_zerop (_p2))
   19893              :                               {
   19894            0 :                                 {
   19895            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19896            0 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BSWAP);
   19897            0 :                                   if (res) return res;
   19898              :                                 }
   19899              :                               }
   19900              :                           }
   19901              :                       }
   19902              :                     break;
   19903            0 :                   case CFN_CLRSB:
   19904            0 :                     if (call_expr_nargs (_p1) == 1)
   19905              :     {
   19906            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19907            0 :                         switch (TREE_CODE (_q50))
   19908              :                           {
   19909            0 :                           CASE_CONVERT:
   19910            0 :                             {
   19911            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19912            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19913              :                                 {
   19914            0 :                                   switch (TREE_CODE (_p2))
   19915              :                                     {
   19916            0 :                                     case INTEGER_CST:
   19917            0 :                                       {
   19918            0 :                                         {
   19919            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19920            0 :                                           tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_CLRSB);
   19921            0 :                                           if (res) return res;
   19922              :                                         }
   19923            0 :                                         break;
   19924              :                                       }
   19925              :                                     default:;
   19926              :                                     }
   19927              :                                 }
   19928              :                               break;
   19929              :                             }
   19930            0 :                           default:;
   19931              :                           }
   19932            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19933              :                           {
   19934            0 :                             switch (TREE_CODE (_p2))
   19935              :                               {
   19936            0 :                               case INTEGER_CST:
   19937            0 :                                 {
   19938            0 :                                   {
   19939            0 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19940            0 :                                     tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, CFN_CLRSB);
   19941            0 :                                     if (res) return res;
   19942              :                                   }
   19943            0 :                                   break;
   19944              :                                 }
   19945              :                               default:;
   19946              :                               }
   19947              :                           }
   19948              :                       }
   19949              :                     break;
   19950            0 :                   case CFN_BUILT_IN_BSWAP128:
   19951            0 :                     if (call_expr_nargs (_p1) == 1)
   19952              :     {
   19953            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19954            0 :                         switch (TREE_CODE (_q50))
   19955              :                           {
   19956            0 :                           CASE_CONVERT:
   19957            0 :                             {
   19958            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19959            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19960              :                                 {
   19961            0 :                                   if (integer_zerop (_p2))
   19962              :                                     {
   19963            0 :                                       {
   19964            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19965            0 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP128);
   19966            0 :                                         if (res) return res;
   19967              :                                       }
   19968              :                                     }
   19969              :                                 }
   19970              :                               break;
   19971              :                             }
   19972            0 :                           default:;
   19973              :                           }
   19974            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19975              :                           {
   19976            0 :                             if (integer_zerop (_p2))
   19977              :                               {
   19978            0 :                                 {
   19979            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19980            0 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP128);
   19981            0 :                                   if (res) return res;
   19982              :                                 }
   19983              :                               }
   19984              :                           }
   19985              :                       }
   19986              :                     break;
   19987            2 :                   case CFN_BUILT_IN_POPCOUNTL:
   19988            2 :                     if (call_expr_nargs (_p1) == 1)
   19989              :     {
   19990            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19991            2 :                         switch (TREE_CODE (_q50))
   19992              :                           {
   19993            1 :                           CASE_CONVERT:
   19994            1 :                             {
   19995            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19996            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19997              :                                 {
   19998            1 :                                   if (integer_zerop (_p2))
   19999              :                                     {
   20000            1 :                                       {
   20001            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20002            1 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTL);
   20003            1 :                                         if (res) return res;
   20004              :                                       }
   20005              :                                     }
   20006              :                                 }
   20007              :                               break;
   20008              :                             }
   20009            1 :                           default:;
   20010              :                           }
   20011            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20012              :                           {
   20013            0 :                             if (integer_zerop (_p2))
   20014              :                               {
   20015            0 :                                 {
   20016            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20017            0 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTL);
   20018            0 :                                   if (res) return res;
   20019              :                                 }
   20020              :                               }
   20021              :                           }
   20022              :                       }
   20023              :                     break;
   20024            2 :                   case CFN_BUILT_IN_CLRSB:
   20025            2 :                     if (call_expr_nargs (_p1) == 1)
   20026              :     {
   20027            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20028            2 :                         switch (TREE_CODE (_q50))
   20029              :                           {
   20030            0 :                           CASE_CONVERT:
   20031            0 :                             {
   20032            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20033            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20034              :                                 {
   20035            0 :                                   switch (TREE_CODE (_p2))
   20036              :                                     {
   20037            0 :                                     case INTEGER_CST:
   20038            0 :                                       {
   20039            0 :                                         {
   20040            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20041            0 :                                           tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSB);
   20042            0 :                                           if (res) return res;
   20043              :                                         }
   20044            0 :                                         break;
   20045              :                                       }
   20046              :                                     default:;
   20047              :                                     }
   20048              :                                 }
   20049              :                               break;
   20050              :                             }
   20051            2 :                           default:;
   20052              :                           }
   20053            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20054              :                           {
   20055            1 :                             switch (TREE_CODE (_p2))
   20056              :                               {
   20057            1 :                               case INTEGER_CST:
   20058            1 :                                 {
   20059            1 :                                   {
   20060            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20061            1 :                                     tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSB);
   20062            1 :                                     if (res) return res;
   20063              :                                   }
   20064            0 :                                   break;
   20065              :                                 }
   20066              :                               default:;
   20067              :                               }
   20068              :                           }
   20069              :                       }
   20070              :                     break;
   20071            0 :                   case CFN_BUILT_IN_FFSLL:
   20072            0 :                     if (call_expr_nargs (_p1) == 1)
   20073              :     {
   20074            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20075            0 :                         switch (TREE_CODE (_q50))
   20076              :                           {
   20077            0 :                           CASE_CONVERT:
   20078            0 :                             {
   20079            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20080            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20081              :                                 {
   20082            0 :                                   if (integer_zerop (_p2))
   20083              :                                     {
   20084            0 :                                       {
   20085            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20086            0 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSLL);
   20087            0 :                                         if (res) return res;
   20088              :                                       }
   20089              :                                     }
   20090              :                                 }
   20091              :                               break;
   20092              :                             }
   20093            0 :                           default:;
   20094              :                           }
   20095            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20096              :                           {
   20097            0 :                             if (integer_zerop (_p2))
   20098              :                               {
   20099            0 :                                 {
   20100            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20101            0 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSLL);
   20102            0 :                                   if (res) return res;
   20103              :                                 }
   20104              :                               }
   20105              :                           }
   20106              :                       }
   20107              :                     break;
   20108            2 :                   case CFN_BUILT_IN_PARITYLL:
   20109            2 :                     if (call_expr_nargs (_p1) == 1)
   20110              :     {
   20111            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20112            2 :                         switch (TREE_CODE (_q50))
   20113              :                           {
   20114            1 :                           CASE_CONVERT:
   20115            1 :                             {
   20116            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20117            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20118              :                                 {
   20119            1 :                                   if (integer_zerop (_p2))
   20120              :                                     {
   20121            1 :                                       {
   20122            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20123            1 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYLL);
   20124            1 :                                         if (res) return res;
   20125              :                                       }
   20126              :                                     }
   20127              :                                 }
   20128              :                               break;
   20129              :                             }
   20130            1 :                           default:;
   20131              :                           }
   20132            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20133              :                           {
   20134            0 :                             if (integer_zerop (_p2))
   20135              :                               {
   20136            0 :                                 {
   20137            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20138            0 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYLL);
   20139            0 :                                   if (res) return res;
   20140              :                                 }
   20141              :                               }
   20142              :                           }
   20143              :                       }
   20144              :                     break;
   20145            3 :                   case CFN_BUILT_IN_BSWAP16:
   20146            3 :                     if (call_expr_nargs (_p1) == 1)
   20147              :     {
   20148            3 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20149            3 :                         switch (TREE_CODE (_q50))
   20150              :                           {
   20151            0 :                           CASE_CONVERT:
   20152            0 :                             {
   20153            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20154            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20155              :                                 {
   20156            0 :                                   if (integer_zerop (_p2))
   20157              :                                     {
   20158            0 :                                       {
   20159            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20160            0 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP16);
   20161            0 :                                         if (res) return res;
   20162              :                                       }
   20163              :                                     }
   20164              :                                 }
   20165              :                               break;
   20166              :                             }
   20167            3 :                           default:;
   20168              :                           }
   20169            3 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20170              :                           {
   20171            1 :                             if (integer_zerop (_p2))
   20172              :                               {
   20173            1 :                                 {
   20174            1 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20175            1 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP16);
   20176            1 :                                   if (res) return res;
   20177              :                                 }
   20178              :                               }
   20179              :                           }
   20180              :                       }
   20181              :                     break;
   20182            2 :                   case CFN_BUILT_IN_BSWAP32:
   20183            2 :                     if (call_expr_nargs (_p1) == 1)
   20184              :     {
   20185            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20186            2 :                         switch (TREE_CODE (_q50))
   20187              :                           {
   20188            0 :                           CASE_CONVERT:
   20189            0 :                             {
   20190            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20191            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20192              :                                 {
   20193            0 :                                   if (integer_zerop (_p2))
   20194              :                                     {
   20195            0 :                                       {
   20196            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20197            0 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP32);
   20198            0 :                                         if (res) return res;
   20199              :                                       }
   20200              :                                     }
   20201              :                                 }
   20202              :                               break;
   20203              :                             }
   20204            2 :                           default:;
   20205              :                           }
   20206            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20207              :                           {
   20208            1 :                             if (integer_zerop (_p2))
   20209              :                               {
   20210            1 :                                 {
   20211            1 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20212            1 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP32);
   20213            1 :                                   if (res) return res;
   20214              :                                 }
   20215              :                               }
   20216              :                           }
   20217              :                       }
   20218              :                     break;
   20219            2 :                   case CFN_BUILT_IN_BSWAP64:
   20220            2 :                     if (call_expr_nargs (_p1) == 1)
   20221              :     {
   20222            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20223            2 :                         switch (TREE_CODE (_q50))
   20224              :                           {
   20225            1 :                           CASE_CONVERT:
   20226            1 :                             {
   20227            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20228            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20229              :                                 {
   20230            1 :                                   if (integer_zerop (_p2))
   20231              :                                     {
   20232            1 :                                       {
   20233            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20234            1 :                                         tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP64);
   20235            1 :                                         if (res) return res;
   20236              :                                       }
   20237              :                                     }
   20238              :                                 }
   20239              :                               break;
   20240              :                             }
   20241            1 :                           default:;
   20242              :                           }
   20243            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20244              :                           {
   20245            0 :                             if (integer_zerop (_p2))
   20246              :                               {
   20247            0 :                                 {
   20248            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20249            0 :                                   tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP64);
   20250            0 :                                   if (res) return res;
   20251              :                                 }
   20252              :                               }
   20253              :                           }
   20254              :                       }
   20255              :                     break;
   20256              :                   default:;
   20257              :                   }
   20258              :                 break;
   20259      1852814 :               default:;
   20260              :               }
   20261      1852814 :           {
   20262      1852814 :             tree _p1_pops[1];
   20263      1852814 :             if (tree_nop_convert (_p1, _p1_pops))
   20264              :               {
   20265       157848 :                 tree _q50 = _p1_pops[0];
   20266       157848 :                 switch (TREE_CODE (_q50))
   20267              :                   {
   20268          339 :                   case PLUS_EXPR:
   20269          339 :                     {
   20270          339 :                       tree _q60 = TREE_OPERAND (_q50, 0);
   20271          339 :                       tree _q61 = TREE_OPERAND (_q50, 1);
   20272          339 :                       {
   20273          339 :                         tree _q60_pops[1];
   20274          339 :                         if (tree_nop_convert (_q60, _q60_pops))
   20275              :                           {
   20276           52 :                             tree _q70 = _q60_pops[0];
   20277           52 :                             if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   20278              :                               {
   20279            2 :                                 if (integer_all_onesp (_q61))
   20280              :                                   {
   20281            2 :                                     if (integer_zerop (_p2))
   20282              :                                       {
   20283            2 :                                         {
   20284            2 :                                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q60 };
   20285            2 :                                           tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures);
   20286            2 :                                           if (res) return res;
   20287              :                                         }
   20288              :                                       }
   20289              :                                   }
   20290              :                               }
   20291              :                           }
   20292              :                       }
   20293          337 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20294              :                         {
   20295           14 :                           if (integer_all_onesp (_q61))
   20296              :                             {
   20297            0 :                               if (integer_zerop (_p2))
   20298              :                                 {
   20299            0 :                                   {
   20300            0 :                                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q60 };
   20301            0 :                                     tree res = generic_simplify_374 (loc, type, _p0, _p1, _p2, captures);
   20302            0 :                                     if (res) return res;
   20303              :                                   }
   20304              :                                 }
   20305              :                             }
   20306              :                         }
   20307              :                       break;
   20308              :                     }
   20309              :                   default:;
   20310              :                   }
   20311              :               }
   20312              :           }
   20313              :           }
   20314              :         break;
   20315              :       }
   20316            7 :     case LTGT_EXPR:
   20317            7 :       {
   20318            7 :         tree _q20 = TREE_OPERAND (_p0, 0);
   20319            7 :         tree _q21 = TREE_OPERAND (_p0, 1);
   20320            7 :         if (zerop (_q21))
   20321              :           {
   20322            0 :             switch (TREE_CODE (_p2))
   20323              :               {
   20324            0 :               case NEGATE_EXPR:
   20325            0 :                 {
   20326            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20327            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20328              :                     {
   20329            0 :                       {
   20330            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   20331            0 :                         const enum tree_code cmp = LTGT_EXPR;
   20332            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   20333            0 :  && bitwise_equal_p (captures[0], captures[1])
   20334              : )
   20335              :                           {
   20336            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1859;
   20337            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1859;
   20338            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1859;
   20339            0 :                             {
   20340            0 :                               tree _r;
   20341            0 :                               _r = captures[1];
   20342            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1064, __FILE__, __LINE__, true);
   20343            0 :                               return _r;
   20344              :                             }
   20345            0 : next_after_fail1859:;
   20346              :                           }
   20347              :                       }
   20348              :                     }
   20349              :                   break;
   20350              :                 }
   20351            0 :               default:;
   20352              :               }
   20353            0 :           if (integer_zerop (_p2))
   20354              :             {
   20355            0 :               {
   20356            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   20357            0 :                 const enum tree_code cmp = LTGT_EXPR;
   20358            0 :                 if (!HONOR_SIGNED_ZEROS (type)
   20359            0 :  && bitwise_equal_p (captures[0], captures[1])
   20360              : )
   20361              :                   {
   20362            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1860;
   20363            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1860;
   20364            0 :                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1860;
   20365            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1860;
   20366            0 :                     {
   20367            0 :                       tree _r;
   20368            0 :                       _r = captures[1];
   20369            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   20370            0 :                       return _r;
   20371              :                     }
   20372            0 : next_after_fail1860:;
   20373              :                   }
   20374              :               }
   20375              :             }
   20376              :           }
   20377            7 :         switch (TREE_CODE (_q20))
   20378              :           {
   20379            0 :           case MINUS_EXPR:
   20380            0 :             {
   20381            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20382            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   20383            0 :               if (zerop (_q21))
   20384              :                 {
   20385            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20386              :                     {
   20387            0 :                       switch (TREE_CODE (_p2))
   20388              :                         {
   20389            0 :                         case MINUS_EXPR:
   20390            0 :                           {
   20391            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   20392            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   20393            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   20394              :                               {
   20395            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   20396              :                                   {
   20397            0 :                                     {
   20398            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20399            0 :                                       const enum tree_code cmp = LTGT_EXPR;
   20400            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   20401              : )
   20402              :                                         {
   20403            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1861;
   20404            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1861;
   20405            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1861;
   20406            0 :                                           {
   20407            0 :                                             tree _r;
   20408            0 :                                             _r = captures[0];
   20409            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   20410            0 :                                             return _r;
   20411              :                                           }
   20412            0 : next_after_fail1861:;
   20413              :                                         }
   20414              :                                     }
   20415              :                                   }
   20416              :                               }
   20417              :                             break;
   20418              :                           }
   20419              :                         default:;
   20420              :                         }
   20421              :                     }
   20422              :                 }
   20423            0 :               if (integer_zerop (_q21))
   20424              :                 {
   20425            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20426              :                     {
   20427            0 :                       if (integer_zerop (_p2))
   20428              :                         {
   20429            0 :                           {
   20430            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20431            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, LTGT_EXPR);
   20432            0 :                             if (res) return res;
   20433              :                           }
   20434              :                         }
   20435              :                     }
   20436              :                 }
   20437              :               break;
   20438              :             }
   20439              :           default:;
   20440              :           }
   20441              :         break;
   20442              :       }
   20443       532673 :     case GE_EXPR:
   20444       532673 :       {
   20445       532673 :         tree _q20 = TREE_OPERAND (_p0, 0);
   20446       532673 :         tree _q21 = TREE_OPERAND (_p0, 1);
   20447       532673 :         switch (TREE_CODE (_q20))
   20448              :           {
   20449        56306 :           CASE_CONVERT:
   20450        56306 :             {
   20451        56306 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20452        56306 :               if (zerop (_q21))
   20453              :                 {
   20454        25417 :                   switch (TREE_CODE (_p2))
   20455              :                     {
   20456           13 :                     case NEGATE_EXPR:
   20457           13 :                       {
   20458           13 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   20459           13 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   20460              :                           {
   20461           13 :                             {
   20462           13 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   20463           13 :                               const enum tree_code cmp = GE_EXPR;
   20464           13 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20465           13 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20466            0 :  && element_precision (captures[1])
   20467            0 :  <= element_precision (captures[0])
   20468            0 :  && bitwise_equal_p (captures[1], captures[2])
   20469           13 :  && (!VECTOR_TYPE_P (type)
   20470            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20471              : )
   20472              :                                 {
   20473            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20474              : )
   20475              :                                     {
   20476            0 :                                       {
   20477            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20478            0 :                                           if (types_match (captures[0], stype)
   20479              : )
   20480              :                                             {
   20481            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1862;
   20482            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1862;
   20483            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1862;
   20484            0 :                                               {
   20485            0 :                                                 tree res_op0;
   20486            0 :                                                 res_op0 = captures[0];
   20487            0 :                                                 tree _r;
   20488            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20489            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   20490            0 :                                                 return _r;
   20491              :                                               }
   20492           13 : next_after_fail1862:;
   20493              :                                             }
   20494              :                                           else
   20495              :                                             {
   20496            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1863;
   20497            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1863;
   20498            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1863;
   20499            0 :                                               {
   20500            0 :                                                 tree res_op0;
   20501            0 :                                                 {
   20502            0 :                                                   tree _o1[1], _r1;
   20503            0 :                                                   _o1[0] = captures[2];
   20504            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   20505              :                                                     {
   20506            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   20507              :                                                     }
   20508              :                                                   else
   20509              :                                                     _r1 = _o1[0];
   20510            0 :                                                   res_op0 = _r1;
   20511              :                                                 }
   20512            0 :                                                 tree _r;
   20513            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20514            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   20515            0 :                                                 return _r;
   20516              :                                               }
   20517           13 : next_after_fail1863:;
   20518              :                                             }
   20519              :                                       }
   20520              :                                     }
   20521              :                                   else
   20522              :                                     {
   20523            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1864;
   20524            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1864;
   20525            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1864;
   20526            0 :                                       {
   20527            0 :                                         tree res_op0;
   20528            0 :                                         res_op0 = captures[2];
   20529            0 :                                         tree _r;
   20530            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20531            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   20532            0 :                                         return _r;
   20533              :                                       }
   20534           13 : next_after_fail1864:;
   20535              :                                     }
   20536              :                                 }
   20537              :                             }
   20538              :                           }
   20539              :                         break;
   20540              :                       }
   20541              :                     default:;
   20542              :                     }
   20543              :                 }
   20544              :               break;
   20545              :             }
   20546       532673 :           default:;
   20547              :           }
   20548       532673 :         if (zerop (_q21))
   20549              :           {
   20550       143263 :             switch (TREE_CODE (_p2))
   20551              :               {
   20552        30861 :               case NEGATE_EXPR:
   20553        30861 :                 {
   20554        30861 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20555        30861 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20556              :                     {
   20557        30855 :                       {
   20558        30855 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   20559        30855 :                         const enum tree_code cmp = GE_EXPR;
   20560        30855 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20561        30847 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20562        61694 :  && element_precision (captures[1])
   20563        30847 :  <= element_precision (captures[0])
   20564        30847 :  && bitwise_equal_p (captures[1], captures[2])
   20565        61604 :  && (!VECTOR_TYPE_P (type)
   20566            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20567              : )
   20568              :                           {
   20569        30749 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20570              : )
   20571              :                               {
   20572           46 :                                 {
   20573           46 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20574           46 :                                     if (types_match (captures[0], stype)
   20575              : )
   20576              :                                       {
   20577           13 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1865;
   20578           13 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1865;
   20579           13 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1865;
   20580           13 :                                         {
   20581           13 :                                           tree res_op0;
   20582           13 :                                           res_op0 = captures[0];
   20583           13 :                                           tree _r;
   20584           13 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20585           13 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   20586           13 :                                           return _r;
   20587              :                                         }
   20588          106 : next_after_fail1865:;
   20589              :                                       }
   20590              :                                     else
   20591              :                                       {
   20592           33 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1866;
   20593           33 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1866;
   20594           33 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1866;
   20595           33 :                                         {
   20596           33 :                                           tree res_op0;
   20597           33 :                                           {
   20598           33 :                                             tree _o1[1], _r1;
   20599           33 :                                             _o1[0] = captures[2];
   20600           33 :                                             if (TREE_TYPE (_o1[0]) != stype)
   20601              :                                               {
   20602           33 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   20603              :                                               }
   20604              :                                             else
   20605              :                                               _r1 = _o1[0];
   20606           33 :                                             res_op0 = _r1;
   20607              :                                           }
   20608           33 :                                           tree _r;
   20609           33 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20610           33 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   20611           33 :                                           return _r;
   20612              :                                         }
   20613          106 : next_after_fail1866:;
   20614              :                                       }
   20615              :                                 }
   20616              :                               }
   20617              :                             else
   20618              :                               {
   20619        30703 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1867;
   20620        30703 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1867;
   20621        30703 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1867;
   20622        30703 :                                 {
   20623        30703 :                                   tree res_op0;
   20624        30703 :                                   res_op0 = captures[2];
   20625        30703 :                                   tree _r;
   20626        30703 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20627        30703 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   20628        30703 :                                   return _r;
   20629              :                                 }
   20630          106 : next_after_fail1867:;
   20631              :                               }
   20632              :                           }
   20633              :                       }
   20634              :                     }
   20635              :                   break;
   20636              :                 }
   20637              :               default:;
   20638              :               }
   20639              :           }
   20640       501924 :         switch (TREE_CODE (_q20))
   20641              :           {
   20642        31911 :           case MINUS_EXPR:
   20643        31911 :             {
   20644        31911 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20645        31911 :               tree _q31 = TREE_OPERAND (_q20, 1);
   20646        31911 :               if (zerop (_q21))
   20647              :                 {
   20648        31123 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20649              :                     {
   20650            1 :                       switch (TREE_CODE (_p2))
   20651              :                         {
   20652            1 :                         case MINUS_EXPR:
   20653            1 :                           {
   20654            1 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   20655            1 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   20656            1 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   20657              :                               {
   20658            1 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   20659              :                                   {
   20660            1 :                                     {
   20661            1 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20662            1 :                                       const enum tree_code cmp = GE_EXPR;
   20663            1 :                                       if (!HONOR_SIGNED_ZEROS (type)
   20664            1 :  && !TYPE_UNSIGNED (type)
   20665            2 :  && (!VECTOR_TYPE_P (type)
   20666            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20667              : )
   20668              :                                         {
   20669            1 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1868;
   20670            1 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1868;
   20671            1 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1868;
   20672            1 :                                           {
   20673            1 :                                             tree res_op0;
   20674            1 :                                             res_op0 = captures[0];
   20675            1 :                                             tree _r;
   20676            1 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20677            1 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   20678            1 :                                             return _r;
   20679              :                                           }
   20680            0 : next_after_fail1868:;
   20681              :                                         }
   20682              :                                     }
   20683              :                                   }
   20684              :                               }
   20685              :                             break;
   20686              :                           }
   20687              :                         default:;
   20688              :                         }
   20689              :                     }
   20690              :                 }
   20691              :               break;
   20692              :             }
   20693       501923 :           default:;
   20694              :           }
   20695       501923 :         if (integer_zerop (_q21))
   20696              :           {
   20697       111962 :             switch (TREE_CODE (_p1))
   20698              :               {
   20699           65 :               case BIT_NOT_EXPR:
   20700           65 :                 {
   20701           65 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   20702           65 :                   if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   20703              :                     {
   20704            9 :                       {
   20705            9 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   20706            9 :                         tree res = generic_simplify_375 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   20707            9 :                         if (res) return res;
   20708              :                       }
   20709              :                     }
   20710              :                   break;
   20711              :                 }
   20712       111953 :               default:;
   20713              :               }
   20714       111953 :             switch (TREE_CODE (_p2))
   20715              :               {
   20716           34 :               case BIT_NOT_EXPR:
   20717           34 :                 {
   20718           34 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20719           34 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20720              :                     {
   20721            9 :                       {
   20722            9 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   20723            9 :                         tree res = generic_simplify_376 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   20724            9 :                         if (res) return res;
   20725              :                       }
   20726              :                     }
   20727              :                   break;
   20728              :                 }
   20729              :               default:;
   20730              :               }
   20731              :           }
   20732              :         break;
   20733              :       }
   20734       893880 :     case GT_EXPR:
   20735       893880 :       {
   20736       893880 :         tree _q20 = TREE_OPERAND (_p0, 0);
   20737       893880 :         tree _q21 = TREE_OPERAND (_p0, 1);
   20738       893880 :         switch (TREE_CODE (_q20))
   20739              :           {
   20740        85505 :           CASE_CONVERT:
   20741        85505 :             {
   20742        85505 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20743        85505 :               if (zerop (_q21))
   20744              :                 {
   20745         1450 :                   switch (TREE_CODE (_p2))
   20746              :                     {
   20747            4 :                     case NEGATE_EXPR:
   20748            4 :                       {
   20749            4 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   20750            4 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   20751              :                           {
   20752            0 :                             {
   20753            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   20754            0 :                               const enum tree_code cmp = GT_EXPR;
   20755            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20756            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20757            0 :  && element_precision (captures[1])
   20758            0 :  <= element_precision (captures[0])
   20759            0 :  && bitwise_equal_p (captures[1], captures[2])
   20760            0 :  && (!VECTOR_TYPE_P (type)
   20761            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20762              : )
   20763              :                                 {
   20764            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20765              : )
   20766              :                                     {
   20767            0 :                                       {
   20768            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20769            0 :                                           if (types_match (captures[0], stype)
   20770              : )
   20771              :                                             {
   20772            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1869;
   20773            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1869;
   20774            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1869;
   20775            0 :                                               {
   20776            0 :                                                 tree res_op0;
   20777            0 :                                                 res_op0 = captures[0];
   20778            0 :                                                 tree _r;
   20779            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20780            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   20781            0 :                                                 return _r;
   20782              :                                               }
   20783            0 : next_after_fail1869:;
   20784              :                                             }
   20785              :                                           else
   20786              :                                             {
   20787            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1870;
   20788            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1870;
   20789            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1870;
   20790            0 :                                               {
   20791            0 :                                                 tree res_op0;
   20792            0 :                                                 {
   20793            0 :                                                   tree _o1[1], _r1;
   20794            0 :                                                   _o1[0] = captures[2];
   20795            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   20796              :                                                     {
   20797            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   20798              :                                                     }
   20799              :                                                   else
   20800              :                                                     _r1 = _o1[0];
   20801            0 :                                                   res_op0 = _r1;
   20802              :                                                 }
   20803            0 :                                                 tree _r;
   20804            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20805            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   20806            0 :                                                 return _r;
   20807              :                                               }
   20808            0 : next_after_fail1870:;
   20809              :                                             }
   20810              :                                       }
   20811              :                                     }
   20812              :                                   else
   20813              :                                     {
   20814            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1871;
   20815            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1871;
   20816            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1871;
   20817            0 :                                       {
   20818            0 :                                         tree res_op0;
   20819            0 :                                         res_op0 = captures[2];
   20820            0 :                                         tree _r;
   20821            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20822            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   20823            0 :                                         return _r;
   20824              :                                       }
   20825            0 : next_after_fail1871:;
   20826              :                                     }
   20827              :                                 }
   20828              :                             }
   20829              :                           }
   20830              :                         break;
   20831              :                       }
   20832              :                     default:;
   20833              :                     }
   20834              :                 }
   20835              :               break;
   20836              :             }
   20837       893880 :           default:;
   20838              :           }
   20839       893880 :         if (zerop (_q21))
   20840              :           {
   20841       198442 :             switch (TREE_CODE (_p2))
   20842              :               {
   20843          295 :               case NEGATE_EXPR:
   20844          295 :                 {
   20845          295 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20846          295 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20847              :                     {
   20848          147 :                       {
   20849          147 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   20850          147 :                         const enum tree_code cmp = GT_EXPR;
   20851          147 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20852          115 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20853          230 :  && element_precision (captures[1])
   20854          115 :  <= element_precision (captures[0])
   20855          115 :  && bitwise_equal_p (captures[1], captures[2])
   20856          257 :  && (!VECTOR_TYPE_P (type)
   20857            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20858              : )
   20859              :                           {
   20860          110 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20861              : )
   20862              :                               {
   20863            0 :                                 {
   20864            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20865            0 :                                     if (types_match (captures[0], stype)
   20866              : )
   20867              :                                       {
   20868            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1872;
   20869            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1872;
   20870            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1872;
   20871            0 :                                         {
   20872            0 :                                           tree res_op0;
   20873            0 :                                           res_op0 = captures[0];
   20874            0 :                                           tree _r;
   20875            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20876            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   20877            0 :                                           return _r;
   20878              :                                         }
   20879           37 : next_after_fail1872:;
   20880              :                                       }
   20881              :                                     else
   20882              :                                       {
   20883            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1873;
   20884            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1873;
   20885            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1873;
   20886            0 :                                         {
   20887            0 :                                           tree res_op0;
   20888            0 :                                           {
   20889            0 :                                             tree _o1[1], _r1;
   20890            0 :                                             _o1[0] = captures[2];
   20891            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   20892              :                                               {
   20893            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   20894              :                                               }
   20895              :                                             else
   20896              :                                               _r1 = _o1[0];
   20897            0 :                                             res_op0 = _r1;
   20898              :                                           }
   20899            0 :                                           tree _r;
   20900            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20901            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   20902            0 :                                           return _r;
   20903              :                                         }
   20904           37 : next_after_fail1873:;
   20905              :                                       }
   20906              :                                 }
   20907              :                               }
   20908              :                             else
   20909              :                               {
   20910          110 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1874;
   20911          110 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1874;
   20912          110 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1874;
   20913          110 :                                 {
   20914          110 :                                   tree res_op0;
   20915          110 :                                   res_op0 = captures[2];
   20916          110 :                                   tree _r;
   20917          110 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20918          110 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   20919          110 :                                   return _r;
   20920              :                                 }
   20921           37 : next_after_fail1874:;
   20922              :                               }
   20923              :                           }
   20924              :                       }
   20925              :                     }
   20926              :                   break;
   20927              :                 }
   20928              :               default:;
   20929              :               }
   20930              :           }
   20931       893770 :         switch (TREE_CODE (_q20))
   20932              :           {
   20933         1030 :           case MINUS_EXPR:
   20934         1030 :             {
   20935         1030 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20936         1030 :               tree _q31 = TREE_OPERAND (_q20, 1);
   20937         1030 :               if (zerop (_q21))
   20938              :                 {
   20939          160 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20940              :                     {
   20941           15 :                       switch (TREE_CODE (_p2))
   20942              :                         {
   20943            9 :                         case MINUS_EXPR:
   20944            9 :                           {
   20945            9 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   20946            9 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   20947            9 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   20948              :                               {
   20949            9 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   20950              :                                   {
   20951            9 :                                     {
   20952            9 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20953            9 :                                       const enum tree_code cmp = GT_EXPR;
   20954            9 :                                       if (!HONOR_SIGNED_ZEROS (type)
   20955            9 :  && !TYPE_UNSIGNED (type)
   20956           18 :  && (!VECTOR_TYPE_P (type)
   20957            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20958              : )
   20959              :                                         {
   20960            9 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1875;
   20961            9 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1875;
   20962            9 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1875;
   20963            9 :                                           {
   20964            9 :                                             tree res_op0;
   20965            9 :                                             res_op0 = captures[0];
   20966            9 :                                             tree _r;
   20967            9 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20968            9 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   20969            9 :                                             return _r;
   20970              :                                           }
   20971            0 : next_after_fail1875:;
   20972              :                                         }
   20973              :                                     }
   20974              :                                   }
   20975              :                               }
   20976              :                             break;
   20977              :                           }
   20978              :                         default:;
   20979              :                         }
   20980              :                     }
   20981              :                 }
   20982              :               break;
   20983              :             }
   20984              :           default:;
   20985              :           }
   20986              :         break;
   20987              :       }
   20988      1364628 :     case LE_EXPR:
   20989      1364628 :       {
   20990      1364628 :         tree _q20 = TREE_OPERAND (_p0, 0);
   20991      1364628 :         tree _q21 = TREE_OPERAND (_p0, 1);
   20992      1364628 :         switch (TREE_CODE (_q20))
   20993              :           {
   20994       141707 :           CASE_CONVERT:
   20995       141707 :             {
   20996       141707 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20997       141707 :               if (zerop (_q21))
   20998              :                 {
   20999         1192 :                   switch (TREE_CODE (_p2))
   21000              :                     {
   21001            0 :                     case NEGATE_EXPR:
   21002            0 :                       {
   21003            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   21004            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   21005              :                           {
   21006            0 :                             {
   21007            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   21008            0 :                               const enum tree_code cmp = LE_EXPR;
   21009            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21010            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21011            0 :  && element_precision (captures[1])
   21012            0 :  <= element_precision (captures[0])
   21013            0 :  && bitwise_equal_p (captures[1], captures[2])
   21014            0 :  && (!VECTOR_TYPE_P (type)
   21015            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21016            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21017              : )
   21018              :                                 {
   21019            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   21020            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   21021            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21022              : )
   21023              :                                     {
   21024            0 :                                       {
   21025            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21026            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   21027            0 :                                           if (types_match (captures[0], stype)
   21028              : )
   21029              :                                             {
   21030            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1876;
   21031            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1876;
   21032            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1876;
   21033            0 :                                               {
   21034            0 :                                                 tree res_op0;
   21035            0 :                                                 {
   21036            0 :                                                   tree _o1[1], _r1;
   21037            0 :                                                   {
   21038            0 :                                                     tree _o2[1], _r2;
   21039            0 :                                                     _o2[0] = captures[0];
   21040            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21041            0 :                                                     _o1[0] = _r2;
   21042              :                                                   }
   21043            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21044            0 :                                                   res_op0 = _r1;
   21045              :                                                 }
   21046            0 :                                                 tree _r;
   21047            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21048            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   21049            0 :                                                 return _r;
   21050              :                                               }
   21051            0 : next_after_fail1876:;
   21052              :                                             }
   21053              :                                           else
   21054              :                                             {
   21055            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1877;
   21056            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1877;
   21057            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1877;
   21058            0 :                                               {
   21059            0 :                                                 tree res_op0;
   21060            0 :                                                 {
   21061            0 :                                                   tree _o1[1], _r1;
   21062            0 :                                                   {
   21063            0 :                                                     tree _o2[1], _r2;
   21064            0 :                                                     {
   21065            0 :                                                       tree _o3[1], _r3;
   21066            0 :                                                       _o3[0] = captures[2];
   21067            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   21068              :                                                         {
   21069            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   21070              :                                                         }
   21071              :                                                       else
   21072              :                                                         _r3 = _o3[0];
   21073            0 :                                                       _o2[0] = _r3;
   21074              :                                                     }
   21075            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21076            0 :                                                     _o1[0] = _r2;
   21077              :                                                   }
   21078            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21079            0 :                                                   res_op0 = _r1;
   21080              :                                                 }
   21081            0 :                                                 tree _r;
   21082            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21083            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   21084            0 :                                                 return _r;
   21085              :                                               }
   21086            0 : next_after_fail1877:;
   21087              :                                             }
   21088              :                                       }
   21089              :                                     }
   21090              :                                   else
   21091              :                                     {
   21092            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1878;
   21093            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1878;
   21094            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1878;
   21095            0 :                                       {
   21096            0 :                                         tree res_op0;
   21097            0 :                                         {
   21098            0 :                                           tree _o1[1], _r1;
   21099            0 :                                           {
   21100            0 :                                             tree _o2[1], _r2;
   21101            0 :                                             _o2[0] = captures[2];
   21102            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   21103            0 :                                             _o1[0] = _r2;
   21104              :                                           }
   21105            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21106            0 :                                           res_op0 = _r1;
   21107              :                                         }
   21108            0 :                                         tree _r;
   21109            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21110            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1075, __FILE__, __LINE__, true);
   21111            0 :                                         return _r;
   21112              :                                       }
   21113            0 : next_after_fail1878:;
   21114              :                                     }
   21115              :                                 }
   21116              :                             }
   21117              :                           }
   21118              :                         break;
   21119              :                       }
   21120              :                     default:;
   21121              :                     }
   21122              :                 }
   21123              :               break;
   21124              :             }
   21125      1364628 :           default:;
   21126              :           }
   21127      1364628 :         if (zerop (_q21))
   21128              :           {
   21129       124702 :             switch (TREE_CODE (_p2))
   21130              :               {
   21131            7 :               case NEGATE_EXPR:
   21132            7 :                 {
   21133            7 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   21134            7 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   21135              :                     {
   21136            7 :                       {
   21137            7 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   21138            7 :                         const enum tree_code cmp = LE_EXPR;
   21139            7 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21140            7 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21141           14 :  && element_precision (captures[1])
   21142            7 :  <= element_precision (captures[0])
   21143            7 :  && bitwise_equal_p (captures[1], captures[2])
   21144           14 :  && (!VECTOR_TYPE_P (type)
   21145            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21146            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21147              : )
   21148              :                           {
   21149           14 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   21150            7 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   21151            7 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21152              : )
   21153              :                               {
   21154            7 :                                 {
   21155            7 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21156            7 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   21157            7 :                                     if (types_match (captures[0], stype)
   21158              : )
   21159              :                                       {
   21160            7 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1879;
   21161            7 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1879;
   21162            7 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1879;
   21163            7 :                                         {
   21164            7 :                                           tree res_op0;
   21165            7 :                                           {
   21166            7 :                                             tree _o1[1], _r1;
   21167            7 :                                             {
   21168            7 :                                               tree _o2[1], _r2;
   21169            7 :                                               _o2[0] = captures[0];
   21170            7 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21171            7 :                                               _o1[0] = _r2;
   21172              :                                             }
   21173            7 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21174            7 :                                             res_op0 = _r1;
   21175              :                                           }
   21176            7 :                                           tree _r;
   21177            7 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21178            7 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   21179            7 :                                           return _r;
   21180              :                                         }
   21181            0 : next_after_fail1879:;
   21182              :                                       }
   21183              :                                     else
   21184              :                                       {
   21185            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1880;
   21186            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1880;
   21187            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1880;
   21188            0 :                                         {
   21189            0 :                                           tree res_op0;
   21190            0 :                                           {
   21191            0 :                                             tree _o1[1], _r1;
   21192            0 :                                             {
   21193            0 :                                               tree _o2[1], _r2;
   21194            0 :                                               {
   21195            0 :                                                 tree _o3[1], _r3;
   21196            0 :                                                 _o3[0] = captures[2];
   21197            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   21198              :                                                   {
   21199            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   21200              :                                                   }
   21201              :                                                 else
   21202              :                                                   _r3 = _o3[0];
   21203            0 :                                                 _o2[0] = _r3;
   21204              :                                               }
   21205            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21206            0 :                                               _o1[0] = _r2;
   21207              :                                             }
   21208            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21209            0 :                                             res_op0 = _r1;
   21210              :                                           }
   21211            0 :                                           tree _r;
   21212            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21213            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   21214            0 :                                           return _r;
   21215              :                                         }
   21216            0 : next_after_fail1880:;
   21217              :                                       }
   21218              :                                 }
   21219              :                               }
   21220              :                             else
   21221              :                               {
   21222            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1881;
   21223            0 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1881;
   21224            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1881;
   21225            0 :                                 {
   21226            0 :                                   tree res_op0;
   21227            0 :                                   {
   21228            0 :                                     tree _o1[1], _r1;
   21229            0 :                                     {
   21230            0 :                                       tree _o2[1], _r2;
   21231            0 :                                       _o2[0] = captures[2];
   21232            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   21233            0 :                                       _o1[0] = _r2;
   21234              :                                     }
   21235            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21236            0 :                                     res_op0 = _r1;
   21237              :                                   }
   21238            0 :                                   tree _r;
   21239            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21240            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1075, __FILE__, __LINE__, true);
   21241            0 :                                   return _r;
   21242              :                                 }
   21243            0 : next_after_fail1881:;
   21244              :                               }
   21245              :                           }
   21246              :                       }
   21247              :                     }
   21248              :                   break;
   21249              :                 }
   21250              :               default:;
   21251              :               }
   21252              :           }
   21253      1364621 :         switch (TREE_CODE (_q20))
   21254              :           {
   21255          190 :           case MINUS_EXPR:
   21256          190 :             {
   21257          190 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21258          190 :               tree _q31 = TREE_OPERAND (_q20, 1);
   21259          190 :               if (zerop (_q21))
   21260              :                 {
   21261          148 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   21262              :                     {
   21263            0 :                       switch (TREE_CODE (_p2))
   21264              :                         {
   21265            0 :                         case MINUS_EXPR:
   21266            0 :                           {
   21267            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   21268            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   21269            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   21270              :                               {
   21271            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   21272              :                                   {
   21273            0 :                                     {
   21274            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   21275            0 :                                       const enum tree_code cmp = LE_EXPR;
   21276            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   21277            0 :  && !TYPE_UNSIGNED (type)
   21278              : )
   21279              :                                         {
   21280            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   21281            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   21282            0 :  && (!VECTOR_TYPE_P (type)
   21283            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21284            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21285              : )
   21286              :                                             {
   21287            0 :                                               {
   21288            0 :  tree utype = unsigned_type_for (type);
   21289            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1882;
   21290            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1882;
   21291            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1882;
   21292            0 :                                                   {
   21293            0 :                                                     tree res_op0;
   21294            0 :                                                     {
   21295            0 :                                                       tree _o1[1], _r1;
   21296            0 :                                                       {
   21297            0 :                                                         tree _o2[1], _r2;
   21298            0 :                                                         _o2[0] = captures[0];
   21299            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21300            0 :                                                         _o1[0] = _r2;
   21301              :                                                       }
   21302            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21303            0 :                                                       res_op0 = _r1;
   21304              :                                                     }
   21305            0 :                                                     tree _r;
   21306            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21307            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1076, __FILE__, __LINE__, true);
   21308            0 :                                                     return _r;
   21309              :                                                   }
   21310            0 : next_after_fail1882:;
   21311              :                                               }
   21312              :                                             }
   21313              :                                           else
   21314              :                                             {
   21315            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1883;
   21316            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1883;
   21317            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1883;
   21318            0 :                                               {
   21319            0 :                                                 tree res_op0;
   21320            0 :                                                 {
   21321            0 :                                                   tree _o1[1], _r1;
   21322            0 :                                                   _o1[0] = captures[0];
   21323            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21324            0 :                                                   res_op0 = _r1;
   21325              :                                                 }
   21326            0 :                                                 tree _r;
   21327            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   21328            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1077, __FILE__, __LINE__, true);
   21329            0 :                                                 return _r;
   21330              :                                               }
   21331            0 : next_after_fail1883:;
   21332              :                                             }
   21333              :                                         }
   21334              :                                     }
   21335              :                                   }
   21336              :                               }
   21337              :                             break;
   21338              :                           }
   21339              :                         default:;
   21340              :                         }
   21341              :                     }
   21342              :                 }
   21343              :               break;
   21344              :             }
   21345              :           default:;
   21346              :           }
   21347              :         break;
   21348              :       }
   21349      1757044 :     case LT_EXPR:
   21350      1757044 :       {
   21351      1757044 :         tree _q20 = TREE_OPERAND (_p0, 0);
   21352      1757044 :         tree _q21 = TREE_OPERAND (_p0, 1);
   21353      1757044 :         switch (TREE_CODE (_q20))
   21354              :           {
   21355        95281 :           CASE_CONVERT:
   21356        95281 :             {
   21357        95281 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21358        95281 :               if (zerop (_q21))
   21359              :                 {
   21360        16163 :                   switch (TREE_CODE (_p2))
   21361              :                     {
   21362            8 :                     case NEGATE_EXPR:
   21363            8 :                       {
   21364            8 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   21365            8 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   21366              :                           {
   21367            0 :                             {
   21368            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   21369            0 :                               const enum tree_code cmp = LT_EXPR;
   21370            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21371            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21372            0 :  && element_precision (captures[1])
   21373            0 :  <= element_precision (captures[0])
   21374            0 :  && bitwise_equal_p (captures[1], captures[2])
   21375            0 :  && (!VECTOR_TYPE_P (type)
   21376            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21377            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21378              : )
   21379              :                                 {
   21380            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   21381            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   21382            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21383              : )
   21384              :                                     {
   21385            0 :                                       {
   21386            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21387            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   21388            0 :                                           if (types_match (captures[0], stype)
   21389              : )
   21390              :                                             {
   21391            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1884;
   21392            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1884;
   21393            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1884;
   21394            0 :                                               {
   21395            0 :                                                 tree res_op0;
   21396            0 :                                                 {
   21397            0 :                                                   tree _o1[1], _r1;
   21398            0 :                                                   {
   21399            0 :                                                     tree _o2[1], _r2;
   21400            0 :                                                     _o2[0] = captures[0];
   21401            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21402            0 :                                                     _o1[0] = _r2;
   21403              :                                                   }
   21404            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21405            0 :                                                   res_op0 = _r1;
   21406              :                                                 }
   21407            0 :                                                 tree _r;
   21408            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21409            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   21410            0 :                                                 return _r;
   21411              :                                               }
   21412            0 : next_after_fail1884:;
   21413              :                                             }
   21414              :                                           else
   21415              :                                             {
   21416            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1885;
   21417            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1885;
   21418            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1885;
   21419            0 :                                               {
   21420            0 :                                                 tree res_op0;
   21421            0 :                                                 {
   21422            0 :                                                   tree _o1[1], _r1;
   21423            0 :                                                   {
   21424            0 :                                                     tree _o2[1], _r2;
   21425            0 :                                                     {
   21426            0 :                                                       tree _o3[1], _r3;
   21427            0 :                                                       _o3[0] = captures[2];
   21428            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   21429              :                                                         {
   21430            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   21431              :                                                         }
   21432              :                                                       else
   21433              :                                                         _r3 = _o3[0];
   21434            0 :                                                       _o2[0] = _r3;
   21435              :                                                     }
   21436            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21437            0 :                                                     _o1[0] = _r2;
   21438              :                                                   }
   21439            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21440            0 :                                                   res_op0 = _r1;
   21441              :                                                 }
   21442            0 :                                                 tree _r;
   21443            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21444            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   21445            0 :                                                 return _r;
   21446              :                                               }
   21447            0 : next_after_fail1885:;
   21448              :                                             }
   21449              :                                       }
   21450              :                                     }
   21451              :                                   else
   21452              :                                     {
   21453            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1886;
   21454            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1886;
   21455            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1886;
   21456            0 :                                       {
   21457            0 :                                         tree res_op0;
   21458            0 :                                         {
   21459            0 :                                           tree _o1[1], _r1;
   21460            0 :                                           {
   21461            0 :                                             tree _o2[1], _r2;
   21462            0 :                                             _o2[0] = captures[2];
   21463            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   21464            0 :                                             _o1[0] = _r2;
   21465              :                                           }
   21466            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21467            0 :                                           res_op0 = _r1;
   21468              :                                         }
   21469            0 :                                         tree _r;
   21470            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21471            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1075, __FILE__, __LINE__, true);
   21472            0 :                                         return _r;
   21473              :                                       }
   21474            0 : next_after_fail1886:;
   21475              :                                     }
   21476              :                                 }
   21477              :                             }
   21478              :                           }
   21479              :                         break;
   21480              :                       }
   21481              :                     default:;
   21482              :                     }
   21483              :                 }
   21484              :               break;
   21485              :             }
   21486      1757044 :           default:;
   21487              :           }
   21488      1757044 :         if (zerop (_q21))
   21489              :           {
   21490       379482 :             switch (TREE_CODE (_p2))
   21491              :               {
   21492           33 :               case NEGATE_EXPR:
   21493           33 :                 {
   21494           33 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   21495           33 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   21496              :                     {
   21497           25 :                       {
   21498           25 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   21499           25 :                         const enum tree_code cmp = LT_EXPR;
   21500           25 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21501           25 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21502           50 :  && element_precision (captures[1])
   21503           25 :  <= element_precision (captures[0])
   21504           25 :  && bitwise_equal_p (captures[1], captures[2])
   21505           50 :  && (!VECTOR_TYPE_P (type)
   21506            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21507            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21508              : )
   21509              :                           {
   21510           50 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   21511           25 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   21512           26 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21513              : )
   21514              :                               {
   21515           24 :                                 {
   21516           24 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21517           24 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   21518           24 :                                     if (types_match (captures[0], stype)
   21519              : )
   21520              :                                       {
   21521           24 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1887;
   21522           24 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1887;
   21523           24 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1887;
   21524           24 :                                         {
   21525           24 :                                           tree res_op0;
   21526           24 :                                           {
   21527           24 :                                             tree _o1[1], _r1;
   21528           24 :                                             {
   21529           24 :                                               tree _o2[1], _r2;
   21530           24 :                                               _o2[0] = captures[0];
   21531           24 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21532           24 :                                               _o1[0] = _r2;
   21533              :                                             }
   21534           24 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21535           24 :                                             res_op0 = _r1;
   21536              :                                           }
   21537           24 :                                           tree _r;
   21538           24 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21539           24 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   21540           24 :                                           return _r;
   21541              :                                         }
   21542            0 : next_after_fail1887:;
   21543              :                                       }
   21544              :                                     else
   21545              :                                       {
   21546            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1888;
   21547            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1888;
   21548            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1888;
   21549            0 :                                         {
   21550            0 :                                           tree res_op0;
   21551            0 :                                           {
   21552            0 :                                             tree _o1[1], _r1;
   21553            0 :                                             {
   21554            0 :                                               tree _o2[1], _r2;
   21555            0 :                                               {
   21556            0 :                                                 tree _o3[1], _r3;
   21557            0 :                                                 _o3[0] = captures[2];
   21558            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   21559              :                                                   {
   21560            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   21561              :                                                   }
   21562              :                                                 else
   21563              :                                                   _r3 = _o3[0];
   21564            0 :                                                 _o2[0] = _r3;
   21565              :                                               }
   21566            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21567            0 :                                               _o1[0] = _r2;
   21568              :                                             }
   21569            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21570            0 :                                             res_op0 = _r1;
   21571              :                                           }
   21572            0 :                                           tree _r;
   21573            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21574            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   21575            0 :                                           return _r;
   21576              :                                         }
   21577            0 : next_after_fail1888:;
   21578              :                                       }
   21579              :                                 }
   21580              :                               }
   21581              :                             else
   21582              :                               {
   21583            1 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1889;
   21584            1 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1889;
   21585            1 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1889;
   21586            1 :                                 {
   21587            1 :                                   tree res_op0;
   21588            1 :                                   {
   21589            1 :                                     tree _o1[1], _r1;
   21590            1 :                                     {
   21591            1 :                                       tree _o2[1], _r2;
   21592            1 :                                       _o2[0] = captures[2];
   21593            1 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   21594            1 :                                       _o1[0] = _r2;
   21595              :                                     }
   21596            1 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21597            1 :                                     res_op0 = _r1;
   21598              :                                   }
   21599            1 :                                   tree _r;
   21600            1 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21601            1 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1075, __FILE__, __LINE__, true);
   21602            1 :                                   return _r;
   21603              :                                 }
   21604            0 : next_after_fail1889:;
   21605              :                               }
   21606              :                           }
   21607              :                       }
   21608              :                     }
   21609              :                   break;
   21610              :                 }
   21611              :               default:;
   21612              :               }
   21613              :           }
   21614      1757019 :         switch (TREE_CODE (_q20))
   21615              :           {
   21616        11301 :           case MINUS_EXPR:
   21617        11301 :             {
   21618        11301 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21619        11301 :               tree _q31 = TREE_OPERAND (_q20, 1);
   21620        11301 :               if (zerop (_q21))
   21621              :                 {
   21622         7383 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   21623              :                     {
   21624            0 :                       switch (TREE_CODE (_p2))
   21625              :                         {
   21626            0 :                         case MINUS_EXPR:
   21627            0 :                           {
   21628            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   21629            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   21630            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   21631              :                               {
   21632            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   21633              :                                   {
   21634            0 :                                     {
   21635            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   21636            0 :                                       const enum tree_code cmp = LT_EXPR;
   21637            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   21638            0 :  && !TYPE_UNSIGNED (type)
   21639              : )
   21640              :                                         {
   21641            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   21642            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   21643            0 :  && (!VECTOR_TYPE_P (type)
   21644            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21645            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21646              : )
   21647              :                                             {
   21648            0 :                                               {
   21649            0 :  tree utype = unsigned_type_for (type);
   21650            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1890;
   21651            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1890;
   21652            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1890;
   21653            0 :                                                   {
   21654            0 :                                                     tree res_op0;
   21655            0 :                                                     {
   21656            0 :                                                       tree _o1[1], _r1;
   21657            0 :                                                       {
   21658            0 :                                                         tree _o2[1], _r2;
   21659            0 :                                                         _o2[0] = captures[0];
   21660            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21661            0 :                                                         _o1[0] = _r2;
   21662              :                                                       }
   21663            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21664            0 :                                                       res_op0 = _r1;
   21665              :                                                     }
   21666            0 :                                                     tree _r;
   21667            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21668            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1076, __FILE__, __LINE__, true);
   21669            0 :                                                     return _r;
   21670              :                                                   }
   21671            0 : next_after_fail1890:;
   21672              :                                               }
   21673              :                                             }
   21674              :                                           else
   21675              :                                             {
   21676            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1891;
   21677            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1891;
   21678            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1891;
   21679            0 :                                               {
   21680            0 :                                                 tree res_op0;
   21681            0 :                                                 {
   21682            0 :                                                   tree _o1[1], _r1;
   21683            0 :                                                   _o1[0] = captures[0];
   21684            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21685            0 :                                                   res_op0 = _r1;
   21686              :                                                 }
   21687            0 :                                                 tree _r;
   21688            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   21689            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1077, __FILE__, __LINE__, true);
   21690            0 :                                                 return _r;
   21691              :                                               }
   21692            0 : next_after_fail1891:;
   21693              :                                             }
   21694              :                                         }
   21695              :                                     }
   21696              :                                   }
   21697              :                               }
   21698              :                             break;
   21699              :                           }
   21700              :                         default:;
   21701              :                         }
   21702              :                     }
   21703              :                 }
   21704              :               break;
   21705              :             }
   21706      1757019 :           default:;
   21707              :           }
   21708      1757019 :         if (integer_zerop (_q21))
   21709              :           {
   21710       323523 :             switch (TREE_CODE (_p1))
   21711              :               {
   21712           25 :               case BIT_NOT_EXPR:
   21713           25 :                 {
   21714           25 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   21715           25 :                   if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   21716              :                     {
   21717           13 :                       {
   21718           13 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   21719           13 :                         tree res = generic_simplify_375 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   21720           13 :                         if (res) return res;
   21721              :                       }
   21722              :                     }
   21723              :                   break;
   21724              :                 }
   21725       323510 :               default:;
   21726              :               }
   21727       323510 :             switch (TREE_CODE (_p2))
   21728              :               {
   21729            8 :               case BIT_NOT_EXPR:
   21730            8 :                 {
   21731            8 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   21732            8 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   21733              :                     {
   21734            8 :                       {
   21735            8 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   21736            8 :                         tree res = generic_simplify_376 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   21737            8 :                         if (res) return res;
   21738              :                       }
   21739              :                     }
   21740              :                   break;
   21741              :                 }
   21742       323502 :               default:;
   21743              :               }
   21744       323502 :             switch (TREE_CODE (_p1))
   21745              :               {
   21746       287325 :               case INTEGER_CST:
   21747       287325 :                 {
   21748       287325 :                   if (integer_zerop (_p2))
   21749              :                     {
   21750         8879 :                       {
   21751         8879 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   21752         8879 :                         if (integer_pow2p (captures[1])
   21753         8879 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   21754              : )
   21755              :                           {
   21756         8614 :                             {
   21757         8614 :  int shift = element_precision (captures[0]) - wi::exact_log2 (wi::to_wide (captures[1])) - 1;
   21758         8614 :                                 if (shift >= 0
   21759              : )
   21760              :                                   {
   21761         8599 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1892;
   21762         8599 :                                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1892;
   21763         8599 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1892;
   21764         8599 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1892;
   21765         8599 :                                     {
   21766         8599 :                                       tree res_op0;
   21767         8599 :                                       {
   21768         8599 :                                         tree _o1[1], _r1;
   21769         8599 :                                         {
   21770         8599 :                                           tree _o2[2], _r2;
   21771         8599 :                                           _o2[0] = captures[0];
   21772         8599 :                                           _o2[1] =  build_int_cst (integer_type_node, shift);
   21773         8599 :                                           _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   21774         8599 :                                           _o1[0] = _r2;
   21775              :                                         }
   21776         8599 :                                         if (TREE_TYPE (_o1[0]) != type)
   21777              :                                           {
   21778         8574 :                                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   21779              :                                           }
   21780              :                                         else
   21781              :                                           _r1 = _o1[0];
   21782         8599 :                                         res_op0 = _r1;
   21783              :                                       }
   21784         8599 :                                       tree res_op1;
   21785         8599 :                                       res_op1 = captures[1];
   21786         8599 :                                       tree _r;
   21787         8599 :                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   21788         8599 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1078, __FILE__, __LINE__, true);
   21789         8614 :                                       return _r;
   21790              :                                     }
   21791              : next_after_fail1892:;
   21792              :                                   }
   21793              :                                 else
   21794              :                                   {
   21795           15 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1893;
   21796           15 :                                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1893;
   21797           15 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1893;
   21798           15 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1893;
   21799           15 :                                     {
   21800           15 :                                       tree res_op0;
   21801           15 :                                       {
   21802           15 :                                         tree _o1[1], _r1;
   21803           15 :                                         _o1[0] = captures[0];
   21804           15 :                                         if (TREE_TYPE (_o1[0]) != type)
   21805              :                                           {
   21806           15 :                                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   21807              :                                           }
   21808              :                                         else
   21809              :                                           _r1 = _o1[0];
   21810           15 :                                         res_op0 = _r1;
   21811              :                                       }
   21812           15 :                                       tree res_op1;
   21813           15 :                                       res_op1 = captures[1];
   21814           15 :                                       tree _r;
   21815           15 :                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   21816           15 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1079, __FILE__, __LINE__, true);
   21817           15 :                                       return _r;
   21818              :                                     }
   21819              : next_after_fail1893:;
   21820              :                                   }
   21821              :                             }
   21822              :                           }
   21823              :                       }
   21824              :                     }
   21825              :                   break;
   21826              :                 }
   21827              :               default:;
   21828              :               }
   21829              :           }
   21830              :         break;
   21831              :       }
   21832     11523220 :     default:;
   21833              :     }
   21834     11523220 : {
   21835     11523220 :   tree _p0_pops[1];
   21836     11523220 :   if (tree_logical_inverted_value (_p0, _p0_pops))
   21837              :     {
   21838       467307 :       tree _q20 = _p0_pops[0];
   21839       467307 :       if (tree_truth_valued_p (_q20))
   21840              :         {
   21841         4464 :           {
   21842         4464 :             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   21843         8928 :             if (COND_EXPR == VEC_COND_EXPR
   21844         4464 :  || TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   21845              : )
   21846              :               {
   21847         3150 :                 if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1894;
   21848           46 :                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1894;
   21849           37 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1894;
   21850           37 :                 {
   21851           37 :                   tree res_op0;
   21852           37 :                   res_op0 = captures[0];
   21853           37 :                   tree res_op1;
   21854           37 :                   res_op1 = captures[2];
   21855           37 :                   tree res_op2;
   21856           37 :                   res_op2 = captures[1];
   21857           37 :                   tree _r;
   21858           37 :                   _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   21859           37 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1080, __FILE__, __LINE__, true);
   21860           37 :                   return _r;
   21861              :                 }
   21862         4427 : next_after_fail1894:;
   21863              :               }
   21864              :           }
   21865              :         }
   21866              :     }
   21867              : }
   21868     11523183 :   return NULL_TREE;
   21869              : }
   21870              : #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.