LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-9.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 40.7 % 7714 3143
Test Date: 2026-05-11 19:44:49 Functions: 63.0 % 73 46
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    106756904 : tree_bit_not_with_nop (tree t, tree *res_ops)
      11              : {
      12    106756904 :   const tree type = TREE_TYPE (t);
      13    106756904 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14    106756904 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15    106756904 :   switch (TREE_CODE (t))
      16              :     {
      17       145109 :     case BIT_NOT_EXPR:
      18       145109 :       {
      19       145109 :         tree _p0 = TREE_OPERAND (t, 0);
      20       145109 :         {
      21       145109 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      22       145109 :           {
      23       145109 :             res_ops[0] = captures[0];
      24       145109 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 2, __FILE__, __LINE__, false);
      25              :             return true;
      26              :           }
      27              :         }
      28     21151741 :         break;
      29              :       }
      30     21151741 :     CASE_CONVERT:
      31     21151741 :       {
      32     21151741 :         tree _p0 = TREE_OPERAND (t, 0);
      33     21151741 :         switch (TREE_CODE (_p0))
      34              :           {
      35         1124 :           case BIT_NOT_EXPR:
      36         1124 :             {
      37         1124 :               tree _q20 = TREE_OPERAND (_p0, 0);
      38         1124 :               {
      39         1124 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
      40         1124 :                 if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
      41              : )
      42              :                   {
      43          615 :                     {
      44          615 :                       res_ops[0] = captures[0];
      45          615 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 3, __FILE__, __LINE__, false);
      46          615 :                       return true;
      47              :                     }
      48              :                   }
      49              :               }
      50              :               break;
      51              :             }
      52              :           default:;
      53              :           }
      54              :         break;
      55              :       }
      56              :     default:;
      57              :     }
      58              :   return false;
      59              : }
      60              : 
      61              : bool
      62     82128252 : tree_with_known_nonzero_bits_1 (tree t)
      63              : {
      64     82128252 :   const tree type = TREE_TYPE (t);
      65     82128252 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      66     82128252 :   if (TREE_SIDE_EFFECTS (t)) return false;
      67     82128252 :   switch (TREE_CODE (t))
      68              :     {
      69     20265444 :     case INTEGER_CST:
      70     20265444 :       {
      71     20265444 :         {
      72     20265444 :           tree captures[1] ATTRIBUTE_UNUSED = { t };
      73     20265444 :           {
      74     20265444 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 37, __FILE__, __LINE__, false);
      75     20265444 :             return true;
      76              :           }
      77              :         }
      78     27268994 :         break;
      79              :       }
      80     27268994 :     case SSA_NAME:
      81     27268994 :       {
      82     27268994 :         {
      83     27268994 :           tree captures[1] ATTRIBUTE_UNUSED = { t };
      84     27268994 :           if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
      85              : )
      86              :             {
      87     19270618 :               {
      88     19270618 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 38, __FILE__, __LINE__, false);
      89     19270618 :                 return true;
      90              :               }
      91              :             }
      92              :         }
      93              :         break;
      94              :       }
      95              :     default:;
      96              :     }
      97              :   return false;
      98              : }
      99              : 
     100              : bool
     101            0 : tree_compositional_complex (tree t)
     102              : {
     103            0 :   const tree type = TREE_TYPE (t);
     104            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     105            0 :   if (TREE_SIDE_EFFECTS (t)) return false;
     106            0 :   switch (TREE_CODE (t))
     107              :     {
     108            0 :     CASE_CONVERT:
     109            0 :       {
     110            0 :         tree _p0 = TREE_OPERAND (t, 0);
     111            0 :         switch (TREE_CODE (_p0))
     112              :           {
     113            0 :           case COMPLEX_EXPR:
     114            0 :             {
     115            0 :               tree _q20 = TREE_OPERAND (_p0, 0);
     116            0 :               tree _q21 = TREE_OPERAND (_p0, 1);
     117            0 :               {
     118            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
     119            0 :                 {
     120            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 43, __FILE__, __LINE__, false);
     121            0 :                   return true;
     122              :                 }
     123              :               }
     124              :               break;
     125              :             }
     126              :           default:;
     127              :           }
     128              :         break;
     129              :       }
     130            0 :     case COMPLEX_EXPR:
     131            0 :       {
     132            0 :         tree _p0 = TREE_OPERAND (t, 0);
     133            0 :         tree _p1 = TREE_OPERAND (t, 1);
     134            0 :         {
     135            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
     136            0 :           {
     137            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 43, __FILE__, __LINE__, false);
     138            0 :             return true;
     139              :           }
     140              :         }
     141              :         break;
     142              :       }
     143              :     default:;
     144              :     }
     145              :   return false;
     146              : }
     147              : 
     148              : tree
     149            0 : generic_simplify_10 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     150              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     151              :  const enum tree_code ARG_UNUSED (bit_op))
     152              : {
     153            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     154            0 :   if (bit_op == BIT_AND_EXPR
     155              : )
     156              :     {
     157            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail83;
     158            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail83;
     159            0 :       {
     160            0 :         tree _r;
     161            0 :         _r =  build_zero_cst (type);
     162            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 58, __FILE__, __LINE__, true);
     163            0 :         return _r;
     164              :       }
     165              : next_after_fail83:;
     166              :     }
     167              :   else
     168              :     {
     169            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail84;
     170            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail84;
     171            0 :       {
     172            0 :         tree _r;
     173            0 :         _r =  build_minus_one_cst (type);
     174            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 59, __FILE__, __LINE__, true);
     175            0 :         return _r;
     176              :       }
     177              : next_after_fail84:;
     178              :     }
     179              :   return NULL_TREE;
     180              : }
     181              : 
     182              : tree
     183            0 : generic_simplify_19 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     184              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     185              : {
     186            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     187            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail94;
     188            0 :   {
     189            0 :     tree res_op0;
     190            0 :     res_op0 = captures[0];
     191            0 :     tree res_op1;
     192            0 :     res_op1 = captures[1];
     193            0 :     tree _r;
     194            0 :     _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     195            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 67, __FILE__, __LINE__, true);
     196              :     return _r;
     197              :   }
     198            0 : next_after_fail94:;
     199            0 :   return NULL_TREE;
     200              : }
     201              : 
     202              : tree
     203           57 : generic_simplify_26 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     204              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     205              : {
     206           57 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     207           57 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     208              : )
     209              :     {
     210           33 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail101;
     211           33 :       {
     212           33 :         tree res_op0;
     213           33 :         {
     214           33 :           tree _o1[1], _r1;
     215           33 :           _o1[0] = captures[0];
     216           33 :           if (TREE_TYPE (_o1[0]) != type)
     217              :             {
     218            2 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     219              :             }
     220              :           else
     221              :             _r1 = _o1[0];
     222           33 :           res_op0 = _r1;
     223              :         }
     224           33 :         tree res_op1;
     225           33 :         {
     226           33 :           tree _o1[1], _r1;
     227           33 :           _o1[0] = captures[1];
     228           33 :           _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     229           33 :           res_op1 = _r1;
     230              :         }
     231           33 :         tree _r;
     232           33 :         _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     233           33 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 74, __FILE__, __LINE__, true);
     234           33 :         return _r;
     235              :       }
     236            0 : next_after_fail101:;
     237              :     }
     238              :   return NULL_TREE;
     239              : }
     240              : 
     241              : tree
     242            7 : generic_simplify_34 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     243              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     244              :  const enum tree_code ARG_UNUSED (op))
     245              : {
     246            7 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     247            7 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail111;
     248            7 :   {
     249            7 :     tree _r;
     250            7 :     _r =  constant_boolean_node (true, type);
     251            7 :     if (TREE_SIDE_EFFECTS (captures[0]))
     252            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     253            7 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 83, __FILE__, __LINE__, true);
     254              :     return _r;
     255              :   }
     256            0 : next_after_fail111:;
     257            0 :   return NULL_TREE;
     258              : }
     259              : 
     260              : tree
     261            0 : generic_simplify_39 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     262              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     263              :  const enum tree_code ARG_UNUSED (op))
     264              : {
     265            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     266            0 :   if (INTEGRAL_TYPE_P (type)
     267            0 :  && tree_int_cst_sgn (captures[5]) > 0
     268            0 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[4])) == 0
     269              : )
     270              :     {
     271            0 :       {
     272            0 :  tree t = type;
     273            0 :  if (!TYPE_OVERFLOW_WRAPS (t))
     274            0 :  t = unsigned_type_for (t);
     275            0 :  wide_int wone = wi::one (TYPE_PRECISION (type));
     276            0 :  wide_int c = wi::add (wi::to_wide (captures[3]),
     277            0 :  wi::lshift (wone, wi::to_wide (captures[5])));
     278            0 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail116;
     279            0 :           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail116;
     280            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail116;
     281            0 :           {
     282            0 :             tree res_op0;
     283            0 :             {
     284            0 :               tree _o1[2], _r1;
     285            0 :               {
     286            0 :                 tree _o2[1], _r2;
     287            0 :                 _o2[0] = captures[2];
     288            0 :                 if (TREE_TYPE (_o2[0]) != t)
     289              :                   {
     290            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     291              :                   }
     292              :                 else
     293              :                   _r2 = _o2[0];
     294            0 :                 _o1[0] = _r2;
     295              :               }
     296            0 :               _o1[1] =  wide_int_to_tree (t, c);
     297            0 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     298            0 :               res_op0 = _r1;
     299              :             }
     300            0 :             tree _r;
     301            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     302            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 87, __FILE__, __LINE__, true);
     303            0 :             return _r;
     304              :           }
     305            0 : next_after_fail116:;
     306            0 :       }
     307              :     }
     308              :   return NULL_TREE;
     309              : }
     310              : 
     311              : tree
     312           18 : generic_simplify_49 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     313              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     314              :  const enum tree_code ARG_UNUSED (cmp))
     315              : {
     316           18 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     317           36 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     318           18 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
     319           36 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[3]))
     320              : )
     321              :     {
     322           18 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail128;
     323           18 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail128;
     324           18 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail128;
     325           18 :       {
     326           18 :         tree res_op0;
     327           18 :         {
     328           18 :           tree _o1[2], _r1;
     329           18 :           _o1[0] = captures[1];
     330           18 :           _o1[1] = captures[3];
     331           18 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     332           18 :           res_op0 = _r1;
     333              :         }
     334           18 :         tree res_op1;
     335           18 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
     336           18 :         tree _r;
     337           18 :         _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
     338           18 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 96, __FILE__, __LINE__, true);
     339           18 :         return _r;
     340              :       }
     341              : next_after_fail128:;
     342              :     }
     343              :   return NULL_TREE;
     344              : }
     345              : 
     346              : tree
     347        46917 : generic_simplify_59 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     348              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     349              : {
     350        46917 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     351        46917 :   if (!TYPE_SATURATING (type)
     352              : )
     353              :     {
     354        46917 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     355        93764 :  && !FIXED_POINT_TYPE_P (type)
     356              : )
     357              :         {
     358        46847 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail140;
     359        46847 :           {
     360        46847 :             tree res_op0;
     361        46847 :             res_op0 = captures[0];
     362        46847 :             tree _r;
     363        46847 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     364        46847 :             if (TREE_SIDE_EFFECTS (captures[1]))
     365            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     366        46847 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 108, __FILE__, __LINE__, true);
     367        46847 :             return _r;
     368              :           }
     369            0 : next_after_fail140:;
     370              :         }
     371              :     }
     372              :   return NULL_TREE;
     373              : }
     374              : 
     375              : tree
     376      6809237 : generic_simplify_66 (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 (op))
     379              : {
     380      6809237 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     381      6809237 :   if (!TYPE_SATURATING (type)
     382              : )
     383              :     {
     384      6809237 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     385     13237831 :  && !FIXED_POINT_TYPE_P (type)
     386              : )
     387              :         {
     388      6428594 :           if (INTEGRAL_TYPE_P (type)
     389      6428302 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     390      5154781 :  && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
     391      4314365 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
     392      3771564 :  && !TYPE_OVERFLOW_TRAPS (type)
     393     10200158 :  && !TYPE_OVERFLOW_SANITIZED (type)
     394              : )
     395              :             {
     396      3771293 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail155;
     397      3771293 :               {
     398      3771293 :                 tree res_op0;
     399      3771293 :                 {
     400      3771293 :                   tree _o1[2], _r1;
     401      3771293 :                   _o1[0] = captures[0];
     402      3771293 :                   _o1[1] = captures[1];
     403      3771293 :                   _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     404      3771293 :                   if (EXPR_P (_r1))
     405      3756861 :                     goto next_after_fail155;
     406        14432 :                   res_op0 = _r1;
     407              :                 }
     408        14432 :                 tree _r;
     409        14432 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     410        14432 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 123, __FILE__, __LINE__, true);
     411        14432 :                 return _r;
     412              :               }
     413              : next_after_fail155:;
     414              :             }
     415              :         }
     416              :     }
     417              :   return NULL_TREE;
     418              : }
     419              : 
     420              : tree
     421            0 : generic_simplify_75 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     422              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     423              : {
     424            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     425            0 :   if (VECTOR_TYPE_P (type)
     426            0 :  && known_eq (TYPE_VECTOR_SUBPARTS (type),
     427              :  TYPE_VECTOR_SUBPARTS (TREE_TYPE (captures[3])))
     428            0 :  && (TYPE_MODE (TREE_TYPE (type))
     429            0 :  == TYPE_MODE (TREE_TYPE (TREE_TYPE (captures[3]))))
     430              : )
     431              :     {
     432            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail165;
     433            0 :       {
     434            0 :         tree res_op0;
     435            0 :         res_op0 = captures[0];
     436            0 :         tree res_op1;
     437            0 :         {
     438            0 :           tree _o1[1], _r1;
     439            0 :           {
     440            0 :             tree _o2[3], _r2;
     441            0 :             _o2[0] = captures[2];
     442            0 :             {
     443            0 :               tree _o3[1], _r3;
     444            0 :               _o3[0] = captures[3];
     445            0 :               _r3 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o3[0]), _o3[0]);
     446            0 :               _o2[1] = _r3;
     447              :             }
     448            0 :             _o2[2] = captures[4];
     449            0 :             _r2 = fold_build3_loc (loc, VEC_COND_EXPR, TREE_TYPE (_o2[1]), _o2[0], _o2[1], _o2[2]);
     450            0 :             _o1[0] = _r2;
     451              :           }
     452            0 :           if (TREE_TYPE (_o1[0]) != type)
     453              :             {
     454            0 :               _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     455              :             }
     456              :           else
     457              :             _r1 = _o1[0];
     458            0 :           res_op1 = _r1;
     459              :         }
     460            0 :         tree _r;
     461            0 :         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     462            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 133, __FILE__, __LINE__, true);
     463            0 :         return _r;
     464              :       }
     465            0 : next_after_fail165:;
     466              :     }
     467              :   return NULL_TREE;
     468              : }
     469              : 
     470              : tree
     471           85 : generic_simplify_84 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     472              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     473              : {
     474           85 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     475           85 :   if (INTEGRAL_TYPE_P (type)
     476           85 :  || (VECTOR_INTEGER_TYPE_P (type)
     477              :  && ((optimize_vectors_before_lowering_p ()
     478            1 :  && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST)
     479            0 :  || target_supports_op_p (type, TRUNC_MOD_EXPR,
     480              :  optab_vector)))
     481              : )
     482              :     {
     483           85 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail175;
     484           85 :       {
     485           85 :         tree res_op0;
     486           85 :         {
     487           85 :           tree _o1[2], _r1;
     488           85 :           _o1[0] = captures[0];
     489           85 :           _o1[1] = captures[1];
     490           85 :           _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     491           85 :           res_op0 = _r1;
     492              :         }
     493           85 :         tree _r;
     494           85 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     495           85 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 143, __FILE__, __LINE__, true);
     496           85 :         return _r;
     497              :       }
     498            0 : next_after_fail175:;
     499              :     }
     500              :   return NULL_TREE;
     501              : }
     502              : 
     503              : tree
     504            1 : generic_simplify_91 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     505              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     506              : {
     507            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     508            1 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     509            1 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     510              : )
     511              :     {
     512            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail182;
     513            1 :       {
     514            1 :         tree res_op0;
     515            1 :         {
     516            1 :           tree _o1[2], _r1;
     517            1 :           {
     518            1 :             tree _o2[1], _r2;
     519            1 :             _o2[0] = captures[3];
     520            1 :             _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
     521            1 :             _o1[0] = _r2;
     522              :           }
     523            1 :           _o1[1] = captures[0];
     524            1 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     525            1 :           res_op0 = _r1;
     526              :         }
     527            1 :         tree _r;
     528            1 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     529            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 150, __FILE__, __LINE__, true);
     530            1 :         return _r;
     531              :       }
     532            0 : next_after_fail182:;
     533              :     }
     534              :   return NULL_TREE;
     535              : }
     536              : 
     537              : tree
     538          668 : generic_simplify_99 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     539              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     540              : {
     541          668 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     542          668 :   if (!TYPE_SATURATING (type)
     543              : )
     544              :     {
     545          668 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     546         1336 :  && !FIXED_POINT_TYPE_P (type)
     547              : )
     548              :         {
     549          668 :           if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
     550              : )
     551              :             {
     552           28 :               if (!CONSTANT_CLASS_P (captures[2])
     553              : )
     554              :                 {
     555           28 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail192;
     556           28 :                   {
     557           28 :                     tree res_op0;
     558           28 :                     {
     559           28 :                       tree _o1[1], _r1;
     560           28 :                       _o1[0] = captures[2];
     561           28 :                       if (TREE_TYPE (_o1[0]) != type)
     562              :                         {
     563           28 :                           _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     564              :                         }
     565              :                       else
     566              :                         _r1 = _o1[0];
     567           28 :                       res_op0 = _r1;
     568              :                     }
     569           28 :                     tree res_op1;
     570           28 :                     {
     571           28 :                       tree _o1[2], _r1;
     572           28 :                       _o1[0] = captures[0];
     573           28 :                       {
     574           28 :                         tree _o2[1], _r2;
     575           28 :                         _o2[0] = captures[1];
     576           28 :                         if (TREE_TYPE (_o2[0]) != type)
     577              :                           {
     578           28 :                             _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
     579              :                           }
     580              :                         else
     581              :                           _r2 = _o2[0];
     582           28 :                         _o1[1] = _r2;
     583              :                       }
     584           28 :                       _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     585           28 :                       if (EXPR_P (_r1))
     586            0 :                         goto next_after_fail192;
     587           28 :                       res_op1 = _r1;
     588              :                     }
     589           28 :                     tree _r;
     590           28 :                     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     591           28 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 159, __FILE__, __LINE__, true);
     592           28 :                     return _r;
     593              :                   }
     594              : next_after_fail192:;
     595              :                 }
     596              :             }
     597              :           else
     598              :             {
     599         1280 :               if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     600         1280 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
     601              : )
     602              :                 {
     603            1 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail193;
     604            1 :                   {
     605            1 :                     tree res_op0;
     606            1 :                     {
     607            1 :                       tree _o1[2], _r1;
     608            1 :                       _o1[0] = captures[2];
     609            1 :                       {
     610            1 :                         tree _o2[2], _r2;
     611            1 :                         {
     612            1 :                           tree _o3[1], _r3;
     613            1 :                           _o3[0] = captures[0];
     614            1 :                           if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o1[0]))
     615              :                             {
     616            1 :                               _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o1[0]), _o3[0]);
     617              :                             }
     618              :                           else
     619              :                             _r3 = _o3[0];
     620            1 :                           _o2[0] = _r3;
     621              :                         }
     622            1 :                         _o2[1] = captures[1];
     623            1 :                         _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     624            1 :                         if (EXPR_P (_r2))
     625            0 :                           goto next_after_fail193;
     626            1 :                         _o1[1] = _r2;
     627              :                       }
     628            1 :                       _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     629            1 :                       res_op0 = _r1;
     630              :                     }
     631            1 :                     tree _r;
     632            1 :                     _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     633            1 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 160, __FILE__, __LINE__, true);
     634            1 :                     return _r;
     635              :                   }
     636              : next_after_fail193:;
     637              :                 }
     638              :               else
     639              :                 {
     640          639 :                   if (types_match (type, captures[2]) && !TYPE_OVERFLOW_SANITIZED (type)
     641              : )
     642              :                     {
     643          630 :                       {
     644          630 :  tree cst = const_binop (MINUS_EXPR, type, captures[0], captures[1]);
     645          630 :                           if (cst && !TREE_OVERFLOW (cst)
     646              : )
     647              :                             {
     648          630 :                               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail194;
     649          630 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail194;
     650          630 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail194;
     651          630 :                               {
     652          630 :                                 tree res_op0;
     653          630 :                                 res_op0 =  cst;
     654          630 :                                 tree res_op1;
     655          630 :                                 res_op1 = captures[2];
     656          630 :                                 tree _r;
     657          630 :                                 _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     658          630 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 161, __FILE__, __LINE__, true);
     659          630 :                                 return _r;
     660              :                               }
     661              : next_after_fail194:;
     662              :                             }
     663              :                       }
     664              :                     }
     665              :                 }
     666              :             }
     667              :         }
     668              :     }
     669              :   return NULL_TREE;
     670              : }
     671              : 
     672              : tree
     673            1 : generic_simplify_128 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     674              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     675              : {
     676            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     677            1 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail225;
     678            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail225;
     679            1 :   {
     680            1 :     tree _r;
     681            1 :     _r = captures[0];
     682            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 187, __FILE__, __LINE__, true);
     683              :     return _r;
     684              :   }
     685              : next_after_fail225:;
     686              :   return NULL_TREE;
     687              : }
     688              : 
     689              : tree
     690            0 : generic_simplify_137 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     691              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     692              :  const enum tree_code ARG_UNUSED (op))
     693              : {
     694            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     695            0 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     696            0 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
     697              : )
     698              :     {
     699            0 :       if (single_use (captures[4]) && single_use (captures[5])
     700              : )
     701              :         {
     702            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail236;
     703            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail236;
     704            0 :           {
     705            0 :             tree res_op0;
     706            0 :             res_op0 = captures[0];
     707            0 :             tree res_op1;
     708            0 :             {
     709            0 :               tree _o1[1], _r1;
     710            0 :               _o1[0] = captures[6];
     711            0 :               if (TREE_TYPE (_o1[0]) != type)
     712              :                 {
     713            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     714              :                 }
     715              :               else
     716              :                 _r1 = _o1[0];
     717            0 :               res_op1 = _r1;
     718              :             }
     719            0 :             tree _r;
     720            0 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     721            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 192, __FILE__, __LINE__, true);
     722            0 :             return _r;
     723              :           }
     724              : next_after_fail236:;
     725              :         }
     726              :       else
     727              :         {
     728              :           if (single_use (captures[0]) && single_use (captures[1])
     729              : )
     730              :             {
     731              :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail237;
     732              :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail237;
     733              :               {
     734              :                 tree res_op0;
     735              :                 {
     736              :                   tree _o1[1], _r1;
     737              :                   _o1[0] = captures[3];
     738              :                   if (TREE_TYPE (_o1[0]) != type)
     739              :                     {
     740              :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     741              :                     }
     742              :                   else
     743              :                     _r1 = _o1[0];
     744              :                   res_op0 = _r1;
     745              :                 }
     746              :                 tree res_op1;
     747              :                 res_op1 = captures[4];
     748              :                 tree _r;
     749              :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     750              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 193, __FILE__, __LINE__, true);
     751              :                 return _r;
     752              :               }
     753              : next_after_fail237:;
     754              :             }
     755              :         }
     756              :     }
     757              :   return NULL_TREE;
     758              : }
     759              : 
     760              : tree
     761          300 : generic_simplify_152 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     762              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     763              : {
     764          300 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     765          300 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail257;
     766          300 :   {
     767          300 :     if (! tree_invariant_p (captures[1])) goto next_after_fail257;
     768            0 :     tree res_op0;
     769            0 :     {
     770            0 :       tree _o1[2], _r1;
     771            0 :       {
     772            0 :         tree _o2[2], _r2;
     773            0 :         _o2[0] = unshare_expr (captures[1]);
     774            0 :         _o2[1] = captures[4];
     775            0 :         _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     776            0 :         _o1[0] = _r2;
     777              :       }
     778            0 :       _o1[1] = captures[2];
     779            0 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     780            0 :       res_op0 = _r1;
     781              :     }
     782            0 :     tree res_op1;
     783            0 :     res_op1 = captures[1];
     784            0 :     tree _r;
     785            0 :     _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     786            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 206, __FILE__, __LINE__, true);
     787              :     return _r;
     788              :   }
     789              : next_after_fail257:;
     790              :   return NULL_TREE;
     791              : }
     792              : 
     793              : tree
     794            0 : generic_simplify_160 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     795              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     796              :  const enum tree_code ARG_UNUSED (cmp))
     797              : {
     798            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     799            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail283;
     800            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail283;
     801            0 :   {
     802            0 :     tree res_op0;
     803            0 :     {
     804            0 :       tree _o1[2], _r1;
     805            0 :       _o1[0] =  build_zero_cst (TREE_TYPE (captures[0]));
     806            0 :       _o1[1] = captures[2];
     807            0 :       _r1 = fold_build2_loc (loc, cmp, type, _o1[0], _o1[1]);
     808            0 :       res_op0 = _r1;
     809              :     }
     810            0 :     tree res_op1;
     811            0 :     res_op1 = captures[3];
     812            0 :     tree _r;
     813            0 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     814            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 225, __FILE__, __LINE__, true);
     815              :     return _r;
     816              :   }
     817              : next_after_fail283:;
     818              :   return NULL_TREE;
     819              : }
     820              : 
     821              : tree
     822            4 : generic_simplify_167 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     823              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     824              : {
     825            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     826            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail303;
     827            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail303;
     828            4 :   {
     829            4 :     tree _r;
     830            4 :     _r =  constant_boolean_node (true, type);
     831            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
     832            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     833            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 226, __FILE__, __LINE__, true);
     834              :     return _r;
     835              :   }
     836              : next_after_fail303:;
     837              :   return NULL_TREE;
     838              : }
     839              : 
     840              : tree
     841            2 : generic_simplify_170 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     842              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     843              : {
     844            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     845            4 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     846            4 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
     847              : )
     848              :     {
     849            2 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail307;
     850            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail307;
     851            2 :       {
     852            2 :         tree res_op0;
     853            2 :         res_op0 = captures[3];
     854            2 :         tree res_op1;
     855            2 :         {
     856            2 :           tree _o1[2], _r1;
     857            2 :           _o1[0] = captures[1];
     858            2 :           _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
     859            2 :           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     860            2 :           res_op1 = _r1;
     861              :         }
     862            2 :         tree _r;
     863            2 :         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     864            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 209, __FILE__, __LINE__, true);
     865            2 :         return _r;
     866              :       }
     867              : next_after_fail307:;
     868              :     }
     869              :   return NULL_TREE;
     870              : }
     871              : 
     872              : tree
     873            4 : generic_simplify_177 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     874              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     875              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
     876              : {
     877            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     878            4 :   if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
     879              : )
     880              :     {
     881            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail314;
     882            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail314;
     883            0 :       {
     884            0 :         tree res_op0;
     885            0 :         res_op0 = captures[0];
     886            0 :         tree _r;
     887            0 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     888            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 234, __FILE__, __LINE__, true);
     889            0 :         return _r;
     890              :       }
     891              : next_after_fail314:;
     892              :     }
     893              :   return NULL_TREE;
     894              : }
     895              : 
     896              : tree
     897      6089077 : generic_simplify_180 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     898              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     899              :  const enum tree_code ARG_UNUSED (op))
     900              : {
     901      6089077 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     902      6089077 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail317;
     903      6089077 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail317;
     904      6089077 :   {
     905      6089077 :     tree res_op0;
     906      6089077 :     res_op0 = captures[0];
     907      6089077 :     tree _r;
     908      6089077 :     _r = non_lvalue_loc (loc, res_op0);
     909      6089077 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 236, __FILE__, __LINE__, true);
     910              :     return _r;
     911              :   }
     912              : next_after_fail317:;
     913              :   return NULL_TREE;
     914              : }
     915              : 
     916              : tree
     917            0 : generic_simplify_184 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     918              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     919              : {
     920            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     921            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail321;
     922            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail321;
     923            0 :   {
     924            0 :     tree _r;
     925            0 :     _r =  build_zero_cst (type);
     926            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 239, __FILE__, __LINE__, true);
     927              :     return _r;
     928              :   }
     929              : next_after_fail321:;
     930              :   return NULL_TREE;
     931              : }
     932              : 
     933              : tree
     934            0 : generic_simplify_189 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     935              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     936              :  const enum tree_code ARG_UNUSED (cmp))
     937              : {
     938            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     939            0 :   if (fold_before_rtl_expansion_p ()
     940              : )
     941              :     {
     942            0 :       if (INTEGRAL_TYPE_P (type)
     943            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     944              : )
     945              :         {
     946            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail328;
     947            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail328;
     948            0 :           {
     949            0 :             tree res_op0;
     950            0 :             res_op0 = captures[0];
     951            0 :             tree res_op1;
     952            0 :             res_op1 = captures[3];
     953            0 :             tree res_op2;
     954            0 :             res_op2 =  build_zero_cst (type);
     955            0 :             tree _r;
     956            0 :             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
     957            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 243, __FILE__, __LINE__, true);
     958            0 :             return _r;
     959              :           }
     960              : next_after_fail328:;
     961              :         }
     962              :     }
     963              :   return NULL_TREE;
     964              : }
     965              : 
     966              : tree
     967         5769 : generic_simplify_193 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     968              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     969              :  const enum tree_code ARG_UNUSED (op))
     970              : {
     971         5769 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     972         5769 :   {
     973         5769 :  poly_widest_int factor;
     974         5769 :       if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
     975         5738 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
     976        11507 :  && multiple_p (wi::to_poly_widest (captures[3]), wi::to_widest (captures[1]), &factor)
     977              : )
     978              :         {
     979         5692 :           {
     980         5692 :  wi::overflow_type overflow;
     981         5692 :  wide_int mul;
     982         5692 :               if (types_match (type, TREE_TYPE (captures[2]))
     983         5646 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
     984            0 :  && TREE_CODE (captures[2]) == INTEGER_CST
     985            0 :  && TREE_CODE (captures[3]) == INTEGER_CST
     986         5692 :  && (mul = wi::mul (wi::to_wide (captures[2]), wi::to_wide (captures[3]),
     987            0 :  TYPE_SIGN (type), &overflow),
     988            0 :  !overflow)
     989         5692 :  && (TYPE_UNSIGNED (type)
     990         5692 :  || known_eq (factor, 1)
     991            0 :  || (get_range_pos_neg (captures[0])
     992            0 :  | (((op == PLUS_EXPR) ^ (tree_int_cst_sgn (captures[2]) < 0))
     993            0 :  ? 1 : 2)) != 3)
     994              : )
     995              :                 {
     996            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail332;
     997            0 :                   {
     998            0 :                     tree res_op0;
     999            0 :                     {
    1000            0 :                       tree _o1[2], _r1;
    1001            0 :                       _o1[0] = captures[0];
    1002            0 :                       _o1[1] =  wide_int_to_tree (type, factor);
    1003            0 :                       _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1004            0 :                       res_op0 = _r1;
    1005              :                     }
    1006            0 :                     tree res_op1;
    1007            0 :                     res_op1 =  wide_int_to_tree (type, mul);
    1008            0 :                     tree _r;
    1009            0 :                     _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1010            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1011            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1012            0 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    1013            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1014            0 :                     if (TREE_SIDE_EFFECTS (captures[3]))
    1015            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1016            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 247, __FILE__, __LINE__, true);
    1017            0 :                     return _r;
    1018              :                   }
    1019            0 : next_after_fail332:;
    1020              :                 }
    1021              :               else
    1022              :                 {
    1023         5692 :                   {
    1024         5692 :  tree utype = unsigned_type_for (type);
    1025         5692 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail333;
    1026         5692 :                       {
    1027         5692 :                         tree res_op0;
    1028         5692 :                         {
    1029         5692 :                           tree _o1[2], _r1;
    1030         5692 :                           {
    1031         5692 :                             tree _o2[2], _r2;
    1032         5692 :                             {
    1033         5692 :                               tree _o3[1], _r3;
    1034         5692 :                               _o3[0] = captures[0];
    1035         5692 :                               if (TREE_TYPE (_o3[0]) != utype)
    1036              :                                 {
    1037         5692 :                                   _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    1038              :                                 }
    1039              :                               else
    1040              :                                 _r3 = _o3[0];
    1041         5692 :                               _o2[0] = _r3;
    1042              :                             }
    1043         5692 :                             _o2[1] =  wide_int_to_tree (utype, factor);
    1044         5692 :                             _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1045         5692 :                             _o1[0] = _r2;
    1046              :                           }
    1047         5692 :                           {
    1048         5692 :                             tree _o2[2], _r2;
    1049         5692 :                             {
    1050         5692 :                               tree _o3[1], _r3;
    1051         5692 :                               _o3[0] = captures[3];
    1052         5692 :                               if (TREE_TYPE (_o3[0]) != utype)
    1053              :                                 {
    1054           14 :                                   _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    1055              :                                 }
    1056              :                               else
    1057              :                                 _r3 = _o3[0];
    1058         5692 :                               _o2[0] = _r3;
    1059              :                             }
    1060         5692 :                             {
    1061         5692 :                               tree _o3[1], _r3;
    1062         5692 :                               _o3[0] = captures[2];
    1063         5692 :                               if (TREE_TYPE (_o3[0]) != utype)
    1064              :                                 {
    1065           46 :                                   _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    1066              :                                 }
    1067              :                               else
    1068              :                                 _r3 = _o3[0];
    1069         5692 :                               _o2[1] = _r3;
    1070              :                             }
    1071         5692 :                             _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1072         5692 :                             _o1[1] = _r2;
    1073              :                           }
    1074         5692 :                           _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1075         5692 :                           res_op0 = _r1;
    1076              :                         }
    1077         5692 :                         tree _r;
    1078         5692 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1079         5692 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1080            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1081         5692 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 248, __FILE__, __LINE__, true);
    1082         5692 :                         return _r;
    1083              :                       }
    1084            0 : next_after_fail333:;
    1085              :                   }
    1086              :                 }
    1087            0 :           }
    1088              :         }
    1089         5769 :   }
    1090           77 :   return NULL_TREE;
    1091              : }
    1092              : 
    1093              : tree
    1094        54220 : generic_simplify_222 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1095              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1096              :  const enum tree_code ARG_UNUSED (neeq))
    1097              : {
    1098        54220 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1099        54220 :   {
    1100        54220 :  poly_int64 diff; tree inner_type = TREE_TYPE (captures[1]);
    1101        54220 :       if (ptr_difference_const (captures[2], captures[0], &diff)
    1102              : )
    1103              :         {
    1104        11304 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail378;
    1105        11304 :           {
    1106        11304 :             tree res_op0;
    1107        11304 :             res_op0 =  build_int_cst_type (inner_type, diff);
    1108        11304 :             tree res_op1;
    1109        11304 :             res_op1 = captures[1];
    1110        11304 :             tree _r;
    1111        11304 :             _r = fold_build2_loc (loc, neeq, type, res_op0, res_op1);
    1112        11304 :             if (TREE_SIDE_EFFECTS (captures[0]))
    1113            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1114        11304 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1115            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1116        11304 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 291, __FILE__, __LINE__, true);
    1117        11304 :             return _r;
    1118              :           }
    1119            0 : next_after_fail378:;
    1120              :         }
    1121              :   }
    1122        42916 :   return NULL_TREE;
    1123              : }
    1124              : 
    1125              : tree
    1126          725 : generic_simplify_230 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1127              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1128              :  const enum tree_code ARG_UNUSED (cmp))
    1129              : {
    1130          725 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1131          725 :   if (wi::gt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    1132          725 :  TYPE_SIGN (TREE_TYPE (captures[0])))
    1133              : )
    1134              :     {
    1135           42 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail387;
    1136           42 :       {
    1137           42 :         tree _r;
    1138           42 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1139           42 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1140            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1141           42 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1142            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1143           42 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1144            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1145           42 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 300, __FILE__, __LINE__, true);
    1146           42 :         return _r;
    1147              :       }
    1148            0 : next_after_fail387:;
    1149              :     }
    1150              :   else
    1151              :     {
    1152          683 :       if (wi::lt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    1153          683 :  TYPE_SIGN (TREE_TYPE (captures[0])))
    1154              : )
    1155              :         {
    1156          683 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail388;
    1157          683 :           {
    1158          683 :             tree res_op0;
    1159          683 :             res_op0 = captures[0];
    1160          683 :             tree res_op1;
    1161          683 :             res_op1 = captures[2];
    1162          683 :             tree _r;
    1163          683 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1164          683 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1165            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1166          683 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 301, __FILE__, __LINE__, true);
    1167          683 :             return _r;
    1168              :           }
    1169            0 : next_after_fail388:;
    1170              :         }
    1171              :     }
    1172              :   return NULL_TREE;
    1173              : }
    1174              : 
    1175              : tree
    1176           47 : generic_simplify_241 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1177              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1178              : {
    1179           47 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1180           47 :   if (TREE_CODE (TREE_TYPE (captures[1])) != COMPLEX_TYPE
    1181           47 :  && (!VECTOR_MODE_P (TYPE_MODE (TREE_TYPE (captures[1])))
    1182            7 :  || !target_supports_op_p (TREE_TYPE (captures[1]), TRUNC_DIV_EXPR,
    1183              :  optab_vector)
    1184            0 :  || target_supports_op_p (TREE_TYPE (captures[1]), TRUNC_MOD_EXPR,
    1185              :  optab_vector))
    1186              : )
    1187              :     {
    1188           47 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail409;
    1189           47 :       {
    1190           47 :         tree res_op0;
    1191           47 :         {
    1192           47 :           tree _o1[2], _r1;
    1193           47 :           _o1[0] = captures[1];
    1194           47 :           _o1[1] = captures[2];
    1195           47 :           _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1196           47 :           res_op0 = _r1;
    1197              :         }
    1198           47 :         tree res_op1;
    1199           47 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1200           47 :         tree _r;
    1201           47 :         _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1202           47 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 322, __FILE__, __LINE__, true);
    1203           47 :         return _r;
    1204              :       }
    1205            0 : next_after_fail409:;
    1206              :     }
    1207              :   return NULL_TREE;
    1208              : }
    1209              : 
    1210              : tree
    1211        61676 : generic_simplify_249 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1212              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1213              :  const enum tree_code ARG_UNUSED (cmp))
    1214              : {
    1215        61676 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1216       123352 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1217       123352 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    1218       139740 :  && wi::to_wide (captures[1]) != 0
    1219              : )
    1220              :     {
    1221        16388 :       {
    1222        16388 :  widest_int quot;
    1223        16388 :           if (wi::multiple_of_p (wi::to_widest (captures[2]), wi::to_widest (captures[1]),
    1224        16388 :  TYPE_SIGN (TREE_TYPE (captures[0])), &quot)
    1225              : )
    1226              :             {
    1227        12377 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail420;
    1228        12377 :               {
    1229        12377 :                 tree res_op0;
    1230        12377 :                 res_op0 = captures[0];
    1231        12377 :                 tree res_op1;
    1232        12377 :                 res_op1 =  wide_int_to_tree (TREE_TYPE (captures[0]), quot);
    1233        12377 :                 tree _r;
    1234        12377 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1235        12377 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1236            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1237        12377 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1238            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1239        12377 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 332, __FILE__, __LINE__, true);
    1240        12377 :                 return _r;
    1241              :               }
    1242            0 : next_after_fail420:;
    1243              :             }
    1244              :           else
    1245              :             {
    1246         4011 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail421;
    1247         4011 :               {
    1248         4011 :                 tree _r;
    1249         4011 :                 _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1250         4011 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    1251            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1252         4011 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1253            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1254         4011 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1255            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1256         4011 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 333, __FILE__, __LINE__, true);
    1257         4011 :                 return _r;
    1258              :               }
    1259            0 : next_after_fail421:;
    1260              :             }
    1261        16388 :       }
    1262              :     }
    1263              :   else
    1264              :     {
    1265        90576 :       if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1266        45288 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))
    1267        90576 :  && (wi::bit_and (wi::to_wide (captures[1]), 1) == 1)
    1268              : )
    1269              :         {
    1270         1077 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail422;
    1271         1077 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail422;
    1272         1077 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail422;
    1273         1077 :           {
    1274         1077 :             tree res_op0;
    1275         1077 :             res_op0 = captures[0];
    1276         1077 :             tree res_op1;
    1277         1077 :  tree itype = TREE_TYPE (captures[0]);
    1278         1077 :  int p = TYPE_PRECISION (itype);
    1279         1077 :  wide_int m = wi::one (p + 1) << p;
    1280         1077 :  wide_int a = wide_int::from (wi::to_wide (captures[1]), p + 1, UNSIGNED);
    1281         1077 :  wide_int i = wide_int::from (wi::mod_inv (a, m),
    1282         2154 :  p, TYPE_SIGN (itype));     res_op1 = 
    1283         1077 :  wide_int_to_tree (itype, wi::mul (i, wi::to_wide (captures[2])));
    1284         1077 :             tree _r;
    1285         1077 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1286         1077 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 334, __FILE__, __LINE__, true);
    1287         1077 :             return _r;
    1288         1077 :           }
    1289              : next_after_fail422:;
    1290              :         }
    1291              :     }
    1292              :   return NULL_TREE;
    1293              : }
    1294              : 
    1295              : tree
    1296      5979251 : generic_simplify_265 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1297              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1298              :  const enum tree_code ARG_UNUSED (cmp))
    1299              : {
    1300      5979251 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1301     11958478 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1302      2476010 :  && !(targetm.have_canonicalize_funcptr_for_compare ()
    1303            0 :  && ((POINTER_TYPE_P (TREE_TYPE (captures[1]))
    1304            0 :  && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[1]))))
    1305            0 :  || (POINTER_TYPE_P (TREE_TYPE (captures[3]))
    1306            0 :  && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[3]))))))
    1307      5979251 :  && single_use (captures[0])
    1308              : )
    1309              :     {
    1310      2476010 :       if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[0]))
    1311      1736938 :  && (TREE_CODE (captures[3]) == INTEGER_CST
    1312      1736938 :  || captures[2] != captures[3])
    1313      1736938 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1])) == TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1314              :  || cmp == NE_EXPR
    1315       987335 :  || cmp == EQ_EXPR)
    1316       788748 :  && !POINTER_TYPE_P (TREE_TYPE (captures[1]))
    1317      3152531 :  && (TREE_CODE (TREE_TYPE (captures[1])) != BOOLEAN_TYPE
    1318          390 :  || TREE_CODE (TREE_TYPE (captures[3])) == BOOLEAN_TYPE)
    1319              : )
    1320              :         {
    1321       676521 :           if (TREE_CODE (captures[2]) == INTEGER_CST
    1322              : )
    1323              :             {
    1324            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail480;
    1325            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail480;
    1326            0 :               {
    1327            0 :                 tree res_op0;
    1328            0 :                 res_op0 = captures[1];
    1329            0 :                 tree res_op1;
    1330            0 :                 res_op1 =  force_fit_type (TREE_TYPE (captures[1]),
    1331            0 :  wide_int::from (wi::to_wide (captures[2]),
    1332            0 :  MAX (TYPE_PRECISION (TREE_TYPE (captures[2])),
    1333              :  TYPE_PRECISION (TREE_TYPE (captures[1]))),
    1334            0 :  TYPE_SIGN (TREE_TYPE (captures[2]))),
    1335            0 :  0, TREE_OVERFLOW (captures[2]));
    1336            0 :                 tree _r;
    1337            0 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1338            0 :                 if (TREE_SIDE_EFFECTS (captures[3]))
    1339            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1340            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 391, __FILE__, __LINE__, true);
    1341            0 :                 return _r;
    1342              :               }
    1343              : next_after_fail480:;
    1344              :             }
    1345              :           else
    1346              :             {
    1347       676521 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail481;
    1348       584544 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail481;
    1349       584544 :               {
    1350       584544 :                 tree res_op0;
    1351       584544 :                 res_op0 = captures[1];
    1352       584544 :                 tree res_op1;
    1353       584544 :                 {
    1354       584544 :                   tree _o1[1], _r1;
    1355       584544 :                   _o1[0] = captures[2];
    1356       584544 :                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1357              :                     {
    1358       584422 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1359              :                     }
    1360              :                   else
    1361              :                     _r1 = _o1[0];
    1362       584544 :                   res_op1 = _r1;
    1363              :                 }
    1364       584544 :                 tree _r;
    1365       584544 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1366       584544 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 392, __FILE__, __LINE__, true);
    1367       584544 :                 return _r;
    1368              :               }
    1369              : next_after_fail481:;
    1370              :             }
    1371              :         }
    1372              :       else
    1373              :         {
    1374      1799489 :           if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
    1375              : )
    1376              :             {
    1377       680136 :               if ((cmp == EQ_EXPR || cmp == NE_EXPR
    1378       220853 :  || TYPE_UNSIGNED (TREE_TYPE (captures[0])) == TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1379       113051 :  || (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1380       111979 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))))
    1381       899917 :  && (types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]))
    1382       114099 :  || ((TYPE_PRECISION (TREE_TYPE (captures[1]))
    1383       114099 :  >= TYPE_PRECISION (TREE_TYPE (captures[3])))
    1384        48728 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1385        48728 :  == TYPE_UNSIGNED (TREE_TYPE (captures[3]))))
    1386        77217 :  || (TREE_CODE (captures[2]) == INTEGER_CST
    1387            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1388            0 :  && int_fits_type_p (captures[2], TREE_TYPE (captures[1]))))
    1389              : )
    1390              :                 {
    1391       601847 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail482;
    1392       601847 :                   {
    1393       601847 :                     tree res_op0;
    1394       601847 :                     res_op0 = captures[1];
    1395       601847 :                     tree res_op1;
    1396       601847 :                     {
    1397       601847 :                       tree _o1[1], _r1;
    1398       601847 :                       _o1[0] = captures[3];
    1399       601847 :                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1400              :                         {
    1401       131194 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1402              :                         }
    1403              :                       else
    1404              :                         _r1 = _o1[0];
    1405       601847 :                       res_op1 = _r1;
    1406              :                     }
    1407       601847 :                     tree _r;
    1408       601847 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1409       601847 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 393, __FILE__, __LINE__, true);
    1410       601847 :                     return _r;
    1411              :                   }
    1412            0 : next_after_fail482:;
    1413              :                 }
    1414              :               else
    1415              :                 {
    1416        78289 :                   if (TREE_CODE (captures[2]) == INTEGER_CST
    1417            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1418        78289 :  && !int_fits_type_p (captures[2], TREE_TYPE (captures[1]))
    1419              : )
    1420              :                     {
    1421            0 :                       {
    1422            0 :  tree min = lower_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
    1423            0 :  tree max = upper_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
    1424            0 :  bool above = integer_nonzerop (const_binop (LT_EXPR, type, max, captures[2]));
    1425            0 :  bool below = integer_nonzerop (const_binop (LT_EXPR, type, captures[2], min));
    1426            0 :                           if (above || below
    1427              : )
    1428              :                             {
    1429            0 :                               if (cmp == EQ_EXPR || cmp == NE_EXPR
    1430              : )
    1431              :                                 {
    1432            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail483;
    1433            0 :                                   {
    1434            0 :                                     tree _r;
    1435            0 :                                     _r =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
    1436            0 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1437            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1438            0 :                                     if (TREE_SIDE_EFFECTS (captures[3]))
    1439            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1440            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 394, __FILE__, __LINE__, true);
    1441            0 :                                     return _r;
    1442              :                                   }
    1443            0 : next_after_fail483:;
    1444              :                                 }
    1445              :                               else
    1446              :                                 {
    1447            0 :                                   if (cmp == LT_EXPR || cmp == LE_EXPR
    1448              : )
    1449              :                                     {
    1450            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail484;
    1451            0 :                                       {
    1452            0 :                                         tree _r;
    1453            0 :                                         _r =  constant_boolean_node (above ? true : false, type);
    1454            0 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1455            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1456            0 :                                         if (TREE_SIDE_EFFECTS (captures[3]))
    1457            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1458            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 395, __FILE__, __LINE__, true);
    1459            0 :                                         return _r;
    1460              :                                       }
    1461            0 : next_after_fail484:;
    1462              :                                     }
    1463              :                                   else
    1464              :                                     {
    1465            0 :                                       if (cmp == GT_EXPR || cmp == GE_EXPR
    1466              : )
    1467              :                                         {
    1468            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail485;
    1469            0 :                                           {
    1470            0 :                                             tree _r;
    1471            0 :                                             _r =  constant_boolean_node (above ? false : true, type);
    1472            0 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1473            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1474            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
    1475            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1476            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 396, __FILE__, __LINE__, true);
    1477            0 :                                             return _r;
    1478              :                                           }
    1479            0 : next_after_fail485:;
    1480              :                                         }
    1481              :                                     }
    1482              :                                 }
    1483              :                             }
    1484              :                       }
    1485              :                     }
    1486              :                 }
    1487              :             }
    1488              :         }
    1489              :     }
    1490              :   else
    1491              :     {
    1492      6963958 :       if (FLOAT_TYPE_P (TREE_TYPE (captures[1]))
    1493        85130 :  && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1494        42565 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[1])))
    1495      3588363 :  && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1496        42561 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[3])))
    1497              : )
    1498              :         {
    1499        42557 :           {
    1500        42557 :  tree type1 = TREE_TYPE (captures[3]);
    1501        42557 :  if (TREE_CODE (captures[3]) == REAL_CST && !DECIMAL_FLOAT_TYPE_P (type1))
    1502              :  {
    1503            0 :  REAL_VALUE_TYPE orig = TREE_REAL_CST (captures[3]);
    1504            0 :  if (TYPE_PRECISION (type1) > TYPE_PRECISION (float_type_node)
    1505            0 :  && exact_real_truncate (TYPE_MODE (float_type_node), &orig))
    1506            0 :  type1 = float_type_node;
    1507            0 :  if (TYPE_PRECISION (type1) > TYPE_PRECISION (double_type_node)
    1508            0 :  && exact_real_truncate (TYPE_MODE (double_type_node), &orig))
    1509            0 :  type1 = double_type_node;
    1510              :  }
    1511        42557 :  tree newtype
    1512        42557 :  = (element_precision (TREE_TYPE (captures[1])) > element_precision (type1)
    1513        42557 :  ? TREE_TYPE (captures[1]) : type1);
    1514        42557 :               if (element_precision (TREE_TYPE (captures[0])) > element_precision (newtype)
    1515        42557 :  && (!VECTOR_TYPE_P (type) || is_truth_type_for (newtype, type))
    1516              : )
    1517              :                 {
    1518         1527 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail486;
    1519         1527 :                   {
    1520         1527 :                     tree res_op0;
    1521         1527 :                     {
    1522         1527 :                       tree _o1[1], _r1;
    1523         1527 :                       _o1[0] = captures[1];
    1524         1527 :                       if (TREE_TYPE (_o1[0]) != newtype)
    1525              :                         {
    1526            9 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    1527              :                         }
    1528              :                       else
    1529              :                         _r1 = _o1[0];
    1530         1527 :                       res_op0 = _r1;
    1531              :                     }
    1532         1527 :                     tree res_op1;
    1533         1527 :                     {
    1534         1527 :                       tree _o1[1], _r1;
    1535         1527 :                       _o1[0] = captures[3];
    1536         1527 :                       if (TREE_TYPE (_o1[0]) != newtype)
    1537              :                         {
    1538            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    1539              :                         }
    1540              :                       else
    1541              :                         _r1 = _o1[0];
    1542         1527 :                       res_op1 = _r1;
    1543              :                     }
    1544         1527 :                     tree _r;
    1545         1527 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1546         1527 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 397, __FILE__, __LINE__, true);
    1547         1527 :                     return _r;
    1548              :                   }
    1549            0 : next_after_fail486:;
    1550              :                 }
    1551              :           }
    1552              :         }
    1553              :     }
    1554              :   return NULL_TREE;
    1555              : }
    1556              : 
    1557              : tree
    1558          374 : generic_simplify_294 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1559              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1560              :  const enum tree_code ARG_UNUSED (op),
    1561              :  const combined_fn ARG_UNUSED (ctz))
    1562              : {
    1563          374 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1564          374 :   {
    1565          374 :  tree type0 = TREE_TYPE (captures[1]);
    1566          374 :  int prec = TYPE_PRECISION (type0);
    1567          374 :  bool ok = true;
    1568          374 :  if (sanitize_flags_p (SANITIZE_BUILTIN)
    1569          374 :  && (!cfun
    1570           64 :  || (cfun->curr_properties & PROP_ssa) == 0))
    1571              :  ok = false;
    1572          620 :       if (ok && prec <= MAX_FIXED_MODE_SIZE
    1573              : )
    1574              :         {
    1575          310 :           if (tree_int_cst_sgn (captures[2]) < 0 || wi::to_widest (captures[2]) >= prec
    1576              : )
    1577              :             {
    1578           36 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail553;
    1579           36 :               {
    1580           36 :                 tree _r;
    1581           36 :                 _r =  constant_boolean_node (op == EQ_EXPR ? false : true, type);
    1582           36 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1583            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1584           36 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1585            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1586           36 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 447, __FILE__, __LINE__, true);
    1587          310 :                 return _r;
    1588              :               }
    1589            0 : next_after_fail553:;
    1590              :             }
    1591              :           else
    1592              :             {
    1593          274 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail554;
    1594          274 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail554;
    1595          274 :               {
    1596          274 :                 tree res_op0;
    1597          274 :                 {
    1598          274 :                   tree _o1[2], _r1;
    1599          274 :                   _o1[0] = captures[1];
    1600          274 :                   _o1[1] =  wide_int_to_tree (type0,
    1601          274 :  wi::mask (tree_to_uhwi (captures[2]) + 1,
    1602              :  false, prec));
    1603          274 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1604          274 :                   res_op0 = _r1;
    1605              :                 }
    1606          274 :                 tree res_op1;
    1607          274 :                 res_op1 =  wide_int_to_tree (type0,
    1608          274 :  wi::shifted_mask (tree_to_uhwi (captures[2]), 1,
    1609              :  false, prec));
    1610          274 :                 tree _r;
    1611          274 :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1612          274 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 448, __FILE__, __LINE__, true);
    1613          274 :                 return _r;
    1614              :               }
    1615           64 : next_after_fail554:;
    1616              :             }
    1617              :         }
    1618              :   }
    1619           64 :   return NULL_TREE;
    1620              : }
    1621              : 
    1622              : tree
    1623            0 : generic_simplify_304 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1624              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1625              :  const combined_fn ARG_UNUSED (copysigns))
    1626              : {
    1627            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1628            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail568;
    1629            0 :   {
    1630            0 :     tree res_op0;
    1631            0 :     res_op0 = captures[0];
    1632            0 :     tree res_op1;
    1633            0 :     res_op1 = captures[2];
    1634            0 :     tree _r;
    1635            0 :     _r = maybe_build_call_expr_loc (loc, copysigns, type, 2, res_op0, res_op1);
    1636            0 :     if (!_r)
    1637            0 :       goto next_after_fail568;
    1638            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    1639            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1640            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 462, __FILE__, __LINE__, true);
    1641              :     return _r;
    1642              :   }
    1643              : next_after_fail568:;
    1644              :   return NULL_TREE;
    1645              : }
    1646              : 
    1647              : tree
    1648         2749 : generic_simplify_311 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1649              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1650              :  const enum tree_code ARG_UNUSED (div))
    1651              : {
    1652         2749 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1653         2749 :   if (!TYPE_UNSIGNED (type)
    1654              : )
    1655              :     {
    1656         1683 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail577;
    1657         1683 :       {
    1658         1683 :         tree res_op0;
    1659         1683 :         res_op0 = captures[0];
    1660         1683 :         tree _r;
    1661         1683 :         _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    1662         1683 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1663            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1664         1683 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 469, __FILE__, __LINE__, true);
    1665         1683 :         return _r;
    1666              :       }
    1667            0 : next_after_fail577:;
    1668              :     }
    1669              :   return NULL_TREE;
    1670              : }
    1671              : 
    1672              : tree
    1673        45442 : generic_simplify_317 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1674              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1675              :  const enum tree_code ARG_UNUSED (div))
    1676              : {
    1677        45442 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1678        45442 :   if (integer_pow2p (captures[2])
    1679        36426 :  && tree_int_cst_sgn (captures[2]) > 0
    1680        36426 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    1681        90884 :  && wi::to_wide (captures[2]) + wi::to_wide (captures[1]) == 0
    1682              : )
    1683              :     {
    1684            1 :       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail584;
    1685            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail584;
    1686            1 :       {
    1687            1 :         tree res_op0;
    1688            1 :         {
    1689            1 :           tree _o1[1], _r1;
    1690            1 :           _o1[0] = captures[0];
    1691            1 :           if (TREE_TYPE (_o1[0]) != type)
    1692              :             {
    1693            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1694              :             }
    1695              :           else
    1696              :             _r1 = _o1[0];
    1697            1 :           res_op0 = _r1;
    1698              :         }
    1699            1 :         tree res_op1;
    1700            1 :         res_op1 =  build_int_cst (integer_type_node,
    1701            1 :  wi::exact_log2 (wi::to_wide (captures[2])));
    1702            1 :         tree _r;
    1703            1 :         _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
    1704            1 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1705            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1706            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 476, __FILE__, __LINE__, true);
    1707            1 :         return _r;
    1708              :       }
    1709              : next_after_fail584:;
    1710              :     }
    1711              :   return NULL_TREE;
    1712              : }
    1713              : 
    1714              : tree
    1715          529 : generic_simplify_324 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1716              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1717              :  const enum tree_code ARG_UNUSED (mod))
    1718              : {
    1719          529 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1720          529 :   if (!TYPE_UNSIGNED (type)
    1721              : )
    1722              :     {
    1723           20 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail591;
    1724           20 :       {
    1725           20 :         tree _r;
    1726           20 :         _r =  build_zero_cst (type);
    1727           20 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1728            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1729           20 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1730            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1731           20 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 483, __FILE__, __LINE__, true);
    1732           20 :         return _r;
    1733              :       }
    1734            0 : next_after_fail591:;
    1735              :     }
    1736              :   return NULL_TREE;
    1737              : }
    1738              : 
    1739              : tree
    1740            6 : generic_simplify_336 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1741              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1742              :  const combined_fn ARG_UNUSED (COS),
    1743              :  const combined_fn ARG_UNUSED (SIN),
    1744              :  const combined_fn ARG_UNUSED (TAN))
    1745              : {
    1746            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1747            6 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1748              : )
    1749              :     {
    1750            6 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail605;
    1751            6 :       {
    1752            6 :         tree res_op0;
    1753            6 :         res_op0 =  build_one_cst (type);
    1754            6 :         tree res_op1;
    1755            6 :         {
    1756            6 :           tree _o1[1], _r1;
    1757            6 :           _o1[0] = captures[1];
    1758            6 :           _r1 = maybe_build_call_expr_loc (loc, TAN, TREE_TYPE (_o1[0]), 1, _o1[0]);
    1759            6 :           if (!_r1)
    1760            0 :             goto next_after_fail605;
    1761            6 :           res_op1 = _r1;
    1762              :         }
    1763            6 :         tree _r;
    1764            6 :         _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    1765            6 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 497, __FILE__, __LINE__, true);
    1766            6 :         return _r;
    1767              :       }
    1768              : next_after_fail605:;
    1769              :     }
    1770              :   return NULL_TREE;
    1771              : }
    1772              : 
    1773              : tree
    1774            2 : generic_simplify_344 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1775              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1776              :  const enum tree_code ARG_UNUSED (cmp),
    1777              :  const enum tree_code ARG_UNUSED (minmax))
    1778              : {
    1779            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1780            2 :   {
    1781            2 :  tree_code code = minmax_from_comparison (cmp, captures[0], captures[3], captures[0], captures[1]);
    1782            2 :       if (code == MIN_EXPR
    1783              : )
    1784              :         {
    1785            0 :           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail616;
    1786            0 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail616;
    1787            0 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail616;
    1788            0 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail616;
    1789            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail616;
    1790            0 :           {
    1791            0 :             tree res_op0;
    1792            0 :             {
    1793            0 :               tree _o1[2], _r1;
    1794            0 :               _o1[0] = captures[0];
    1795            0 :               _o1[1] = captures[3];
    1796            0 :               _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1797            0 :               res_op0 = _r1;
    1798              :             }
    1799            0 :             tree res_op1;
    1800            0 :             res_op1 = captures[2];
    1801            0 :             tree _r;
    1802            0 :             _r = fold_build2_loc (loc, minmax, type, res_op0, res_op1);
    1803            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 508, __FILE__, __LINE__, true);
    1804            0 :             return _r;
    1805              :           }
    1806              : next_after_fail616:;
    1807              :         }
    1808              :       else
    1809              :         {
    1810            2 :           if (code == MAX_EXPR
    1811              : )
    1812              :             {
    1813            2 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail617;
    1814            2 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail617;
    1815            2 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail617;
    1816            2 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail617;
    1817            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail617;
    1818            2 :               {
    1819            2 :                 tree res_op0;
    1820            2 :                 {
    1821            2 :                   tree _o1[2], _r1;
    1822            2 :                   _o1[0] = captures[0];
    1823            2 :                   _o1[1] = captures[3];
    1824            2 :                   _r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1825            2 :                   res_op0 = _r1;
    1826              :                 }
    1827            2 :                 tree res_op1;
    1828            2 :                 res_op1 = captures[2];
    1829            2 :                 tree _r;
    1830            2 :                 _r = fold_build2_loc (loc, minmax, type, res_op0, res_op1);
    1831            2 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 509, __FILE__, __LINE__, true);
    1832            2 :                 return _r;
    1833              :               }
    1834              : next_after_fail617:;
    1835              :             }
    1836              :         }
    1837              :   }
    1838              :   return NULL_TREE;
    1839              : }
    1840              : 
    1841              : tree
    1842           15 : generic_simplify_357 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1843              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1844              :  const enum tree_code ARG_UNUSED (op))
    1845              : {
    1846           15 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1847           15 :   if (INTEGRAL_TYPE_P (type)
    1848           15 :  && TYPE_PRECISION (type) > 1
    1849           15 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1850           30 :  && expr_no_side_effects_p (captures[1])
    1851              : )
    1852              :     {
    1853            8 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail632;
    1854            8 :       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail632;
    1855            8 :       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail632;
    1856            8 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail632;
    1857            8 :       {
    1858            8 :         tree res_op0;
    1859            8 :         {
    1860            8 :           tree _o1[2], _r1;
    1861            8 :           {
    1862            8 :             tree _o2[1], _r2;
    1863            8 :             _o2[0] = captures[0];
    1864            8 :             if (TREE_TYPE (_o2[0]) != type)
    1865              :               {
    1866            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    1867              :               }
    1868              :             else
    1869              :               _r2 = _o2[0];
    1870            8 :             _o1[0] = _r2;
    1871              :           }
    1872            8 :           _o1[1] = captures[1];
    1873            8 :           _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1874            8 :           res_op0 = _r1;
    1875              :         }
    1876            8 :         tree res_op1;
    1877            8 :         res_op1 = captures[2];
    1878            8 :         tree _r;
    1879            8 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1880            8 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 524, __FILE__, __LINE__, true);
    1881            8 :         return _r;
    1882              :       }
    1883              : next_after_fail632:;
    1884              :     }
    1885              :   return NULL_TREE;
    1886              : }
    1887              : 
    1888              : tree
    1889           22 : generic_simplify_372 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1890              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1891              :  const enum tree_code ARG_UNUSED (cmp))
    1892              : {
    1893           22 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1894           22 :   if (INTEGRAL_TYPE_P (type)
    1895           22 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1896           22 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1897           44 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (type)
    1898              : )
    1899              :     {
    1900           22 :       {
    1901           22 :  tree shifter = build_int_cst (integer_type_node, TYPE_PRECISION (type) - 1);
    1902           22 :           if (cmp == LT_EXPR
    1903              : )
    1904              :             {
    1905           13 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail648;
    1906           13 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail648;
    1907           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail648;
    1908           13 :               {
    1909           13 :                 tree res_op0;
    1910           13 :                 {
    1911           13 :                   tree _o1[1], _r1;
    1912           13 :                   {
    1913           13 :                     tree _o2[2], _r2;
    1914           13 :                     _o2[0] = captures[0];
    1915           13 :                     _o2[1] = shifter;
    1916           13 :                     _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1917           13 :                     _o1[0] = _r2;
    1918              :                   }
    1919           13 :                   if (TREE_TYPE (_o1[0]) != type)
    1920              :                     {
    1921            1 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1922              :                     }
    1923              :                   else
    1924              :                     _r1 = _o1[0];
    1925           13 :                   res_op0 = _r1;
    1926              :                 }
    1927           13 :                 tree res_op1;
    1928           13 :                 res_op1 = captures[1];
    1929           13 :                 tree _r;
    1930           13 :                 _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    1931           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 538, __FILE__, __LINE__, true);
    1932           13 :                 return _r;
    1933              :               }
    1934              : next_after_fail648:;
    1935              :             }
    1936              :           else
    1937              :             {
    1938            9 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail649;
    1939            9 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail649;
    1940            9 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail649;
    1941            9 :               {
    1942            9 :                 tree res_op0;
    1943            9 :                 {
    1944            9 :                   tree _o1[2], _r1;
    1945            9 :                   {
    1946            9 :                     tree _o2[1], _r2;
    1947            9 :                     {
    1948            9 :                       tree _o3[2], _r3;
    1949            9 :                       _o3[0] = captures[0];
    1950            9 :                       _o3[1] = shifter;
    1951            9 :                       _r3 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    1952            9 :                       _o2[0] = _r3;
    1953              :                     }
    1954            9 :                     if (TREE_TYPE (_o2[0]) != type)
    1955              :                       {
    1956            1 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    1957              :                       }
    1958              :                     else
    1959              :                       _r2 = _o2[0];
    1960            9 :                     _o1[0] = _r2;
    1961              :                   }
    1962            9 :                   _o1[1] = captures[1];
    1963            9 :                   _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1964            9 :                   res_op0 = _r1;
    1965              :                 }
    1966            9 :                 tree _r;
    1967            9 :                 _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    1968            9 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 539, __FILE__, __LINE__, true);
    1969            9 :                 return _r;
    1970              :               }
    1971              : next_after_fail649:;
    1972              :             }
    1973              :       }
    1974              :     }
    1975              :   return NULL_TREE;
    1976              : }
    1977              : 
    1978              : tree
    1979            0 : generic_simplify_391 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1980              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1981              :  const enum tree_code ARG_UNUSED (cmp),
    1982              :  const enum tree_code ARG_UNUSED (cmp2))
    1983              : {
    1984            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1985            0 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
    1986            0 :  && TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1987            0 :  && wi::gt_p (wi::to_wide (captures[1]), 0, TYPE_SIGN (TREE_TYPE (captures[1])))
    1988              : )
    1989              :     {
    1990            0 :       {
    1991            0 :  tree utype = TREE_TYPE (captures[2]);
    1992            0 :  wide_int denom = wi::to_wide (captures[1]);
    1993            0 :  wide_int right = wi::to_wide (captures[2]);
    1994            0 :  wide_int smax = wi::sdiv_trunc (wi::max_value (TREE_TYPE (captures[0])), denom);
    1995            0 :  wide_int smin = wi::sdiv_trunc (wi::min_value (TREE_TYPE (captures[0])), denom);
    1996            0 :  bool small = wi::leu_p (right, smax);
    1997            0 :  bool large = wi::geu_p (right, smin);
    1998            0 :           if (small || large
    1999              : )
    2000              :             {
    2001            0 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail673;
    2002            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail673;
    2003            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail673;
    2004            0 :               {
    2005            0 :                 tree res_op0;
    2006            0 :                 {
    2007            0 :                   tree _o1[1], _r1;
    2008            0 :                   _o1[0] = captures[0];
    2009            0 :                   if (TREE_TYPE (_o1[0]) != utype)
    2010              :                     {
    2011            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    2012              :                     }
    2013              :                   else
    2014              :                     _r1 = _o1[0];
    2015            0 :                   res_op0 = _r1;
    2016              :                 }
    2017            0 :                 tree res_op1;
    2018            0 :                 {
    2019            0 :                   tree _o1[2], _r1;
    2020            0 :                   _o1[0] = captures[2];
    2021            0 :                   {
    2022            0 :                     tree _o2[1], _r2;
    2023            0 :                     _o2[0] = captures[1];
    2024            0 :                     if (TREE_TYPE (_o2[0]) != TREE_TYPE (res_op0))
    2025              :                       {
    2026            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o2[0]);
    2027              :                       }
    2028              :                     else
    2029              :                       _r2 = _o2[0];
    2030            0 :                     _o1[1] = _r2;
    2031              :                   }
    2032            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2033            0 :                   res_op1 = _r1;
    2034              :                 }
    2035            0 :                 tree _r;
    2036            0 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2037            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 563, __FILE__, __LINE__, true);
    2038            0 :                 return _r;
    2039              :               }
    2040            0 : next_after_fail673:;
    2041              :             }
    2042              :           else
    2043              :             {
    2044            0 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail674;
    2045            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail674;
    2046            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail674;
    2047            0 :               {
    2048            0 :                 tree res_op0;
    2049            0 :                 res_op0 = captures[0];
    2050            0 :                 tree res_op1;
    2051            0 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    2052            0 :                 tree _r;
    2053            0 :                 _r = fold_build2_loc (loc, cmp2, type, res_op0, res_op1);
    2054            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 564, __FILE__, __LINE__, true);
    2055            0 :                 return _r;
    2056              :               }
    2057            0 : next_after_fail674:;
    2058              :             }
    2059            0 :       }
    2060              :     }
    2061              :   return NULL_TREE;
    2062              : }
    2063              : 
    2064              : tree
    2065            0 : generic_simplify_407 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2066              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2067              :  const enum tree_code ARG_UNUSED (cmp))
    2068              : {
    2069            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2070            0 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2071            0 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2072              : )
    2073              :     {
    2074            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail727;
    2075            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail727;
    2076            0 :       {
    2077            0 :         tree res_op0;
    2078            0 :         res_op0 = captures[1];
    2079            0 :         tree res_op1;
    2080            0 :         res_op1 = captures[0];
    2081            0 :         tree _r;
    2082            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2083            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 582, __FILE__, __LINE__, true);
    2084            0 :         return _r;
    2085              :       }
    2086              : next_after_fail727:;
    2087              :     }
    2088              :   return NULL_TREE;
    2089              : }
    2090              : 
    2091              : tree
    2092            0 : generic_simplify_411 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2093              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2094              :  const combined_fn ARG_UNUSED (logs),
    2095              :  const combined_fn ARG_UNUSED (exps),
    2096              :  const enum tree_code ARG_UNUSED (cmp))
    2097              : {
    2098            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2099            0 :   if (flag_unsafe_math_optimizations
    2100              : )
    2101              :     {
    2102            0 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    2103            0 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
    2104            0 :  && ! flag_trapping_math
    2105            0 :  && ! flag_errno_math
    2106              : )
    2107              :         {
    2108            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail731;
    2109            0 :           {
    2110            0 :             tree res_op0;
    2111            0 :             res_op0 = captures[1];
    2112            0 :             tree res_op1;
    2113            0 :             {
    2114            0 :               tree _o1[1], _r1;
    2115            0 :               _o1[0] = captures[2];
    2116            0 :               _r1 = maybe_build_call_expr_loc (loc, exps, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2117            0 :               if (!_r1)
    2118            0 :                 goto next_after_fail731;
    2119            0 :               if (EXPR_P (_r1))
    2120            0 :                 goto next_after_fail731;
    2121            0 :               res_op1 = _r1;
    2122              :             }
    2123            0 :             tree _r;
    2124            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2125            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 600, __FILE__, __LINE__, true);
    2126            0 :             return _r;
    2127              :           }
    2128              : next_after_fail731:;
    2129              :         }
    2130              :     }
    2131              :   return NULL_TREE;
    2132              : }
    2133              : 
    2134              : tree
    2135          330 : generic_simplify_419 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2136              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2137              :  const enum tree_code ARG_UNUSED (shiftrotate))
    2138              : {
    2139          330 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2140          330 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail743;
    2141          330 :   {
    2142          330 :     tree _r;
    2143          330 :     _r = captures[0];
    2144          330 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2145           42 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2146          330 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 612, __FILE__, __LINE__, true);
    2147              :     return _r;
    2148              :   }
    2149            0 : next_after_fail743:;
    2150            0 :   return NULL_TREE;
    2151              : }
    2152              : 
    2153              : tree
    2154           18 : generic_simplify_423 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2155              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2156              :  const enum tree_code ARG_UNUSED (bit_op),
    2157              :  const enum tree_code ARG_UNUSED (shift))
    2158              : {
    2159           18 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2160           18 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
    2161              : )
    2162              :     {
    2163           16 :       {
    2164           16 :  tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
    2165           16 :           if (mask
    2166              : )
    2167              :             {
    2168           16 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail750;
    2169           16 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail750;
    2170           16 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail750;
    2171           16 :               {
    2172           16 :                 tree res_op0;
    2173           16 :                 {
    2174           16 :                   tree _o1[2], _r1;
    2175           16 :                   {
    2176           16 :                     tree _o2[1], _r2;
    2177           16 :                     _o2[0] = captures[2];
    2178           16 :                     if (TREE_TYPE (_o2[0]) != type)
    2179              :                       {
    2180           16 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    2181              :                       }
    2182              :                     else
    2183              :                       _r2 = _o2[0];
    2184           16 :                     _o1[0] = _r2;
    2185              :                   }
    2186           16 :                   _o1[1] = captures[4];
    2187           16 :                   _r1 = fold_build2_loc (loc, shift, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2188           16 :                   res_op0 = _r1;
    2189              :                 }
    2190           16 :                 tree res_op1;
    2191           16 :                 res_op1 =  mask;
    2192           16 :                 tree _r;
    2193           16 :                 _r = fold_build2_loc (loc, bit_op, type, res_op0, res_op1);
    2194           16 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 618, __FILE__, __LINE__, true);
    2195           16 :                 return _r;
    2196              :               }
    2197              : next_after_fail750:;
    2198              :             }
    2199              :       }
    2200              :     }
    2201              :   return NULL_TREE;
    2202              : }
    2203              : 
    2204              : tree
    2205         2235 : generic_simplify_429 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2206              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2207              :  const enum tree_code ARG_UNUSED (eqne))
    2208              : {
    2209         2235 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2210         2235 :   if ((integer_zerop (captures[1]) || integer_onep (captures[1]))
    2211              : )
    2212              :     {
    2213         2233 :       if ((eqne == EQ_EXPR) ^ integer_zerop (captures[1])
    2214              : )
    2215              :         {
    2216         1530 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail761;
    2217         1530 :           {
    2218         1530 :             tree res_op0;
    2219         1530 :             res_op0 = captures[0];
    2220         1530 :             tree _r;
    2221         1530 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2222         1530 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2223            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2224         1530 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 628, __FILE__, __LINE__, true);
    2225         1530 :             return _r;
    2226              :           }
    2227            0 : next_after_fail761:;
    2228              :         }
    2229              :       else
    2230              :         {
    2231          703 :           if (types_match (type, TREE_TYPE (captures[0]))
    2232              : )
    2233              :             {
    2234           41 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail762;
    2235           41 :               {
    2236           41 :                 tree res_op0;
    2237           41 :                 res_op0 = captures[0];
    2238           41 :                 tree res_op1;
    2239           41 :                 res_op1 =  build_one_cst (type);
    2240           41 :                 tree _r;
    2241           41 :                 _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    2242           41 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2243            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2244           41 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 629, __FILE__, __LINE__, true);
    2245           41 :                 return _r;
    2246              :               }
    2247            0 : next_after_fail762:;
    2248              :             }
    2249              :         }
    2250              :     }
    2251              :   return NULL_TREE;
    2252              : }
    2253              : 
    2254              : tree
    2255            0 : generic_simplify_436 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2256              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2257              :  const combined_fn ARG_UNUSED (copysigns),
    2258              :  const combined_fn ARG_UNUSED (coss))
    2259              : {
    2260            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2261            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail781;
    2262            0 :   {
    2263            0 :     tree res_op0;
    2264            0 :     res_op0 = captures[0];
    2265            0 :     tree _r;
    2266            0 :     _r = maybe_build_call_expr_loc (loc, coss, type, 1, res_op0);
    2267            0 :     if (!_r)
    2268            0 :       goto next_after_fail781;
    2269            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2270            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2271            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 636, __FILE__, __LINE__, true);
    2272              :     return _r;
    2273              :   }
    2274              : next_after_fail781:;
    2275              :   return NULL_TREE;
    2276              : }
    2277              : 
    2278              : tree
    2279            0 : generic_simplify_439 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2280              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2281              :  const combined_fn ARG_UNUSED (copysigns),
    2282              :  const combined_fn ARG_UNUSED (pows))
    2283              : {
    2284            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2285            0 :   {
    2286            0 :  HOST_WIDE_INT n;
    2287            0 :       if (real_isinteger (&TREE_REAL_CST (captures[2]), &n) && (n & 1) == 0
    2288              : )
    2289              :         {
    2290            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail784;
    2291            0 :           {
    2292            0 :             tree res_op0;
    2293            0 :             res_op0 = captures[0];
    2294            0 :             tree res_op1;
    2295            0 :             res_op1 = captures[2];
    2296            0 :             tree _r;
    2297            0 :             _r = maybe_build_call_expr_loc (loc, pows, type, 2, res_op0, res_op1);
    2298            0 :             if (!_r)
    2299            0 :               goto next_after_fail784;
    2300            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2301            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2302            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 639, __FILE__, __LINE__, true);
    2303            0 :             return _r;
    2304              :           }
    2305            0 : next_after_fail784:;
    2306              :         }
    2307              :   }
    2308            0 :   return NULL_TREE;
    2309              : }
    2310              : 
    2311              : tree
    2312            0 : generic_simplify_441 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2313              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2314              :  const combined_fn ARG_UNUSED (pow))
    2315              : {
    2316            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2317            0 :   if (flag_unsafe_math_optimizations
    2318              : )
    2319              :     {
    2320            0 :       if (! HONOR_INFINITIES (type)
    2321            0 :  && ! flag_trapping_math
    2322            0 :  && ! flag_errno_math
    2323              : )
    2324              :         {
    2325            0 :           if (! HONOR_NANS (type) && ! HONOR_SIGNED_ZEROS (type)
    2326              : )
    2327              :             {
    2328            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail786;
    2329            0 :               {
    2330            0 :                 tree _r;
    2331            0 :                 _r = captures[0];
    2332            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2333            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2334            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 641, __FILE__, __LINE__, true);
    2335            0 :                 return _r;
    2336              :               }
    2337            0 : next_after_fail786:;
    2338              :             }
    2339              :         }
    2340              :     }
    2341              :   return NULL_TREE;
    2342              : }
    2343              : 
    2344              : tree
    2345            0 : generic_simplify_444 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2346              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2347              :  const combined_fn ARG_UNUSED (copysigns),
    2348              :  const combined_fn ARG_UNUSED (hypots))
    2349              : {
    2350            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2351            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail789;
    2352            0 :   {
    2353            0 :     tree res_op0;
    2354            0 :     res_op0 = captures[0];
    2355            0 :     tree res_op1;
    2356            0 :     res_op1 = captures[2];
    2357            0 :     tree _r;
    2358            0 :     _r = maybe_build_call_expr_loc (loc, hypots, type, 2, res_op0, res_op1);
    2359            0 :     if (!_r)
    2360            0 :       goto next_after_fail789;
    2361            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2362            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2363            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 644, __FILE__, __LINE__, true);
    2364              :     return _r;
    2365              :   }
    2366              : next_after_fail789:;
    2367              :   return NULL_TREE;
    2368              : }
    2369              : 
    2370              : tree
    2371            8 : generic_simplify_449 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2372              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2373              : {
    2374            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2375           16 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2376           16 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
    2377              : )
    2378              :     {
    2379            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail794;
    2380            0 :       {
    2381            0 :         tree res_op0;
    2382            0 :         res_op0 = captures[0];
    2383            0 :         tree res_op1;
    2384            0 :         res_op1 = captures[1];
    2385            0 :         tree _r;
    2386            0 :         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2387            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 649, __FILE__, __LINE__, true);
    2388            0 :         return _r;
    2389              :       }
    2390            0 : next_after_fail794:;
    2391              :     }
    2392              :   return NULL_TREE;
    2393              : }
    2394              : 
    2395              : tree
    2396       124239 : generic_simplify_453 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2397              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2398              : {
    2399       124239 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2400       124239 :   {
    2401       124239 :  bool wascmp;
    2402       124239 :       if (bitwise_inverted_equal_p (captures[0], captures[1], wascmp)
    2403       124239 :  && (!wascmp || element_precision (type) == 1)
    2404              : )
    2405              :         {
    2406            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail798;
    2407            1 :           {
    2408            1 :             tree res_op0;
    2409            1 :             res_op0 = captures[0];
    2410            1 :             tree res_op1;
    2411            1 :             res_op1 = captures[2];
    2412            1 :             tree _r;
    2413            1 :             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2414            1 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2415            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2416            1 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 653, __FILE__, __LINE__, true);
    2417            1 :             return _r;
    2418              :           }
    2419            0 : next_after_fail798:;
    2420              :         }
    2421              :   }
    2422       124238 :   return NULL_TREE;
    2423              : }
    2424              : 
    2425              : tree
    2426          104 : generic_simplify_462 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2427              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2428              : {
    2429          104 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2430          104 :   {
    2431          104 :  bool wascmp;
    2432          104 :       if (bitwise_inverted_equal_p (captures[0], captures[2], wascmp)
    2433          104 :  && (!wascmp || element_precision (type) == 1)
    2434              : )
    2435              :         {
    2436            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail807;
    2437            0 :           {
    2438            0 :             tree res_op0;
    2439            0 :             res_op0 = captures[0];
    2440            0 :             tree res_op1;
    2441            0 :             res_op1 = captures[1];
    2442            0 :             tree _r;
    2443            0 :             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2444            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
    2445            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2446            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 661, __FILE__, __LINE__, true);
    2447            0 :             return _r;
    2448              :           }
    2449            0 : next_after_fail807:;
    2450              :         }
    2451              :   }
    2452          104 :   return NULL_TREE;
    2453              : }
    2454              : 
    2455              : tree
    2456            0 : generic_simplify_467 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2457              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2458              :  const enum tree_code ARG_UNUSED (cmp))
    2459              : {
    2460            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2461            0 :   if (fold_before_rtl_expansion_p ()
    2462              : )
    2463              :     {
    2464            0 :       if (INTEGRAL_TYPE_P (type)
    2465            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2466              : )
    2467              :         {
    2468            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail812;
    2469            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail812;
    2470            0 :           {
    2471            0 :             tree res_op0;
    2472            0 :             res_op0 = captures[0];
    2473            0 :             tree res_op1;
    2474            0 :             res_op1 = captures[3];
    2475            0 :             tree res_op2;
    2476            0 :             res_op2 =  build_zero_cst (type);
    2477            0 :             tree _r;
    2478            0 :             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    2479            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 665, __FILE__, __LINE__, true);
    2480            0 :             return _r;
    2481              :           }
    2482              : next_after_fail812:;
    2483              :         }
    2484              :     }
    2485              :   return NULL_TREE;
    2486              : }
    2487              : 
    2488              : tree
    2489            0 : generic_simplify_477 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2490              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2491              : {
    2492            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2493            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail844;
    2494            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail844;
    2495            0 :   {
    2496            0 :     tree _r;
    2497            0 :     _r = captures[2];
    2498            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2499            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2500            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 686, __FILE__, __LINE__, true);
    2501              :     return _r;
    2502              :   }
    2503              : next_after_fail844:;
    2504              :   return NULL_TREE;
    2505              : }
    2506              : 
    2507              : tree
    2508            4 : generic_simplify_482 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2509              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2510              : {
    2511            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2512            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail861;
    2513            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail861;
    2514            4 :   {
    2515            4 :     tree _r;
    2516            4 :     _r = captures[2];
    2517            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2518            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2519            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 686, __FILE__, __LINE__, true);
    2520              :     return _r;
    2521              :   }
    2522              : next_after_fail861:;
    2523              :   return NULL_TREE;
    2524              : }
    2525              : 
    2526              : tree
    2527        62075 : generic_simplify_486 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2528              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2529              :  const enum tree_code ARG_UNUSED (shift))
    2530              : {
    2531        62075 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2532        62075 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    2533        62075 :  && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT
    2534        61964 :  && tree_fits_uhwi_p (captures[4])
    2535        61915 :  && tree_to_uhwi (captures[4]) > 0
    2536       123989 :  && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type)
    2537              : )
    2538              :     {
    2539        61914 :       {
    2540        61914 :  unsigned int shiftc = tree_to_uhwi (captures[4]);
    2541        61914 :  unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
    2542        61914 :  unsigned HOST_WIDE_INT newmask, zerobits = 0;
    2543        61914 :  tree shift_type = TREE_TYPE (captures[2]);
    2544        61914 :  unsigned int prec;
    2545        61914 :  if (shift == LSHIFT_EXPR)
    2546        27903 :  zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
    2547        34011 :  else if (shift == RSHIFT_EXPR
    2548        34011 :  && type_has_mode_precision_p (shift_type))
    2549              :  {
    2550        34011 :  prec = TYPE_PRECISION (TREE_TYPE (captures[2]));
    2551        34011 :  tree arg00 = captures[3];
    2552        34011 :  if (captures[2] != captures[3]
    2553        34011 :  && TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2554              :  {
    2555            0 :  tree inner_type = TREE_TYPE (captures[3]);
    2556            0 :  if (type_has_mode_precision_p (inner_type)
    2557            0 :  && TYPE_PRECISION (inner_type) < prec)
    2558              :  {
    2559            0 :  prec = TYPE_PRECISION (inner_type);
    2560            0 :  if (shiftc < prec)
    2561            0 :  shift_type = inner_type;
    2562              :  }
    2563              :  }
    2564        34011 :  zerobits = HOST_WIDE_INT_M1U;
    2565        34011 :  if (shiftc < prec)
    2566              :  {
    2567        34011 :  zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
    2568        34011 :  zerobits <<= prec - shiftc;
    2569              :  }
    2570        34011 :  if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2571        34011 :  && prec == TYPE_PRECISION (TREE_TYPE (captures[2])))
    2572              :  {
    2573         2894 :  if ((mask & zerobits) == 0)
    2574         2883 :  shift_type = unsigned_type_for (TREE_TYPE (captures[2]));
    2575              :  else
    2576              :  zerobits = 0;
    2577              :  }
    2578              :  }
    2579        61903 :           if ((mask & zerobits) == mask
    2580              : )
    2581              :             {
    2582            3 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail867;
    2583            3 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail867;
    2584            3 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail867;
    2585            3 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail867;
    2586            3 :               {
    2587            3 :                 tree _r;
    2588            3 :                 _r =  build_int_cst (type, 0);
    2589            3 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 689, __FILE__, __LINE__, true);
    2590            3 :                 return _r;
    2591              :               }
    2592              : next_after_fail867:;
    2593              :             }
    2594              :           else
    2595              :             {
    2596        61911 :               {
    2597        61911 :  newmask = mask | zerobits;
    2598        61911 :                   if (newmask != mask && (newmask & (newmask + 1)) == 0
    2599              : )
    2600              :                     {
    2601              :                       {
    2602        18410 :  for (prec = BITS_PER_UNIT;
    2603        33993 :  prec < HOST_BITS_PER_WIDE_INT; prec <<= 1)
    2604        31881 :  if (newmask == (HOST_WIDE_INT_1U << prec) - 1)
    2605              :  break;
    2606        15583 :                           if (prec < HOST_BITS_PER_WIDE_INT
    2607         2112 :  || newmask == HOST_WIDE_INT_M1U
    2608              : )
    2609              :                             {
    2610        13638 :                               {
    2611        13638 :  tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
    2612        13638 :                                   if (!tree_int_cst_equal (newmaskt, captures[5])
    2613              : )
    2614              :                                     {
    2615        13638 :                                       if (shift_type != TREE_TYPE (captures[2])
    2616              : )
    2617              :                                         {
    2618           85 :                                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail868;
    2619           85 :                                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail868;
    2620           85 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail868;
    2621           85 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail868;
    2622           85 :                                           {
    2623           85 :                                             tree res_op0;
    2624           85 :                                             {
    2625           85 :                                               tree _o1[1], _r1;
    2626           85 :                                               {
    2627           85 :                                                 tree _o2[2], _r2;
    2628           85 :                                                 {
    2629           85 :                                                   tree _o3[1], _r3;
    2630           85 :                                                   _o3[0] = captures[2];
    2631           85 :                                                   if (TREE_TYPE (_o3[0]) != shift_type)
    2632              :                                                     {
    2633           85 :                                                       _r3 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o3[0]);
    2634              :                                                     }
    2635              :                                                   else
    2636              :                                                     _r3 = _o3[0];
    2637           85 :                                                   _o2[0] = _r3;
    2638              :                                                 }
    2639           85 :                                                 _o2[1] = captures[4];
    2640           85 :                                                 _r2 = fold_build2_loc (loc, shift, shift_type, _o2[0], _o2[1]);
    2641           85 :                                                 _o1[0] = _r2;
    2642              :                                               }
    2643           85 :                                               if (TREE_TYPE (_o1[0]) != type)
    2644              :                                                 {
    2645           85 :                                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2646              :                                                 }
    2647              :                                               else
    2648              :                                                 _r1 = _o1[0];
    2649           85 :                                               res_op0 = _r1;
    2650              :                                             }
    2651           85 :                                             tree res_op1;
    2652           85 :                                             res_op1 =  newmaskt;
    2653           85 :                                             tree _r;
    2654           85 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2655           85 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 690, __FILE__, __LINE__, true);
    2656           85 :                                             return _r;
    2657              :                                           }
    2658              : next_after_fail868:;
    2659              :                                         }
    2660              :                                       else
    2661              :                                         {
    2662        13553 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail869;
    2663        12521 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail869;
    2664        12521 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail869;
    2665        12521 :                                           {
    2666        12521 :                                             tree res_op0;
    2667        12521 :                                             res_op0 = captures[0];
    2668        12521 :                                             tree res_op1;
    2669        12521 :                                             res_op1 =  newmaskt;
    2670        12521 :                                             tree _r;
    2671        12521 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2672        12521 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 691, __FILE__, __LINE__, true);
    2673        12521 :                                             return _r;
    2674              :                                           }
    2675              : next_after_fail869:;
    2676              :                                         }
    2677              :                                     }
    2678              :                               }
    2679              :                             }
    2680              :                       }
    2681              :                     }
    2682              :               }
    2683              :             }
    2684              :       }
    2685              :     }
    2686              :   return NULL_TREE;
    2687              : }
    2688              : 
    2689              : tree
    2690           42 : generic_simplify_496 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2691              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2692              : {
    2693           42 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2694           42 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail885;
    2695           42 :   {
    2696           42 :     tree res_op0;
    2697           42 :     res_op0 = captures[1];
    2698           42 :     tree res_op1;
    2699           42 :     {
    2700           42 :       tree _o1[1], _r1;
    2701           42 :       _o1[0] = captures[2];
    2702           42 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2703           42 :       res_op1 = _r1;
    2704              :     }
    2705           42 :     tree _r;
    2706           42 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
    2707           42 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 700, __FILE__, __LINE__, true);
    2708              :     return _r;
    2709              :   }
    2710            0 : next_after_fail885:;
    2711            0 :   return NULL_TREE;
    2712              : }
    2713              : 
    2714              : tree
    2715           31 : generic_simplify_501 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2716              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2717              : {
    2718           31 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2719           31 :   if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2720           54 :  && (element_precision (TREE_TYPE (captures[2]))
    2721           23 :  <= element_precision (TREE_TYPE (captures[3]))
    2722            1 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2723              : )
    2724              :     {
    2725           22 :       {
    2726           22 :  tree shift_type = TREE_TYPE (captures[2]);
    2727           22 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail890;
    2728           22 :           {
    2729           22 :             tree res_op0;
    2730           22 :             {
    2731           22 :               tree _o1[2], _r1;
    2732           22 :               {
    2733           22 :                 tree _o2[1], _r2;
    2734           22 :                 _o2[0] = captures[3];
    2735           22 :                 if (TREE_TYPE (_o2[0]) != shift_type)
    2736              :                   {
    2737            1 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o2[0]);
    2738              :                   }
    2739              :                 else
    2740              :                   _r2 = _o2[0];
    2741           22 :                 _o1[0] = _r2;
    2742              :               }
    2743           22 :               _o1[1] = captures[4];
    2744           22 :               _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2745           22 :               res_op0 = _r1;
    2746              :             }
    2747           22 :             tree _r;
    2748           22 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2749           22 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 705, __FILE__, __LINE__, true);
    2750           22 :             return _r;
    2751              :           }
    2752            0 : next_after_fail890:;
    2753              :       }
    2754              :     }
    2755              :   return NULL_TREE;
    2756              : }
    2757              : 
    2758              : tree
    2759         3777 : generic_simplify_513 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2760              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2761              : {
    2762         3777 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2763         3777 :   if (!TYPE_SATURATING (type)
    2764              : )
    2765              :     {
    2766         3742 :       if (!TYPE_OVERFLOW_SANITIZED (type)
    2767         7506 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
    2768              : )
    2769              :         {
    2770         3764 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail903;
    2771         3764 :           {
    2772         3764 :             tree res_op0;
    2773         3764 :             {
    2774         3764 :               tree _o1[1], _r1;
    2775         3764 :               _o1[0] = captures[0];
    2776         3764 :               if (TREE_TYPE (_o1[0]) != type)
    2777              :                 {
    2778            0 :                   _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    2779              :                 }
    2780              :               else
    2781              :                 _r1 = _o1[0];
    2782         3764 :               res_op0 = _r1;
    2783              :             }
    2784         3764 :             tree _r;
    2785         3764 :             _r = non_lvalue_loc (loc, res_op0);
    2786         3764 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 716, __FILE__, __LINE__, true);
    2787         3764 :             return _r;
    2788              :           }
    2789            0 : next_after_fail903:;
    2790              :         }
    2791              :     }
    2792              :   return NULL_TREE;
    2793              : }
    2794              : 
    2795              : tree
    2796            4 : generic_simplify_520 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2797              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2798              : {
    2799            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2800            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail911;
    2801            4 :   {
    2802            4 :     tree _r;
    2803            4 :     _r = captures[1];
    2804            4 :     if (TREE_SIDE_EFFECTS (captures[0]))
    2805            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2806            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 723, __FILE__, __LINE__, true);
    2807              :     return _r;
    2808              :   }
    2809            0 : next_after_fail911:;
    2810            0 :   return NULL_TREE;
    2811              : }
    2812              : 
    2813              : tree
    2814           20 : generic_simplify_529 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2815              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2816              :  const enum tree_code ARG_UNUSED (minmax),
    2817              :  const enum tree_code ARG_UNUSED (cmp))
    2818              : {
    2819           20 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2820           20 :   {
    2821           20 :  poly_int64 off0, off1;
    2822           20 :  tree base0, base1;
    2823           20 :  int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[3], base0, base1,
    2824              :  off0, off1,
    2825              : 1
    2826              : );
    2827           20 :       if (equal == 1
    2828              : )
    2829              :         {
    2830            0 :           if (minmax == MIN_EXPR
    2831              : )
    2832              :             {
    2833            0 :               if (known_le (off0, off1)
    2834              : )
    2835              :                 {
    2836            0 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail931;
    2837            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail931;
    2838            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail931;
    2839            0 :                   {
    2840            0 :                     tree _r;
    2841            0 :                     _r = captures[0];
    2842            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 731, __FILE__, __LINE__, true);
    2843            0 :                     return _r;
    2844              :                   }
    2845           20 : next_after_fail931:;
    2846              :                 }
    2847              :               else
    2848              :                 {
    2849            0 :                   if (known_gt (off0, off1)
    2850              : )
    2851              :                     {
    2852            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail932;
    2853            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail932;
    2854            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail932;
    2855            0 :                       {
    2856            0 :                         tree _r;
    2857            0 :                         _r = captures[2];
    2858            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 732, __FILE__, __LINE__, true);
    2859            0 :                         return _r;
    2860              :                       }
    2861           20 : next_after_fail932:;
    2862              :                     }
    2863              :                 }
    2864              :             }
    2865              :           else
    2866              :             {
    2867            0 :               if (known_ge (off0, off1)
    2868              : )
    2869              :                 {
    2870            0 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail933;
    2871            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail933;
    2872            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail933;
    2873            0 :                   {
    2874            0 :                     tree _r;
    2875            0 :                     _r = captures[0];
    2876            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 733, __FILE__, __LINE__, true);
    2877            0 :                     return _r;
    2878              :                   }
    2879           20 : next_after_fail933:;
    2880              :                 }
    2881              :               else
    2882              :                 {
    2883            0 :                   if (known_lt (off0, off1)
    2884              : )
    2885              :                     {
    2886            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail934;
    2887            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail934;
    2888            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail934;
    2889            0 :                       {
    2890            0 :                         tree _r;
    2891            0 :                         _r = captures[2];
    2892            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 734, __FILE__, __LINE__, true);
    2893            0 :                         return _r;
    2894              :                       }
    2895           20 : next_after_fail934:;
    2896              :                     }
    2897              :                 }
    2898              :             }
    2899              :         }
    2900              :   }
    2901           20 :   return NULL_TREE;
    2902              : }
    2903              : 
    2904              : tree
    2905            0 : generic_simplify_550 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2906              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2907              :  const combined_fn ARG_UNUSED (cond_len_op))
    2908              : {
    2909            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2910            0 :   {
    2911            0 :  tree op_type = TREE_TYPE (captures[6]);
    2912            0 :       if (inverse_conditions_p (captures[0], captures[2])
    2913            0 :  && element_precision (type) == element_precision (op_type)
    2914              : )
    2915              :         {
    2916            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail955;
    2917            0 :           {
    2918            0 :             tree res_op0;
    2919            0 :             {
    2920            0 :               tree _o1[7], _r1;
    2921            0 :               _o1[0] = captures[2];
    2922            0 :               _o1[1] = captures[3];
    2923            0 :               _o1[2] = captures[4];
    2924            0 :               _o1[3] = captures[5];
    2925            0 :               {
    2926            0 :                 tree _o2[1], _r2;
    2927            0 :                 _o2[0] = captures[1];
    2928            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    2929              :                   {
    2930            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    2931              :                   }
    2932              :                 else
    2933              :                   _r2 = _o2[0];
    2934            0 :                 _o1[4] = _r2;
    2935              :               }
    2936            0 :               _o1[5] = captures[7];
    2937            0 :               _o1[6] = captures[8];
    2938            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]);
    2939            0 :               if (!_r1)
    2940            0 :                 goto next_after_fail955;
    2941            0 :               res_op0 = _r1;
    2942              :             }
    2943            0 :             tree _r;
    2944            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    2945            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
    2946            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2947            0 :             if (TREE_SIDE_EFFECTS (captures[6]))
    2948            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[6]), _r);
    2949            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 750, __FILE__, __LINE__, true);
    2950            0 :             return _r;
    2951              :           }
    2952              : next_after_fail955:;
    2953              :         }
    2954              :   }
    2955              :   return NULL_TREE;
    2956              : }
    2957              : 
    2958              : tree
    2959            0 : generic_simplify_563 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2960              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2961              :  const combined_fn ARG_UNUSED (ovf))
    2962              : {
    2963            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2964            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2965            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2966            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
    2967            0 :  && (!TYPE_UNSIGNED (TREE_TYPE (captures[0])) || TYPE_UNSIGNED (TREE_TYPE (captures[1])))
    2968              : )
    2969              :     {
    2970            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail971;
    2971            0 :       {
    2972            0 :         tree res_op0;
    2973            0 :         res_op0 = captures[1];
    2974            0 :         tree res_op1;
    2975            0 :         res_op1 = captures[2];
    2976            0 :         tree _r;
    2977            0 :         _r = maybe_build_call_expr_loc (loc, ovf, type, 2, res_op0, res_op1);
    2978            0 :         if (!_r)
    2979            0 :           goto next_after_fail971;
    2980            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 766, __FILE__, __LINE__, true);
    2981            0 :         return _r;
    2982              :       }
    2983              : next_after_fail971:;
    2984              :     }
    2985              :   return NULL_TREE;
    2986              : }
    2987              : 
    2988              : tree
    2989            0 : generic_simplify_571 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2990              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2991              :  const combined_fn ARG_UNUSED (fns))
    2992              : {
    2993            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2994            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail979;
    2995            0 :   {
    2996            0 :     tree res_op0;
    2997            0 :     res_op0 = captures[0];
    2998            0 :     tree _r;
    2999            0 :     _r = maybe_build_call_expr_loc (loc, fns, type, 1, res_op0);
    3000            0 :     if (!_r)
    3001            0 :       goto next_after_fail979;
    3002            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 774, __FILE__, __LINE__, true);
    3003              :     return _r;
    3004              :   }
    3005              : next_after_fail979:;
    3006              :   return NULL_TREE;
    3007              : }
    3008              : 
    3009              : tree
    3010            0 : generic_simplify_579 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3011              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3012              :  const combined_fn ARG_UNUSED (froms),
    3013              :  const combined_fn ARG_UNUSED (tos))
    3014              : {
    3015            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3016            0 :   if (optimize && canonicalize_math_p ()
    3017              : )
    3018              :     {
    3019            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail987;
    3020            0 :       {
    3021            0 :         tree res_op0;
    3022            0 :         res_op0 = captures[0];
    3023            0 :         tree _r;
    3024            0 :         _r = maybe_build_call_expr_loc (loc, tos, type, 1, res_op0);
    3025            0 :         if (!_r)
    3026            0 :           goto next_after_fail987;
    3027            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 782, __FILE__, __LINE__, true);
    3028            0 :         return _r;
    3029              :       }
    3030              : next_after_fail987:;
    3031              :     }
    3032              :   return NULL_TREE;
    3033              : }
    3034              : 
    3035              : tree
    3036            0 : generic_simplify_587 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3037              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3038              :  const combined_fn ARG_UNUSED (fmas))
    3039              : {
    3040            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3041            0 :   if (canonicalize_math_after_vectorization_p ()
    3042              : )
    3043              :     {
    3044              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail995;
    3045              :       {
    3046              :         tree res_op0;
    3047              :         res_op0 = captures[0];
    3048              :         tree res_op1;
    3049              :         res_op1 = captures[1];
    3050              :         tree res_op2;
    3051              :         res_op2 = captures[2];
    3052              :         tree _r;
    3053              :         _r = maybe_build_call_expr_loc (loc, CFN_FNMA, type, 3, res_op0, res_op1, res_op2);
    3054              :         if (!_r)
    3055              :           goto next_after_fail995;
    3056              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 790, __FILE__, __LINE__, true);
    3057              :         return _r;
    3058              :       }
    3059            0 : next_after_fail995:;
    3060              :     }
    3061            0 :   return NULL_TREE;
    3062              : }
    3063              : 
    3064              : tree
    3065            0 : generic_simplify_597 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3066              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures),
    3067              :  const combined_fn ARG_UNUSED (fmas))
    3068              : {
    3069            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3070            0 :   if (canonicalize_math_after_vectorization_p ()
    3071              : )
    3072              :     {
    3073              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1005;
    3074              :       {
    3075              :         tree res_op0;
    3076              :         res_op0 = captures[0];
    3077              :         tree res_op1;
    3078              :         res_op1 = captures[1];
    3079              :         tree res_op2;
    3080              :         res_op2 = captures[2];
    3081              :         tree res_op3;
    3082              :         res_op3 = captures[3];
    3083              :         tree res_op4;
    3084              :         res_op4 = captures[4];
    3085              :         tree _r;
    3086              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3087              :         if (!_r)
    3088              :           goto next_after_fail1005;
    3089              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 800, __FILE__, __LINE__, true);
    3090              :         return _r;
    3091              :       }
    3092            0 : next_after_fail1005:;
    3093              :     }
    3094            0 :   return NULL_TREE;
    3095              : }
    3096              : 
    3097              : tree
    3098            0 : generic_simplify_607 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3099              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3100              :  const combined_fn ARG_UNUSED (ctz))
    3101              : {
    3102            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3103            0 :   {
    3104            0 :  tree t = TREE_TYPE (captures[0]);
    3105            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1015;
    3106            0 :       {
    3107            0 :         tree res_op0;
    3108            0 :         {
    3109            0 :           tree _o1[1], _r1;
    3110            0 :           _o1[0] = captures[1];
    3111            0 :           if (TREE_TYPE (_o1[0]) != t)
    3112              :             {
    3113            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, t, _o1[0]);
    3114              :             }
    3115              :           else
    3116              :             _r1 = _o1[0];
    3117            0 :           res_op0 = _r1;
    3118              :         }
    3119            0 :         tree _r;
    3120            0 :         _r = maybe_build_call_expr_loc (loc, ctz, type, 1, res_op0);
    3121            0 :         if (!_r)
    3122            0 :           goto next_after_fail1015;
    3123            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 807, __FILE__, __LINE__, true);
    3124              :         return _r;
    3125              :       }
    3126              : next_after_fail1015:;
    3127              :   }
    3128              :   return NULL_TREE;
    3129              : }
    3130              : 
    3131              : tree
    3132            0 : generic_simplify_617 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3133              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3134              :  const combined_fn ARG_UNUSED (bswap),
    3135              :  const combined_fn ARG_UNUSED (parity))
    3136              : {
    3137            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3138            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3139            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3140            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0]))
    3141            0 :  >= TYPE_PRECISION (TREE_TYPE (captures[1]))
    3142              : )
    3143              :     {
    3144            0 :       {
    3145            0 :  tree type0 = TREE_TYPE (captures[0]);
    3146            0 :  tree type1 = TREE_TYPE (captures[1]);
    3147            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1026;
    3148            0 :           {
    3149            0 :             tree res_op0;
    3150            0 :             {
    3151            0 :               tree _o1[1], _r1;
    3152            0 :               {
    3153            0 :                 tree _o2[1], _r2;
    3154            0 :                 _o2[0] = captures[2];
    3155            0 :                 if (TREE_TYPE (_o2[0]) != type1)
    3156              :                   {
    3157            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, type1, _o2[0]);
    3158              :                   }
    3159              :                 else
    3160              :                   _r2 = _o2[0];
    3161            0 :                 _o1[0] = _r2;
    3162              :               }
    3163            0 :               if (TREE_TYPE (_o1[0]) != type0)
    3164              :                 {
    3165            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3166              :                 }
    3167              :               else
    3168              :                 _r1 = _o1[0];
    3169            0 :               res_op0 = _r1;
    3170              :             }
    3171            0 :             tree _r;
    3172            0 :             _r = maybe_build_call_expr_loc (loc, parity, type, 1, res_op0);
    3173            0 :             if (!_r)
    3174            0 :               goto next_after_fail1026;
    3175            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 814, __FILE__, __LINE__, true);
    3176            0 :             return _r;
    3177              :           }
    3178              : next_after_fail1026:;
    3179              :       }
    3180              :     }
    3181              :   return NULL_TREE;
    3182              : }
    3183              : 
    3184              : tree
    3185          942 : generic_simplify_ABSU_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3186              : {
    3187          942 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3188          942 :   switch (TREE_CODE (_p0))
    3189              :     {
    3190          541 :     CASE_CONVERT:
    3191          541 :       {
    3192          541 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3193          541 :         switch (TREE_CODE (_q20))
    3194              :           {
    3195            0 :           case ABSU_EXPR:
    3196            0 :             {
    3197            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3198            0 :               {
    3199            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3200            0 :                 if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    3201              : )
    3202              :                   {
    3203            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1069;
    3204            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1069;
    3205            0 :                     {
    3206            0 :                       tree _r;
    3207            0 :                       _r = captures[1];
    3208            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 849, __FILE__, __LINE__, true);
    3209            0 :                       return _r;
    3210              :                     }
    3211            0 : next_after_fail1069:;
    3212              :                   }
    3213              :               }
    3214            0 :               break;
    3215              :             }
    3216              :           default:;
    3217              :           }
    3218              :         break;
    3219              :       }
    3220            6 :     case NEGATE_EXPR:
    3221            6 :       {
    3222            6 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3223            6 :         {
    3224            6 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3225            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1070;
    3226            6 :           {
    3227            6 :             tree res_op0;
    3228            6 :             res_op0 = captures[0];
    3229            6 :             tree _r;
    3230            6 :             _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
    3231            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 850, __FILE__, __LINE__, true);
    3232          942 :             return _r;
    3233              :           }
    3234            0 : next_after_fail1070:;
    3235              :         }
    3236            0 :         break;
    3237              :       }
    3238            0 :     case VEC_COND_EXPR:
    3239            0 :       {
    3240            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3241            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3242            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    3243            0 :         {
    3244            0 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3245            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1071;
    3246            0 :           {
    3247            0 :             tree res_op0;
    3248            0 :             res_op0 = captures[1];
    3249            0 :             tree res_op1;
    3250            0 :             {
    3251            0 :               tree _o1[1], _r1;
    3252            0 :               _o1[0] = captures[2];
    3253            0 :               _r1 = fold_build1_loc (loc, ABSU_EXPR, type, _o1[0]);
    3254            0 :               if (EXPR_P (_r1))
    3255            0 :                 goto next_after_fail1071;
    3256            0 :               res_op1 = _r1;
    3257              :             }
    3258            0 :             tree res_op2;
    3259            0 :             {
    3260            0 :               tree _o1[1], _r1;
    3261            0 :               _o1[0] = captures[3];
    3262            0 :               _r1 = fold_build1_loc (loc, ABSU_EXPR, type, _o1[0]);
    3263            0 :               if (EXPR_P (_r1))
    3264            0 :                 goto next_after_fail1071;
    3265            0 :               res_op2 = _r1;
    3266              :             }
    3267            0 :             tree _r;
    3268            0 :             _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    3269            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 824, __FILE__, __LINE__, true);
    3270            0 :             return _r;
    3271              :           }
    3272            0 : next_after_fail1071:;
    3273              :         }
    3274            0 :         break;
    3275              :       }
    3276          936 :     default:;
    3277              :     }
    3278          936 : if (tree_expr_nonnegative_p (_p0))
    3279              :   {
    3280            0 :     {
    3281            0 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3282            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1072;
    3283            0 :       {
    3284            0 :         tree res_op0;
    3285            0 :         res_op0 = captures[0];
    3286            0 :         tree _r;
    3287            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3288            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 851, __FILE__, __LINE__, true);
    3289            0 :         return _r;
    3290              :       }
    3291            0 : next_after_fail1072:;
    3292              :     }
    3293              :   }
    3294              :   return NULL_TREE;
    3295              : }
    3296              : 
    3297              : tree
    3298      1910916 : generic_simplify_IMAGPART_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3299              : {
    3300      1910916 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3301      1910916 :   switch (TREE_CODE (_p0))
    3302              :     {
    3303         1731 :     case COMPLEX_EXPR:
    3304         1731 :       {
    3305         1731 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3306         1731 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3307         1731 :         {
    3308         1731 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3309         1731 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1141;
    3310         1731 :           {
    3311         1731 :             tree _r;
    3312         1731 :             _r = captures[1];
    3313         1731 :             if (TREE_SIDE_EFFECTS (captures[0]))
    3314          522 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3315         1731 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
    3316         1731 :             return _r;
    3317              :           }
    3318            0 : next_after_fail1141:;
    3319              :         }
    3320            0 :         break;
    3321              :       }
    3322        45368 :     CASE_CONVERT:
    3323        45368 :       {
    3324        45368 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3325        45368 :         switch (TREE_CODE (_q20))
    3326              :           {
    3327            0 :           case CONJ_EXPR:
    3328            0 :             {
    3329            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3330            0 :               {
    3331            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3332            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1142;
    3333            0 :                 {
    3334            0 :                   tree res_op0;
    3335            0 :                   {
    3336            0 :                     tree _o1[1], _r1;
    3337            0 :                     {
    3338            0 :                       tree _o2[1], _r2;
    3339            0 :                       _o2[0] = captures[2];
    3340            0 :                       _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3341            0 :                       _o1[0] = _r2;
    3342              :                     }
    3343            0 :                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3344            0 :                     res_op0 = _r1;
    3345              :                   }
    3346            0 :                   tree _r;
    3347            0 :                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3348            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 879, __FILE__, __LINE__, true);
    3349            0 :                   return _r;
    3350              :                 }
    3351            0 : next_after_fail1142:;
    3352              :               }
    3353            0 :               break;
    3354              :             }
    3355            0 :           case PLUS_EXPR:
    3356            0 :             {
    3357            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3358            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3359            0 :               {
    3360            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3361            0 :                 const enum tree_code op = PLUS_EXPR;
    3362            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1143;
    3363            0 :                 {
    3364            0 :                   tree res_op0;
    3365            0 :                   {
    3366            0 :                     tree _o1[2], _r1;
    3367            0 :                     {
    3368            0 :                       tree _o2[1], _r2;
    3369            0 :                       _o2[0] = captures[2];
    3370            0 :                       _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3371            0 :                       _o1[0] = _r2;
    3372              :                     }
    3373            0 :                     {
    3374            0 :                       tree _o2[1], _r2;
    3375            0 :                       _o2[0] = captures[3];
    3376            0 :                       _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3377            0 :                       _o1[1] = _r2;
    3378              :                     }
    3379            0 :                     _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3380            0 :                     res_op0 = _r1;
    3381              :                   }
    3382            0 :                   tree _r;
    3383            0 :                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3384            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
    3385            0 :                   return _r;
    3386              :                 }
    3387            0 : next_after_fail1143:;
    3388              :               }
    3389            0 :               break;
    3390              :             }
    3391            0 :           case MINUS_EXPR:
    3392            0 :             {
    3393            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3394            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3395            0 :               {
    3396            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3397            0 :                 const enum tree_code op = MINUS_EXPR;
    3398            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1144;
    3399            0 :                 {
    3400            0 :                   tree res_op0;
    3401            0 :                   {
    3402            0 :                     tree _o1[2], _r1;
    3403            0 :                     {
    3404            0 :                       tree _o2[1], _r2;
    3405            0 :                       _o2[0] = captures[2];
    3406            0 :                       _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3407            0 :                       _o1[0] = _r2;
    3408              :                     }
    3409            0 :                     {
    3410            0 :                       tree _o2[1], _r2;
    3411            0 :                       _o2[0] = captures[3];
    3412            0 :                       _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3413            0 :                       _o1[1] = _r2;
    3414              :                     }
    3415            0 :                     _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3416            0 :                     res_op0 = _r1;
    3417              :                   }
    3418            0 :                   tree _r;
    3419            0 :                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3420            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
    3421            0 :                   return _r;
    3422              :                 }
    3423            0 : next_after_fail1144:;
    3424              :               }
    3425            0 :               break;
    3426              :             }
    3427            0 :           case CALL_EXPR:
    3428            0 :             switch (get_call_combined_fn (_q20))
    3429              :               {
    3430            0 :               case CFN_BUILT_IN_CEXPIF:
    3431            0 :                 if (call_expr_nargs (_q20) == 1)
    3432              :     {
    3433            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    3434            0 :                     {
    3435            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3436            0 :                       if (single_use (captures[1]) && single_use (captures[0])
    3437              : )
    3438              :                         {
    3439            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1145;
    3440            0 :                           {
    3441            0 :                             tree res_op0;
    3442            0 :                             {
    3443            0 :                               tree _o1[1], _r1;
    3444            0 :                               _o1[0] = captures[2];
    3445            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SINF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3446            0 :                               if (!_r1)
    3447            0 :                                 goto next_after_fail1145;
    3448            0 :                               res_op0 = _r1;
    3449              :                             }
    3450            0 :                             tree _r;
    3451            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3452            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 880, __FILE__, __LINE__, true);
    3453            0 :                             return _r;
    3454              :                           }
    3455            0 : next_after_fail1145:;
    3456              :                         }
    3457              :                     }
    3458              :                   }
    3459              :                 break;
    3460            0 :               case CFN_BUILT_IN_CEXPIL:
    3461            0 :                 if (call_expr_nargs (_q20) == 1)
    3462              :     {
    3463            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    3464            0 :                     {
    3465            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3466            0 :                       if (single_use (captures[1]) && single_use (captures[0])
    3467              : )
    3468              :                         {
    3469            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1146;
    3470            0 :                           {
    3471            0 :                             tree res_op0;
    3472            0 :                             {
    3473            0 :                               tree _o1[1], _r1;
    3474            0 :                               _o1[0] = captures[2];
    3475            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SINL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3476            0 :                               if (!_r1)
    3477            0 :                                 goto next_after_fail1146;
    3478            0 :                               res_op0 = _r1;
    3479              :                             }
    3480            0 :                             tree _r;
    3481            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3482            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 880, __FILE__, __LINE__, true);
    3483            0 :                             return _r;
    3484              :                           }
    3485            0 : next_after_fail1146:;
    3486              :                         }
    3487              :                     }
    3488              :                   }
    3489              :                 break;
    3490            0 :               case CFN_BUILT_IN_CEXPI:
    3491            0 :                 if (call_expr_nargs (_q20) == 1)
    3492              :     {
    3493            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    3494            0 :                     {
    3495            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3496            0 :                       if (single_use (captures[1]) && single_use (captures[0])
    3497              : )
    3498              :                         {
    3499            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1147;
    3500            0 :                           {
    3501            0 :                             tree res_op0;
    3502            0 :                             {
    3503            0 :                               tree _o1[1], _r1;
    3504            0 :                               _o1[0] = captures[2];
    3505            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SIN, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3506            0 :                               if (!_r1)
    3507            0 :                                 goto next_after_fail1147;
    3508            0 :                               res_op0 = _r1;
    3509              :                             }
    3510            0 :                             tree _r;
    3511            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3512            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 880, __FILE__, __LINE__, true);
    3513            0 :                             return _r;
    3514              :                           }
    3515            0 : next_after_fail1147:;
    3516              :                         }
    3517              :                     }
    3518              :                   }
    3519              :                 break;
    3520              :               default:;
    3521              :               }
    3522              :             break;
    3523              :           default:;
    3524              :           }
    3525              :         break;
    3526              :       }
    3527           16 :     case CONJ_EXPR:
    3528           16 :       {
    3529           16 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3530           16 :         {
    3531           16 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3532           16 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1148;
    3533           16 :           {
    3534           16 :             tree res_op0;
    3535           16 :             {
    3536           16 :               tree _o1[1], _r1;
    3537           16 :               {
    3538           16 :                 tree _o2[1], _r2;
    3539           16 :                 _o2[0] = captures[2];
    3540           16 :                 _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3541           16 :                 _o1[0] = _r2;
    3542              :               }
    3543           16 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3544           16 :               res_op0 = _r1;
    3545              :             }
    3546           16 :             tree _r;
    3547           16 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3548           16 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 879, __FILE__, __LINE__, true);
    3549           16 :             return _r;
    3550              :           }
    3551            0 : next_after_fail1148:;
    3552              :         }
    3553            0 :         break;
    3554              :       }
    3555          365 :     case PLUS_EXPR:
    3556          365 :       {
    3557          365 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3558          365 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3559          365 :         {
    3560          365 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    3561          365 :           const enum tree_code op = PLUS_EXPR;
    3562          365 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1149;
    3563          365 :           {
    3564          365 :             tree res_op0;
    3565          365 :             {
    3566          365 :               tree _o1[2], _r1;
    3567          365 :               {
    3568          365 :                 tree _o2[1], _r2;
    3569          365 :                 _o2[0] = captures[2];
    3570          365 :                 _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3571          365 :                 _o1[0] = _r2;
    3572              :               }
    3573          365 :               {
    3574          365 :                 tree _o2[1], _r2;
    3575          365 :                 _o2[0] = captures[3];
    3576          365 :                 _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3577          365 :                 _o1[1] = _r2;
    3578              :               }
    3579          365 :               _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3580          365 :               res_op0 = _r1;
    3581              :             }
    3582          365 :             tree _r;
    3583          365 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3584          365 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
    3585          365 :             return _r;
    3586              :           }
    3587            0 : next_after_fail1149:;
    3588              :         }
    3589            0 :         break;
    3590              :       }
    3591           47 :     case MINUS_EXPR:
    3592           47 :       {
    3593           47 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3594           47 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3595           47 :         {
    3596           47 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    3597           47 :           const enum tree_code op = MINUS_EXPR;
    3598           47 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1150;
    3599           47 :           {
    3600           47 :             tree res_op0;
    3601           47 :             {
    3602           47 :               tree _o1[2], _r1;
    3603           47 :               {
    3604           47 :                 tree _o2[1], _r2;
    3605           47 :                 _o2[0] = captures[2];
    3606           47 :                 _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3607           47 :                 _o1[0] = _r2;
    3608              :               }
    3609           47 :               {
    3610           47 :                 tree _o2[1], _r2;
    3611           47 :                 _o2[0] = captures[3];
    3612           47 :                 _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3613           47 :                 _o1[1] = _r2;
    3614              :               }
    3615           47 :               _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3616           47 :               res_op0 = _r1;
    3617              :             }
    3618           47 :             tree _r;
    3619           47 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3620           47 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
    3621           47 :             return _r;
    3622              :           }
    3623            0 : next_after_fail1150:;
    3624              :         }
    3625            0 :         break;
    3626              :       }
    3627        54942 :     case CALL_EXPR:
    3628        54942 :       switch (get_call_combined_fn (_p0))
    3629              :         {
    3630        20600 :         case CFN_MUL_OVERFLOW:
    3631        20600 :           if (call_expr_nargs (_p0) == 2)
    3632              :     {
    3633        20600 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3634        20600 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3635        20600 :               if (integer_nonzerop (_q21))
    3636              :                 {
    3637         2784 :                   {
    3638         2784 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3639         2784 :                     tree res = generic_simplify_555 (loc, type, _p0, captures);
    3640         2784 :                     if (res) return res;
    3641              :                   }
    3642              :                 }
    3643        19647 :               if (integer_nonzerop (_q20))
    3644              :                 {
    3645         3002 :                   {
    3646         3002 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    3647         3002 :                     tree res = generic_simplify_555 (loc, type, _p0, captures);
    3648         3002 :                     if (res) return res;
    3649              :                   }
    3650              :                 }
    3651              :             }
    3652              :           break;
    3653            0 :         case CFN_BUILT_IN_CEXPIF:
    3654            0 :           if (call_expr_nargs (_p0) == 1)
    3655              :     {
    3656            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3657            0 :               {
    3658            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3659            0 :                 if (single_use (captures[1]) && single_use (captures[0])
    3660              : )
    3661              :                   {
    3662            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1151;
    3663            0 :                     {
    3664            0 :                       tree res_op0;
    3665            0 :                       {
    3666            0 :                         tree _o1[1], _r1;
    3667            0 :                         _o1[0] = captures[2];
    3668            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SINF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3669            0 :                         if (!_r1)
    3670            0 :                           goto next_after_fail1151;
    3671            0 :                         res_op0 = _r1;
    3672              :                       }
    3673            0 :                       tree _r;
    3674            0 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3675            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 880, __FILE__, __LINE__, true);
    3676            0 :                       return _r;
    3677              :                     }
    3678            0 : next_after_fail1151:;
    3679              :                   }
    3680              :               }
    3681              :             }
    3682              :           break;
    3683            0 :         case CFN_BUILT_IN_CEXPIL:
    3684            0 :           if (call_expr_nargs (_p0) == 1)
    3685              :     {
    3686            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3687            0 :               {
    3688            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3689            0 :                 if (single_use (captures[1]) && single_use (captures[0])
    3690              : )
    3691              :                   {
    3692            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1152;
    3693            0 :                     {
    3694            0 :                       tree res_op0;
    3695            0 :                       {
    3696            0 :                         tree _o1[1], _r1;
    3697            0 :                         _o1[0] = captures[2];
    3698            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SINL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3699            0 :                         if (!_r1)
    3700            0 :                           goto next_after_fail1152;
    3701            0 :                         res_op0 = _r1;
    3702              :                       }
    3703            0 :                       tree _r;
    3704            0 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3705            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 880, __FILE__, __LINE__, true);
    3706            0 :                       return _r;
    3707              :                     }
    3708            0 : next_after_fail1152:;
    3709              :                   }
    3710              :               }
    3711              :             }
    3712              :           break;
    3713            1 :         case CFN_BUILT_IN_CEXPI:
    3714            1 :           if (call_expr_nargs (_p0) == 1)
    3715              :     {
    3716            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3717            1 :               {
    3718            1 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3719            1 :                 if (single_use (captures[1]) && single_use (captures[0])
    3720              : )
    3721              :                   {
    3722            1 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1153;
    3723            1 :                     {
    3724            1 :                       tree res_op0;
    3725            1 :                       {
    3726            1 :                         tree _o1[1], _r1;
    3727            1 :                         _o1[0] = captures[2];
    3728            1 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SIN, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3729            1 :                         if (!_r1)
    3730            0 :                           goto next_after_fail1153;
    3731            1 :                         res_op0 = _r1;
    3732              :                       }
    3733            1 :                       tree _r;
    3734            1 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3735            1 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 880, __FILE__, __LINE__, true);
    3736            1 :                       return _r;
    3737              :                     }
    3738            0 : next_after_fail1153:;
    3739              :                   }
    3740              :               }
    3741              :             }
    3742              :           break;
    3743              :         default:;
    3744              :         }
    3745              :       break;
    3746              :     default:;
    3747              :     }
    3748              :   return NULL_TREE;
    3749              : }
    3750              : 
    3751              : tree
    3752     70109507 : generic_simplify_MULT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    3753              : {
    3754     70109507 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3755     70109507 :   switch (TREE_CODE (_p1))
    3756              :     {
    3757          380 :     case VECTOR_CST:
    3758          380 :       {
    3759          380 :         {
    3760          380 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    3761          380 :           if (initializer_each_zero_or_onep (captures[1])
    3762            5 :  && !HONOR_SNANS (type)
    3763          385 :  && !HONOR_SIGNED_ZEROS (type)
    3764              : )
    3765              :             {
    3766            5 :               {
    3767            5 :  tree itype = FLOAT_TYPE_P (type) ? unsigned_type_for (type) : type;
    3768            5 :                   if (itype
    3769            5 :  && (!VECTOR_MODE_P (TYPE_MODE (type))
    3770            5 :  || (VECTOR_MODE_P (TYPE_MODE (itype))
    3771            5 :  && optab_handler (and_optab,
    3772            5 :  TYPE_MODE (itype)) != CODE_FOR_nothing))
    3773              : )
    3774              :                     {
    3775            5 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1386;
    3776            5 :                       {
    3777            5 :                         tree res_op0;
    3778            5 :                         {
    3779            5 :                           tree _o1[2], _r1;
    3780            5 :                           {
    3781            5 :                             tree _o2[1], _r2;
    3782            5 :                             _o2[0] = captures[0];
    3783            5 :                             if (TREE_TYPE (_o2[0]) != itype)
    3784              :                               {
    3785            1 :                                 _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, itype, _o2[0]);
    3786              :                               }
    3787              :                             else
    3788              :                               _r2 = _o2[0];
    3789            5 :                             _o1[0] = _r2;
    3790              :                           }
    3791            5 :                           {
    3792            5 :                             tree _o2[2], _r2;
    3793            5 :                             _o2[0] = captures[1];
    3794            5 :                             _o2[1] =  build_zero_cst (type);
    3795            5 :                             _r2 = fold_build2_loc (loc, NE_EXPR, itype, _o2[0], _o2[1]);
    3796            5 :                             _o1[1] = _r2;
    3797              :                           }
    3798            5 :                           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, itype, _o1[0], _o1[1]);
    3799            5 :                           res_op0 = _r1;
    3800              :                         }
    3801            5 :                         tree _r;
    3802            5 :                         _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3803            5 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 955, __FILE__, __LINE__, true);
    3804            5 :                         return _r;
    3805              :                       }
    3806            0 : next_after_fail1386:;
    3807              :                     }
    3808              :               }
    3809              :             }
    3810              :         }
    3811          375 :         break;
    3812              :       }
    3813     70109502 :     default:;
    3814              :     }
    3815     70109502 : if (integer_zerop (_p1))
    3816              :   {
    3817        33482 :     {
    3818        33482 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    3819        33482 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1387;
    3820        33482 :       {
    3821        33482 :         tree _r;
    3822        33482 :         _r = captures[1];
    3823        33482 :         if (TREE_SIDE_EFFECTS (captures[0]))
    3824         2458 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3825        33482 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 956, __FILE__, __LINE__, true);
    3826        33482 :         return _r;
    3827              :       }
    3828            0 : next_after_fail1387:;
    3829              :     }
    3830              :   }
    3831     70076020 : if (real_zerop (_p1))
    3832              :   {
    3833          330 :     {
    3834          330 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    3835          330 :       if (!tree_expr_maybe_nan_p (captures[0])
    3836          122 :  && (!HONOR_NANS (type) || !tree_expr_maybe_infinite_p (captures[0]))
    3837          340 :  && (!HONOR_SIGNED_ZEROS (type) || tree_expr_nonnegative_p (captures[0]))
    3838              : )
    3839              :         {
    3840            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1388;
    3841            4 :           {
    3842            4 :             tree _r;
    3843            4 :             _r = captures[1];
    3844            4 :             if (TREE_SIDE_EFFECTS (captures[0]))
    3845            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3846            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 957, __FILE__, __LINE__, true);
    3847            4 :             return _r;
    3848              :           }
    3849            0 : next_after_fail1388:;
    3850              :         }
    3851              :     }
    3852              :   }
    3853     70076016 : if (real_onep (_p1))
    3854              :   {
    3855         1237 :     {
    3856         1237 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3857         1237 :       if (!tree_expr_maybe_signaling_nan_p (captures[0])
    3858         1237 :  && (!HONOR_SIGNED_ZEROS (type)
    3859         1116 :  || !COMPLEX_FLOAT_TYPE_P (type))
    3860              : )
    3861              :         {
    3862          754 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1389;
    3863          754 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1389;
    3864          754 :           {
    3865          754 :             tree res_op0;
    3866          754 :             res_op0 = captures[0];
    3867          754 :             tree _r;
    3868          754 :             _r = non_lvalue_loc (loc, res_op0);
    3869          754 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 958, __FILE__, __LINE__, true);
    3870          754 :             return _r;
    3871              :           }
    3872              : next_after_fail1389:;
    3873              :         }
    3874              :     }
    3875              :   }
    3876     70075262 : if (real_minus_onep (_p1))
    3877              :   {
    3878        42291 :     {
    3879        42291 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3880        42291 :       if (!tree_expr_maybe_signaling_nan_p (captures[0])
    3881        42291 :  && (!HONOR_SIGNED_ZEROS (type)
    3882        39383 :  || !COMPLEX_FLOAT_TYPE_P (type))
    3883              : )
    3884              :         {
    3885        41907 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1390;
    3886        41907 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1390;
    3887        41907 :           {
    3888        41907 :             tree res_op0;
    3889        41907 :             res_op0 = captures[0];
    3890        41907 :             tree _r;
    3891        41907 :             _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    3892        41907 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 959, __FILE__, __LINE__, true);
    3893        41907 :             return _r;
    3894              :           }
    3895              : next_after_fail1390:;
    3896              :         }
    3897              :     }
    3898              :   }
    3899     70033355 :   switch (TREE_CODE (_p0))
    3900              :     {
    3901        60758 :     case BIT_AND_EXPR:
    3902        60758 :       {
    3903        60758 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3904        60758 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3905        60758 :         switch (TREE_CODE (_q20))
    3906              :           {
    3907          275 :           case RSHIFT_EXPR:
    3908          275 :             {
    3909          275 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3910          275 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3911          275 :               if (uniform_integer_cst_p (_q31))
    3912              :                 {
    3913           14 :                   if (uniform_integer_cst_p (_q21))
    3914              :                     {
    3915           14 :                       if (uniform_integer_cst_p (_p1))
    3916              :                         {
    3917           14 :                           {
    3918           14 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
    3919           14 :                             {
    3920           14 :  tree rshift_cst = uniform_integer_cst_p (captures[1]);
    3921           14 :  tree bit_and_cst = uniform_integer_cst_p (captures[2]);
    3922           14 :  tree mult_cst = uniform_integer_cst_p (captures[3]);
    3923           14 :                                 if (VECTOR_TYPE_P (type)
    3924            0 :  && tree_fits_uhwi_p (rshift_cst)
    3925            0 :  && tree_fits_uhwi_p (mult_cst)
    3926            0 :  && tree_fits_uhwi_p (bit_and_cst)
    3927              : )
    3928              :                                   {
    3929            0 :                                     {
    3930            0 :  HOST_WIDE_INT vec_elem_bits = vector_element_bits (type);
    3931            0 :  poly_int64 vec_nelts = TYPE_VECTOR_SUBPARTS (type);
    3932            0 :  poly_int64 vec_bits = vec_elem_bits * vec_nelts;
    3933            0 :  unsigned HOST_WIDE_INT cmp_bits_i, bit_and_i, mult_i;
    3934            0 :  unsigned HOST_WIDE_INT target_mult_i, target_bit_and_i;
    3935            0 :  cmp_bits_i = tree_to_uhwi (rshift_cst) + 1;
    3936            0 :  mult_i = tree_to_uhwi (mult_cst);
    3937            0 :  target_mult_i = (HOST_WIDE_INT_1U << cmp_bits_i) - 1;
    3938            0 :  bit_and_i = tree_to_uhwi (bit_and_cst);
    3939            0 :  target_bit_and_i = 0;
    3940            0 :  for (unsigned i = 0; i < vec_elem_bits / cmp_bits_i; i++)
    3941            0 :  target_bit_and_i = (target_bit_and_i << cmp_bits_i) | 1U;
    3942            0 :                                         if ((exact_log2 (cmp_bits_i)) >= 0
    3943            0 :  && cmp_bits_i < HOST_BITS_PER_WIDE_INT
    3944            0 :  && multiple_p (vec_bits, cmp_bits_i)
    3945            0 :  && vec_elem_bits <= HOST_BITS_PER_WIDE_INT
    3946            0 :  && target_mult_i == mult_i
    3947            0 :  && target_bit_and_i == bit_and_i
    3948              : )
    3949              :                                           {
    3950            0 :                                             {
    3951            0 :  tree cmp_type = build_nonstandard_integer_type (cmp_bits_i, 0);
    3952            0 :  poly_int64 vector_type_nelts = exact_div (vec_bits, cmp_bits_i);
    3953            0 :  tree vec_cmp_type = build_vector_type (cmp_type, vector_type_nelts);
    3954            0 :  tree vec_truth_type = truth_type_for (vec_cmp_type);
    3955            0 :  tree zeros = build_zero_cst (vec_cmp_type);
    3956            0 :  tree ones = build_all_ones_cst (vec_cmp_type);
    3957            0 :                                                 if (expand_vec_cmp_expr_p (vec_cmp_type, vec_truth_type, LT_EXPR)
    3958            0 :  && expand_vec_cond_expr_p (vec_cmp_type, vec_truth_type)
    3959              : )
    3960              :                                                   {
    3961            0 :                                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1391;
    3962            0 :                                                     {
    3963            0 :                                                       tree res_op0;
    3964            0 :                                                       {
    3965            0 :                                                         tree _o1[3], _r1;
    3966            0 :                                                         {
    3967            0 :                                                           tree _o2[2], _r2;
    3968            0 :                                                           {
    3969            0 :                                                             tree _o3[1], _r3;
    3970            0 :                                                             _o3[0] = captures[0];
    3971            0 :                                                             if (TREE_TYPE (_o3[0]) != vec_cmp_type)
    3972              :                                                               {
    3973            0 :                                                                 _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, vec_cmp_type, _o3[0]);
    3974              :                                                               }
    3975              :                                                             else
    3976              :                                                               _r3 = _o3[0];
    3977            0 :                                                             _o2[0] = _r3;
    3978              :                                                           }
    3979            0 :                                                           _o2[1] =  zeros;
    3980            0 :                                                           _r2 = fold_build2_loc (loc, LT_EXPR, vec_truth_type, _o2[0], _o2[1]);
    3981            0 :                                                           _o1[0] = _r2;
    3982              :                                                         }
    3983            0 :                                                         _o1[1] =  ones;
    3984            0 :                                                         _o1[2] =  zeros;
    3985            0 :                                                         _r1 = fold_build3_loc (loc, VEC_COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
    3986            0 :                                                         res_op0 = _r1;
    3987              :                                                       }
    3988            0 :                                                       tree _r;
    3989            0 :                                                       _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3990            0 :                                                       if (TREE_SIDE_EFFECTS (captures[1]))
    3991            0 :                                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3992            0 :                                                       if (TREE_SIDE_EFFECTS (captures[2]))
    3993            0 :                                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3994            0 :                                                       if (TREE_SIDE_EFFECTS (captures[3]))
    3995            0 :                                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3996            0 :                                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 960, __FILE__, __LINE__, true);
    3997            0 :                                                       return _r;
    3998              :                                                     }
    3999            0 : next_after_fail1391:;
    4000              :                                                   }
    4001              :                                             }
    4002              :                                           }
    4003              :                                     }
    4004              :                                   }
    4005              :                             }
    4006              :                           }
    4007              :                         }
    4008              :                     }
    4009              :                 }
    4010              :               break;
    4011              :             }
    4012              :           default:;
    4013              :           }
    4014              :         break;
    4015              :       }
    4016     70033355 :     default:;
    4017              :     }
    4018     70033355 :   switch (TREE_CODE (_p1))
    4019              :     {
    4020         3037 :     case COND_EXPR:
    4021         3037 :       {
    4022         3037 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4023         3037 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4024         3037 :         tree _q32 = TREE_OPERAND (_p1, 2);
    4025         3037 :         switch (TREE_CODE (_q30))
    4026              :           {
    4027          546 :           case GT_EXPR:
    4028          546 :             {
    4029          546 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4030          546 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4031          546 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4032              :                 {
    4033            0 :                   if (real_zerop (_q41))
    4034              :                     {
    4035            0 :                       if (real_onep (_q31))
    4036              :                         {
    4037            0 :                           if (real_minus_onep (_q32))
    4038              :                             {
    4039            0 :                               {
    4040            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    4041            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4042              : )
    4043              :                                   {
    4044            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1392;
    4045            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1392;
    4046            0 :                                     {
    4047            0 :                                       tree res_op0;
    4048            0 :                                       {
    4049            0 :                                         tree _o1[1], _r1;
    4050            0 :                                         _o1[0] = captures[0];
    4051            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4052            0 :                                         res_op0 = _r1;
    4053              :                                       }
    4054            0 :                                       tree _r;
    4055            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4056            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    4057            0 :                                       return _r;
    4058              :                                     }
    4059            0 : next_after_fail1392:;
    4060              :                                   }
    4061              :                               }
    4062              :                             }
    4063              :                         }
    4064              :                     }
    4065              :                 }
    4066              :               break;
    4067              :             }
    4068           24 :           case GE_EXPR:
    4069           24 :             {
    4070           24 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4071           24 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4072           24 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4073              :                 {
    4074            0 :                   if (real_zerop (_q41))
    4075              :                     {
    4076            0 :                       if (real_onep (_q31))
    4077              :                         {
    4078            0 :                           if (real_minus_onep (_q32))
    4079              :                             {
    4080            0 :                               {
    4081            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    4082            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4083              : )
    4084              :                                   {
    4085            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1393;
    4086            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1393;
    4087            0 :                                     {
    4088            0 :                                       tree res_op0;
    4089            0 :                                       {
    4090            0 :                                         tree _o1[1], _r1;
    4091            0 :                                         _o1[0] = captures[0];
    4092            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4093            0 :                                         res_op0 = _r1;
    4094              :                                       }
    4095            0 :                                       tree _r;
    4096            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4097            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    4098            0 :                                       return _r;
    4099              :                                     }
    4100            0 : next_after_fail1393:;
    4101              :                                   }
    4102              :                               }
    4103              :                             }
    4104              :                         }
    4105              :                     }
    4106              :                 }
    4107              :               break;
    4108              :             }
    4109           51 :           case LT_EXPR:
    4110           51 :             {
    4111           51 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4112           51 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4113           51 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4114              :                 {
    4115            0 :                   if (real_zerop (_q41))
    4116              :                     {
    4117            0 :                       if (real_onep (_q31))
    4118              :                         {
    4119            0 :                           if (real_minus_onep (_q32))
    4120              :                             {
    4121            0 :                               {
    4122            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    4123            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4124              : )
    4125              :                                   {
    4126            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1394;
    4127            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1394;
    4128            0 :                                     {
    4129            0 :                                       tree res_op0;
    4130            0 :                                       {
    4131            0 :                                         tree _o1[1], _r1;
    4132            0 :                                         _o1[0] = captures[0];
    4133            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4134            0 :                                         res_op0 = _r1;
    4135              :                                       }
    4136            0 :                                       tree _r;
    4137            0 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4138            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    4139            0 :                                       return _r;
    4140              :                                     }
    4141            0 : next_after_fail1394:;
    4142              :                                   }
    4143              :                               }
    4144              :                             }
    4145              :                         }
    4146              :                     }
    4147              :                 }
    4148              :               break;
    4149              :             }
    4150            5 :           case LE_EXPR:
    4151            5 :             {
    4152            5 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4153            5 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4154            5 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4155              :                 {
    4156            0 :                   if (real_zerop (_q41))
    4157              :                     {
    4158            0 :                       if (real_onep (_q31))
    4159              :                         {
    4160            0 :                           if (real_minus_onep (_q32))
    4161              :                             {
    4162            0 :                               {
    4163            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    4164            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4165              : )
    4166              :                                   {
    4167            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1395;
    4168            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1395;
    4169            0 :                                     {
    4170            0 :                                       tree res_op0;
    4171            0 :                                       {
    4172            0 :                                         tree _o1[1], _r1;
    4173            0 :                                         _o1[0] = captures[0];
    4174            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4175            0 :                                         res_op0 = _r1;
    4176              :                                       }
    4177            0 :                                       tree _r;
    4178            0 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4179            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    4180            0 :                                       return _r;
    4181              :                                     }
    4182            0 : next_after_fail1395:;
    4183              :                                   }
    4184              :                               }
    4185              :                             }
    4186              :                         }
    4187              :                     }
    4188              :                 }
    4189              :               break;
    4190              :             }
    4191              :           default:;
    4192              :           }
    4193              :         break;
    4194              :       }
    4195     70033355 :     default:;
    4196              :     }
    4197     70033355 :   switch (TREE_CODE (_p0))
    4198              :     {
    4199        84390 :     case COND_EXPR:
    4200        84390 :       {
    4201        84390 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4202        84390 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4203        84390 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4204        84390 :         switch (TREE_CODE (_q20))
    4205              :           {
    4206        19529 :           case GT_EXPR:
    4207        19529 :             {
    4208        19529 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4209        19529 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4210        19529 :               if (real_zerop (_q31))
    4211              :                 {
    4212            4 :                   if (real_onep (_q21))
    4213              :                     {
    4214            3 :                       if (real_minus_onep (_q22))
    4215              :                         {
    4216            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4217              :                             {
    4218            1 :                               {
    4219            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4220            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4221              : )
    4222              :                                   {
    4223            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1396;
    4224            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1396;
    4225            1 :                                     {
    4226            1 :                                       tree res_op0;
    4227            1 :                                       {
    4228            1 :                                         tree _o1[1], _r1;
    4229            1 :                                         _o1[0] = captures[0];
    4230            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4231            1 :                                         res_op0 = _r1;
    4232              :                                       }
    4233            1 :                                       tree _r;
    4234            1 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4235            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    4236            1 :                                       return _r;
    4237              :                                     }
    4238            0 : next_after_fail1396:;
    4239              :                                   }
    4240              :                               }
    4241              :                             }
    4242              :                         }
    4243              :                     }
    4244            3 :                   if (real_minus_onep (_q21))
    4245              :                     {
    4246            1 :                       if (real_onep (_q22))
    4247              :                         {
    4248            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4249              :                             {
    4250            1 :                               {
    4251            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
    4252            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4253              : )
    4254              :                                   {
    4255            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1397;
    4256            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1397;
    4257            1 :                                     {
    4258            1 :                                       tree res_op0;
    4259            1 :                                       {
    4260            1 :                                         tree _o1[1], _r1;
    4261            1 :                                         _o1[0] = captures[0];
    4262            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4263            1 :                                         res_op0 = _r1;
    4264              :                                       }
    4265            1 :                                       tree _r;
    4266            1 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4267            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 962, __FILE__, __LINE__, true);
    4268            1 :                                       return _r;
    4269              :                                     }
    4270            0 : next_after_fail1397:;
    4271              :                                   }
    4272              :                               }
    4273              :                             }
    4274              :                         }
    4275              :                     }
    4276              :                 }
    4277              :               break;
    4278              :             }
    4279         8245 :           case GE_EXPR:
    4280         8245 :             {
    4281         8245 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4282         8245 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4283         8245 :               if (real_zerop (_q31))
    4284              :                 {
    4285            2 :                   if (real_onep (_q21))
    4286              :                     {
    4287            1 :                       if (real_minus_onep (_q22))
    4288              :                         {
    4289            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4290              :                             {
    4291            1 :                               {
    4292            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4293            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4294              : )
    4295              :                                   {
    4296            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1398;
    4297            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1398;
    4298            1 :                                     {
    4299            1 :                                       tree res_op0;
    4300            1 :                                       {
    4301            1 :                                         tree _o1[1], _r1;
    4302            1 :                                         _o1[0] = captures[0];
    4303            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4304            1 :                                         res_op0 = _r1;
    4305              :                                       }
    4306            1 :                                       tree _r;
    4307            1 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4308            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    4309            1 :                                       return _r;
    4310              :                                     }
    4311            0 : next_after_fail1398:;
    4312              :                                   }
    4313              :                               }
    4314              :                             }
    4315              :                         }
    4316              :                     }
    4317            1 :                   if (real_minus_onep (_q21))
    4318              :                     {
    4319            1 :                       if (real_onep (_q22))
    4320              :                         {
    4321            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4322              :                             {
    4323            1 :                               {
    4324            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
    4325            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4326              : )
    4327              :                                   {
    4328            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1399;
    4329            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1399;
    4330            1 :                                     {
    4331            1 :                                       tree res_op0;
    4332            1 :                                       {
    4333            1 :                                         tree _o1[1], _r1;
    4334            1 :                                         _o1[0] = captures[0];
    4335            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4336            1 :                                         res_op0 = _r1;
    4337              :                                       }
    4338            1 :                                       tree _r;
    4339            1 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4340            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 962, __FILE__, __LINE__, true);
    4341            1 :                                       return _r;
    4342              :                                     }
    4343            0 : next_after_fail1399:;
    4344              :                                   }
    4345              :                               }
    4346              :                             }
    4347              :                         }
    4348              :                     }
    4349              :                 }
    4350              :               break;
    4351              :             }
    4352         7743 :           case LT_EXPR:
    4353         7743 :             {
    4354         7743 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4355         7743 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4356         7743 :               if (real_zerop (_q31))
    4357              :                 {
    4358            2 :                   if (real_onep (_q21))
    4359              :                     {
    4360            1 :                       if (real_minus_onep (_q22))
    4361              :                         {
    4362            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4363              :                             {
    4364            1 :                               {
    4365            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4366            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4367              : )
    4368              :                                   {
    4369            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1400;
    4370            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1400;
    4371            1 :                                     {
    4372            1 :                                       tree res_op0;
    4373            1 :                                       {
    4374            1 :                                         tree _o1[1], _r1;
    4375            1 :                                         _o1[0] = captures[0];
    4376            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4377            1 :                                         res_op0 = _r1;
    4378              :                                       }
    4379            1 :                                       tree _r;
    4380            1 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4381            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    4382            1 :                                       return _r;
    4383              :                                     }
    4384            0 : next_after_fail1400:;
    4385              :                                   }
    4386              :                               }
    4387              :                             }
    4388              :                         }
    4389              :                     }
    4390            1 :                   if (real_minus_onep (_q21))
    4391              :                     {
    4392            1 :                       if (real_onep (_q22))
    4393              :                         {
    4394            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4395              :                             {
    4396            1 :                               {
    4397            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
    4398            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4399              : )
    4400              :                                   {
    4401            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1401;
    4402            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1401;
    4403            1 :                                     {
    4404            1 :                                       tree res_op0;
    4405            1 :                                       {
    4406            1 :                                         tree _o1[1], _r1;
    4407            1 :                                         _o1[0] = captures[0];
    4408            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4409            1 :                                         res_op0 = _r1;
    4410              :                                       }
    4411            1 :                                       tree _r;
    4412            1 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4413            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 962, __FILE__, __LINE__, true);
    4414            1 :                                       return _r;
    4415              :                                     }
    4416            0 : next_after_fail1401:;
    4417              :                                   }
    4418              :                               }
    4419              :                             }
    4420              :                         }
    4421              :                     }
    4422              :                 }
    4423              :               break;
    4424              :             }
    4425         3233 :           case LE_EXPR:
    4426         3233 :             {
    4427         3233 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4428         3233 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4429         3233 :               if (real_zerop (_q31))
    4430              :                 {
    4431            2 :                   if (real_onep (_q21))
    4432              :                     {
    4433            1 :                       if (real_minus_onep (_q22))
    4434              :                         {
    4435            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4436              :                             {
    4437            1 :                               {
    4438            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4439            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4440              : )
    4441              :                                   {
    4442            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1402;
    4443            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1402;
    4444            1 :                                     {
    4445            1 :                                       tree res_op0;
    4446            1 :                                       {
    4447            1 :                                         tree _o1[1], _r1;
    4448            1 :                                         _o1[0] = captures[0];
    4449            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4450            1 :                                         res_op0 = _r1;
    4451              :                                       }
    4452            1 :                                       tree _r;
    4453            1 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4454            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    4455            1 :                                       return _r;
    4456              :                                     }
    4457            0 : next_after_fail1402:;
    4458              :                                   }
    4459              :                               }
    4460              :                             }
    4461              :                         }
    4462              :                     }
    4463            1 :                   if (real_minus_onep (_q21))
    4464              :                     {
    4465            1 :                       if (real_onep (_q22))
    4466              :                         {
    4467            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4468              :                             {
    4469            1 :                               {
    4470            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
    4471            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4472              : )
    4473              :                                   {
    4474            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1403;
    4475            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1403;
    4476            1 :                                     {
    4477            1 :                                       tree res_op0;
    4478            1 :                                       {
    4479            1 :                                         tree _o1[1], _r1;
    4480            1 :                                         _o1[0] = captures[0];
    4481            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4482            1 :                                         res_op0 = _r1;
    4483              :                                       }
    4484            1 :                                       tree _r;
    4485            1 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4486            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 962, __FILE__, __LINE__, true);
    4487            1 :                                       return _r;
    4488              :                                     }
    4489            0 : next_after_fail1403:;
    4490              :                                   }
    4491              :                               }
    4492              :                             }
    4493              :                         }
    4494              :                     }
    4495              :                 }
    4496              :               break;
    4497              :             }
    4498              :           default:;
    4499              :           }
    4500              :         break;
    4501              :       }
    4502     70033347 :     default:;
    4503              :     }
    4504     70033347 :   switch (TREE_CODE (_p1))
    4505              :     {
    4506         3037 :     case COND_EXPR:
    4507         3037 :       {
    4508         3037 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4509         3037 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4510         3037 :         tree _q32 = TREE_OPERAND (_p1, 2);
    4511         3037 :         switch (TREE_CODE (_q30))
    4512              :           {
    4513          546 :           case GT_EXPR:
    4514          546 :             {
    4515          546 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4516          546 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4517          546 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4518              :                 {
    4519            0 :                   if (real_zerop (_q41))
    4520              :                     {
    4521            0 :                       if (real_minus_onep (_q31))
    4522              :                         {
    4523            0 :                           if (real_onep (_q32))
    4524              :                             {
    4525            0 :                               {
    4526            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
    4527            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4528              : )
    4529              :                                   {
    4530            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1404;
    4531            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1404;
    4532            0 :                                     {
    4533            0 :                                       tree res_op0;
    4534            0 :                                       {
    4535            0 :                                         tree _o1[1], _r1;
    4536            0 :                                         _o1[0] = captures[0];
    4537            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4538            0 :                                         res_op0 = _r1;
    4539              :                                       }
    4540            0 :                                       tree _r;
    4541            0 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4542            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 962, __FILE__, __LINE__, true);
    4543            0 :                                       return _r;
    4544              :                                     }
    4545            0 : next_after_fail1404:;
    4546              :                                   }
    4547              :                               }
    4548              :                             }
    4549              :                         }
    4550              :                     }
    4551              :                 }
    4552              :               break;
    4553              :             }
    4554           24 :           case GE_EXPR:
    4555           24 :             {
    4556           24 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4557           24 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4558           24 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4559              :                 {
    4560            0 :                   if (real_zerop (_q41))
    4561              :                     {
    4562            0 :                       if (real_minus_onep (_q31))
    4563              :                         {
    4564            0 :                           if (real_onep (_q32))
    4565              :                             {
    4566            0 :                               {
    4567            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
    4568            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4569              : )
    4570              :                                   {
    4571            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1405;
    4572            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1405;
    4573            0 :                                     {
    4574            0 :                                       tree res_op0;
    4575            0 :                                       {
    4576            0 :                                         tree _o1[1], _r1;
    4577            0 :                                         _o1[0] = captures[0];
    4578            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4579            0 :                                         res_op0 = _r1;
    4580              :                                       }
    4581            0 :                                       tree _r;
    4582            0 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4583            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 962, __FILE__, __LINE__, true);
    4584            0 :                                       return _r;
    4585              :                                     }
    4586            0 : next_after_fail1405:;
    4587              :                                   }
    4588              :                               }
    4589              :                             }
    4590              :                         }
    4591              :                     }
    4592              :                 }
    4593              :               break;
    4594              :             }
    4595           51 :           case LT_EXPR:
    4596           51 :             {
    4597           51 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4598           51 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4599           51 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4600              :                 {
    4601            0 :                   if (real_zerop (_q41))
    4602              :                     {
    4603            0 :                       if (real_minus_onep (_q31))
    4604              :                         {
    4605            0 :                           if (real_onep (_q32))
    4606              :                             {
    4607            0 :                               {
    4608            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
    4609            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4610              : )
    4611              :                                   {
    4612            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1406;
    4613            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1406;
    4614            0 :                                     {
    4615            0 :                                       tree res_op0;
    4616            0 :                                       {
    4617            0 :                                         tree _o1[1], _r1;
    4618            0 :                                         _o1[0] = captures[0];
    4619            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4620            0 :                                         res_op0 = _r1;
    4621              :                                       }
    4622            0 :                                       tree _r;
    4623            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4624            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 962, __FILE__, __LINE__, true);
    4625            0 :                                       return _r;
    4626              :                                     }
    4627            0 : next_after_fail1406:;
    4628              :                                   }
    4629              :                               }
    4630              :                             }
    4631              :                         }
    4632              :                     }
    4633              :                 }
    4634              :               break;
    4635              :             }
    4636            5 :           case LE_EXPR:
    4637            5 :             {
    4638            5 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4639            5 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4640            5 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4641              :                 {
    4642            0 :                   if (real_zerop (_q41))
    4643              :                     {
    4644            0 :                       if (real_minus_onep (_q31))
    4645              :                         {
    4646            0 :                           if (real_onep (_q32))
    4647              :                             {
    4648            0 :                               {
    4649            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
    4650            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4651              : )
    4652              :                                   {
    4653            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1407;
    4654            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1407;
    4655            0 :                                     {
    4656            0 :                                       tree res_op0;
    4657            0 :                                       {
    4658            0 :                                         tree _o1[1], _r1;
    4659            0 :                                         _o1[0] = captures[0];
    4660            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4661            0 :                                         res_op0 = _r1;
    4662              :                                       }
    4663            0 :                                       tree _r;
    4664            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4665            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 962, __FILE__, __LINE__, true);
    4666            0 :                                       return _r;
    4667              :                                     }
    4668            0 : next_after_fail1407:;
    4669              :                                   }
    4670              :                               }
    4671              :                             }
    4672              :                         }
    4673              :                     }
    4674              :                 }
    4675              :               break;
    4676              :             }
    4677              :           default:;
    4678              :           }
    4679              :         break;
    4680              :       }
    4681       866170 :     case CALL_EXPR:
    4682       866170 :       switch (get_call_combined_fn (_p1))
    4683              :         {
    4684           20 :         case CFN_BUILT_IN_COPYSIGNF16:
    4685           20 :           if (call_expr_nargs (_p1) == 2)
    4686              :     {
    4687           20 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4688           20 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4689           20 :               if (real_onep (_q30))
    4690              :                 {
    4691           20 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4692              :                     {
    4693            0 :                       {
    4694            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4695            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    4696            0 :                         if (res) return res;
    4697              :                       }
    4698              :                     }
    4699              :                 }
    4700              :             }
    4701              :           break;
    4702            0 :         case CFN_BUILT_IN_COPYSIGNF32:
    4703            0 :           if (call_expr_nargs (_p1) == 2)
    4704              :     {
    4705            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4706            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4707            0 :               if (real_onep (_q30))
    4708              :                 {
    4709            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4710              :                     {
    4711            0 :                       {
    4712            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4713            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    4714            0 :                         if (res) return res;
    4715              :                       }
    4716              :                     }
    4717              :                 }
    4718              :             }
    4719              :           break;
    4720            0 :         case CFN_BUILT_IN_COPYSIGNF64:
    4721            0 :           if (call_expr_nargs (_p1) == 2)
    4722              :     {
    4723            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4724            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4725            0 :               if (real_onep (_q30))
    4726              :                 {
    4727            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4728              :                     {
    4729            0 :                       {
    4730            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4731            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    4732            0 :                         if (res) return res;
    4733              :                       }
    4734              :                     }
    4735              :                 }
    4736              :             }
    4737              :           break;
    4738            0 :         case CFN_BUILT_IN_COPYSIGNF128X:
    4739            0 :           if (call_expr_nargs (_p1) == 2)
    4740              :     {
    4741            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4742            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4743            0 :               if (real_onep (_q30))
    4744              :                 {
    4745            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4746              :                     {
    4747            0 :                       {
    4748            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4749            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    4750            0 :                         if (res) return res;
    4751              :                       }
    4752              :                     }
    4753              :                 }
    4754              :             }
    4755              :           break;
    4756            0 :         case CFN_BUILT_IN_COPYSIGNF128:
    4757            0 :           if (call_expr_nargs (_p1) == 2)
    4758              :     {
    4759            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4760            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4761            0 :               if (real_onep (_q30))
    4762              :                 {
    4763            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4764              :                     {
    4765            0 :                       {
    4766            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4767            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    4768            0 :                         if (res) return res;
    4769              :                       }
    4770              :                     }
    4771              :                 }
    4772              :             }
    4773              :           break;
    4774            0 :         case CFN_BUILT_IN_COPYSIGNF32X:
    4775            0 :           if (call_expr_nargs (_p1) == 2)
    4776              :     {
    4777            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4778            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4779            0 :               if (real_onep (_q30))
    4780              :                 {
    4781            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4782              :                     {
    4783            0 :                       {
    4784            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4785            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    4786            0 :                         if (res) return res;
    4787              :                       }
    4788              :                     }
    4789              :                 }
    4790              :             }
    4791              :           break;
    4792            0 :         case CFN_BUILT_IN_COPYSIGNF64X:
    4793            0 :           if (call_expr_nargs (_p1) == 2)
    4794              :     {
    4795            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4796            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4797            0 :               if (real_onep (_q30))
    4798              :                 {
    4799            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4800              :                     {
    4801            0 :                       {
    4802            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4803            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    4804            0 :                         if (res) return res;
    4805              :                       }
    4806              :                     }
    4807              :                 }
    4808              :             }
    4809              :           break;
    4810           18 :         case CFN_BUILT_IN_COPYSIGN:
    4811           18 :           if (call_expr_nargs (_p1) == 2)
    4812              :     {
    4813           18 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4814           18 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4815           18 :               if (real_onep (_q30))
    4816              :                 {
    4817           14 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4818              :                     {
    4819            0 :                       {
    4820            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4821            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    4822            0 :                         if (res) return res;
    4823              :                       }
    4824              :                     }
    4825              :                 }
    4826              :             }
    4827              :           break;
    4828           14 :         case CFN_BUILT_IN_COPYSIGNF:
    4829           14 :           if (call_expr_nargs (_p1) == 2)
    4830              :     {
    4831           14 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4832           14 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4833           14 :               if (real_onep (_q30))
    4834              :                 {
    4835           12 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4836              :                     {
    4837            0 :                       {
    4838            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4839            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    4840            0 :                         if (res) return res;
    4841              :                       }
    4842              :                     }
    4843              :                 }
    4844              :             }
    4845              :           break;
    4846            0 :         case CFN_BUILT_IN_COPYSIGNL:
    4847            0 :           if (call_expr_nargs (_p1) == 2)
    4848              :     {
    4849            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4850            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4851            0 :               if (real_onep (_q30))
    4852              :                 {
    4853            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4854              :                     {
    4855            0 :                       {
    4856            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4857            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    4858            0 :                         if (res) return res;
    4859              :                       }
    4860              :                     }
    4861              :                 }
    4862              :             }
    4863              :           break;
    4864            0 :         case CFN_COPYSIGN:
    4865            0 :           if (call_expr_nargs (_p1) == 2)
    4866              :     {
    4867            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4868            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4869            0 :               if (real_onep (_q30))
    4870              :                 {
    4871            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4872              :                     {
    4873            0 :                       {
    4874            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4875            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    4876            0 :                         if (res) return res;
    4877              :                       }
    4878              :                     }
    4879              :                 }
    4880              :             }
    4881              :           break;
    4882              :         default:;
    4883              :         }
    4884              :       break;
    4885     70033347 :     default:;
    4886              :     }
    4887     70033347 :   switch (TREE_CODE (_p0))
    4888              :     {
    4889      2627369 :     case CALL_EXPR:
    4890      2627369 :       switch (get_call_combined_fn (_p0))
    4891              :         {
    4892            1 :         case CFN_BUILT_IN_COPYSIGNF16:
    4893            1 :           if (call_expr_nargs (_p0) == 2)
    4894              :     {
    4895            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    4896            1 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    4897            1 :               if (real_onep (_q20))
    4898              :                 {
    4899            1 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4900              :                     {
    4901            0 :                       {
    4902            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    4903            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    4904            0 :                         if (res) return res;
    4905              :                       }
    4906              :                     }
    4907            1 :                   switch (TREE_CODE (_q21))
    4908              :                     {
    4909            0 :                     case NEGATE_EXPR:
    4910            0 :                       {
    4911            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    4912            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4913              :                           {
    4914            0 :                             {
    4915            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    4916            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    4917            0 :                               if (res) return res;
    4918              :                             }
    4919              :                           }
    4920              :                         break;
    4921              :                       }
    4922              :                     default:;
    4923              :                     }
    4924              :                 }
    4925              :             }
    4926              :           break;
    4927            0 :         case CFN_BUILT_IN_COPYSIGNF32:
    4928            0 :           if (call_expr_nargs (_p0) == 2)
    4929              :     {
    4930            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    4931            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    4932            0 :               if (real_onep (_q20))
    4933              :                 {
    4934            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4935              :                     {
    4936            0 :                       {
    4937            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    4938            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    4939            0 :                         if (res) return res;
    4940              :                       }
    4941              :                     }
    4942            0 :                   switch (TREE_CODE (_q21))
    4943              :                     {
    4944            0 :                     case NEGATE_EXPR:
    4945            0 :                       {
    4946            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    4947            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4948              :                           {
    4949            0 :                             {
    4950            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    4951            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    4952            0 :                               if (res) return res;
    4953              :                             }
    4954              :                           }
    4955              :                         break;
    4956              :                       }
    4957              :                     default:;
    4958              :                     }
    4959              :                 }
    4960              :             }
    4961              :           break;
    4962            0 :         case CFN_BUILT_IN_COPYSIGNF64:
    4963            0 :           if (call_expr_nargs (_p0) == 2)
    4964              :     {
    4965            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    4966            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    4967            0 :               if (real_onep (_q20))
    4968              :                 {
    4969            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4970              :                     {
    4971            0 :                       {
    4972            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    4973            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    4974            0 :                         if (res) return res;
    4975              :                       }
    4976              :                     }
    4977            0 :                   switch (TREE_CODE (_q21))
    4978              :                     {
    4979            0 :                     case NEGATE_EXPR:
    4980            0 :                       {
    4981            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    4982            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4983              :                           {
    4984            0 :                             {
    4985            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    4986            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    4987            0 :                               if (res) return res;
    4988              :                             }
    4989              :                           }
    4990              :                         break;
    4991              :                       }
    4992              :                     default:;
    4993              :                     }
    4994              :                 }
    4995              :             }
    4996              :           break;
    4997            0 :         case CFN_BUILT_IN_COPYSIGNF128X:
    4998            0 :           if (call_expr_nargs (_p0) == 2)
    4999              :     {
    5000            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5001            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5002            0 :               if (real_onep (_q20))
    5003              :                 {
    5004            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5005              :                     {
    5006            0 :                       {
    5007            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5008            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    5009            0 :                         if (res) return res;
    5010              :                       }
    5011              :                     }
    5012            0 :                   switch (TREE_CODE (_q21))
    5013              :                     {
    5014            0 :                     case NEGATE_EXPR:
    5015            0 :                       {
    5016            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5017            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5018              :                           {
    5019            0 :                             {
    5020            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5021            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    5022            0 :                               if (res) return res;
    5023              :                             }
    5024              :                           }
    5025              :                         break;
    5026              :                       }
    5027              :                     default:;
    5028              :                     }
    5029              :                 }
    5030              :             }
    5031              :           break;
    5032            8 :         case CFN_BUILT_IN_COPYSIGNF128:
    5033            8 :           if (call_expr_nargs (_p0) == 2)
    5034              :     {
    5035            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5036            8 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5037            8 :               if (real_onep (_q20))
    5038              :                 {
    5039            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5040              :                     {
    5041            0 :                       {
    5042            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5043            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    5044            0 :                         if (res) return res;
    5045              :                       }
    5046              :                     }
    5047            0 :                   switch (TREE_CODE (_q21))
    5048              :                     {
    5049            0 :                     case NEGATE_EXPR:
    5050            0 :                       {
    5051            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5052            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5053              :                           {
    5054            0 :                             {
    5055            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5056            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    5057            0 :                               if (res) return res;
    5058              :                             }
    5059              :                           }
    5060              :                         break;
    5061              :                       }
    5062              :                     default:;
    5063              :                     }
    5064              :                 }
    5065              :             }
    5066              :           break;
    5067            0 :         case CFN_BUILT_IN_COPYSIGNF32X:
    5068            0 :           if (call_expr_nargs (_p0) == 2)
    5069              :     {
    5070            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5071            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5072            0 :               if (real_onep (_q20))
    5073              :                 {
    5074            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5075              :                     {
    5076            0 :                       {
    5077            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5078            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    5079            0 :                         if (res) return res;
    5080              :                       }
    5081              :                     }
    5082            0 :                   switch (TREE_CODE (_q21))
    5083              :                     {
    5084            0 :                     case NEGATE_EXPR:
    5085            0 :                       {
    5086            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5087            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5088              :                           {
    5089            0 :                             {
    5090            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5091            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    5092            0 :                               if (res) return res;
    5093              :                             }
    5094              :                           }
    5095              :                         break;
    5096              :                       }
    5097              :                     default:;
    5098              :                     }
    5099              :                 }
    5100              :             }
    5101              :           break;
    5102            0 :         case CFN_BUILT_IN_COPYSIGNF64X:
    5103            0 :           if (call_expr_nargs (_p0) == 2)
    5104              :     {
    5105            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5106            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5107            0 :               if (real_onep (_q20))
    5108              :                 {
    5109            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5110              :                     {
    5111            0 :                       {
    5112            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5113            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    5114            0 :                         if (res) return res;
    5115              :                       }
    5116              :                     }
    5117            0 :                   switch (TREE_CODE (_q21))
    5118              :                     {
    5119            0 :                     case NEGATE_EXPR:
    5120            0 :                       {
    5121            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5122            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5123              :                           {
    5124            0 :                             {
    5125            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5126            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    5127            0 :                               if (res) return res;
    5128              :                             }
    5129              :                           }
    5130              :                         break;
    5131              :                       }
    5132              :                     default:;
    5133              :                     }
    5134              :                 }
    5135              :             }
    5136              :           break;
    5137           18 :         case CFN_BUILT_IN_COPYSIGN:
    5138           18 :           if (call_expr_nargs (_p0) == 2)
    5139              :     {
    5140           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5141           18 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5142           18 :               if (real_onep (_q20))
    5143              :                 {
    5144            3 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5145              :                     {
    5146            0 :                       {
    5147            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5148            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    5149            0 :                         if (res) return res;
    5150              :                       }
    5151              :                     }
    5152            3 :                   switch (TREE_CODE (_q21))
    5153              :                     {
    5154            0 :                     case NEGATE_EXPR:
    5155            0 :                       {
    5156            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5157            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5158              :                           {
    5159            0 :                             {
    5160            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5161            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    5162            0 :                               if (res) return res;
    5163              :                             }
    5164              :                           }
    5165              :                         break;
    5166              :                       }
    5167              :                     default:;
    5168              :                     }
    5169              :                 }
    5170              :             }
    5171              :           break;
    5172           36 :         case CFN_BUILT_IN_COPYSIGNF:
    5173           36 :           if (call_expr_nargs (_p0) == 2)
    5174              :     {
    5175           36 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5176           36 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5177           36 :               if (real_onep (_q20))
    5178              :                 {
    5179           12 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5180              :                     {
    5181            4 :                       {
    5182            4 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5183            4 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    5184            4 :                         if (res) return res;
    5185              :                       }
    5186              :                     }
    5187           12 :                   switch (TREE_CODE (_q21))
    5188              :                     {
    5189            0 :                     case NEGATE_EXPR:
    5190            0 :                       {
    5191            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5192            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5193              :                           {
    5194            0 :                             {
    5195            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5196            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    5197            0 :                               if (res) return res;
    5198              :                             }
    5199              :                           }
    5200              :                         break;
    5201              :                       }
    5202              :                     default:;
    5203              :                     }
    5204              :                 }
    5205              :             }
    5206              :           break;
    5207            8 :         case CFN_BUILT_IN_COPYSIGNL:
    5208            8 :           if (call_expr_nargs (_p0) == 2)
    5209              :     {
    5210            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5211            8 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5212            8 :               if (real_onep (_q20))
    5213              :                 {
    5214            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5215              :                     {
    5216            0 :                       {
    5217            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5218            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    5219            0 :                         if (res) return res;
    5220              :                       }
    5221              :                     }
    5222            0 :                   switch (TREE_CODE (_q21))
    5223              :                     {
    5224            0 :                     case NEGATE_EXPR:
    5225            0 :                       {
    5226            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5227            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5228              :                           {
    5229            0 :                             {
    5230            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5231            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    5232            0 :                               if (res) return res;
    5233              :                             }
    5234              :                           }
    5235              :                         break;
    5236              :                       }
    5237              :                     default:;
    5238              :                     }
    5239              :                 }
    5240              :             }
    5241              :           break;
    5242            0 :         case CFN_COPYSIGN:
    5243            0 :           if (call_expr_nargs (_p0) == 2)
    5244              :     {
    5245            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5246            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5247            0 :               if (real_onep (_q20))
    5248              :                 {
    5249            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5250              :                     {
    5251            0 :                       {
    5252            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5253            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    5254            0 :                         if (res) return res;
    5255              :                       }
    5256              :                     }
    5257            0 :                   switch (TREE_CODE (_q21))
    5258              :                     {
    5259            0 :                     case NEGATE_EXPR:
    5260            0 :                       {
    5261            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5262            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5263              :                           {
    5264            0 :                             {
    5265            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5266            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    5267            0 :                               if (res) return res;
    5268              :                             }
    5269              :                           }
    5270              :                         break;
    5271              :                       }
    5272              :                     default:;
    5273              :                     }
    5274              :                 }
    5275              :             }
    5276              :           break;
    5277              :         default:;
    5278              :         }
    5279              :       break;
    5280     70033347 :     default:;
    5281              :     }
    5282     70033347 :   switch (TREE_CODE (_p1))
    5283              :     {
    5284       866170 :     case CALL_EXPR:
    5285       866170 :       switch (get_call_combined_fn (_p1))
    5286              :         {
    5287           20 :         case CFN_BUILT_IN_COPYSIGNF16:
    5288           20 :           if (call_expr_nargs (_p1) == 2)
    5289              :     {
    5290           20 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5291           20 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5292           20 :               if (real_onep (_q30))
    5293              :                 {
    5294           20 :                   switch (TREE_CODE (_q31))
    5295              :                     {
    5296            0 :                     case NEGATE_EXPR:
    5297            0 :                       {
    5298            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5299            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5300              :                           {
    5301            0 :                             {
    5302            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5303            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    5304            0 :                               if (res) return res;
    5305              :                             }
    5306              :                           }
    5307              :                         break;
    5308              :                       }
    5309              :                     default:;
    5310              :                     }
    5311              :                 }
    5312              :             }
    5313              :           break;
    5314            0 :         case CFN_BUILT_IN_COPYSIGNF32:
    5315            0 :           if (call_expr_nargs (_p1) == 2)
    5316              :     {
    5317            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5318            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5319            0 :               if (real_onep (_q30))
    5320              :                 {
    5321            0 :                   switch (TREE_CODE (_q31))
    5322              :                     {
    5323            0 :                     case NEGATE_EXPR:
    5324            0 :                       {
    5325            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5326            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5327              :                           {
    5328            0 :                             {
    5329            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5330            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    5331            0 :                               if (res) return res;
    5332              :                             }
    5333              :                           }
    5334              :                         break;
    5335              :                       }
    5336              :                     default:;
    5337              :                     }
    5338              :                 }
    5339              :             }
    5340              :           break;
    5341            0 :         case CFN_BUILT_IN_COPYSIGNF64:
    5342            0 :           if (call_expr_nargs (_p1) == 2)
    5343              :     {
    5344            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5345            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5346            0 :               if (real_onep (_q30))
    5347              :                 {
    5348            0 :                   switch (TREE_CODE (_q31))
    5349              :                     {
    5350            0 :                     case NEGATE_EXPR:
    5351            0 :                       {
    5352            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5353            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5354              :                           {
    5355            0 :                             {
    5356            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5357            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    5358            0 :                               if (res) return res;
    5359              :                             }
    5360              :                           }
    5361              :                         break;
    5362              :                       }
    5363              :                     default:;
    5364              :                     }
    5365              :                 }
    5366              :             }
    5367              :           break;
    5368            0 :         case CFN_BUILT_IN_COPYSIGNF128X:
    5369            0 :           if (call_expr_nargs (_p1) == 2)
    5370              :     {
    5371            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5372            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5373            0 :               if (real_onep (_q30))
    5374              :                 {
    5375            0 :                   switch (TREE_CODE (_q31))
    5376              :                     {
    5377            0 :                     case NEGATE_EXPR:
    5378            0 :                       {
    5379            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5380            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5381              :                           {
    5382            0 :                             {
    5383            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5384            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    5385            0 :                               if (res) return res;
    5386              :                             }
    5387              :                           }
    5388              :                         break;
    5389              :                       }
    5390              :                     default:;
    5391              :                     }
    5392              :                 }
    5393              :             }
    5394              :           break;
    5395            0 :         case CFN_BUILT_IN_COPYSIGNF128:
    5396            0 :           if (call_expr_nargs (_p1) == 2)
    5397              :     {
    5398            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5399            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5400            0 :               if (real_onep (_q30))
    5401              :                 {
    5402            0 :                   switch (TREE_CODE (_q31))
    5403              :                     {
    5404            0 :                     case NEGATE_EXPR:
    5405            0 :                       {
    5406            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5407            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5408              :                           {
    5409            0 :                             {
    5410            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5411            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    5412            0 :                               if (res) return res;
    5413              :                             }
    5414              :                           }
    5415              :                         break;
    5416              :                       }
    5417              :                     default:;
    5418              :                     }
    5419              :                 }
    5420              :             }
    5421              :           break;
    5422            0 :         case CFN_BUILT_IN_COPYSIGNF32X:
    5423            0 :           if (call_expr_nargs (_p1) == 2)
    5424              :     {
    5425            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5426            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5427            0 :               if (real_onep (_q30))
    5428              :                 {
    5429            0 :                   switch (TREE_CODE (_q31))
    5430              :                     {
    5431            0 :                     case NEGATE_EXPR:
    5432            0 :                       {
    5433            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5434            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5435              :                           {
    5436            0 :                             {
    5437            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5438            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    5439            0 :                               if (res) return res;
    5440              :                             }
    5441              :                           }
    5442              :                         break;
    5443              :                       }
    5444              :                     default:;
    5445              :                     }
    5446              :                 }
    5447              :             }
    5448              :           break;
    5449            0 :         case CFN_BUILT_IN_COPYSIGNF64X:
    5450            0 :           if (call_expr_nargs (_p1) == 2)
    5451              :     {
    5452            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5453            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5454            0 :               if (real_onep (_q30))
    5455              :                 {
    5456            0 :                   switch (TREE_CODE (_q31))
    5457              :                     {
    5458            0 :                     case NEGATE_EXPR:
    5459            0 :                       {
    5460            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5461            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5462              :                           {
    5463            0 :                             {
    5464            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5465            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    5466            0 :                               if (res) return res;
    5467              :                             }
    5468              :                           }
    5469              :                         break;
    5470              :                       }
    5471              :                     default:;
    5472              :                     }
    5473              :                 }
    5474              :             }
    5475              :           break;
    5476           18 :         case CFN_BUILT_IN_COPYSIGN:
    5477           18 :           if (call_expr_nargs (_p1) == 2)
    5478              :     {
    5479           18 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5480           18 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5481           18 :               if (real_onep (_q30))
    5482              :                 {
    5483           14 :                   switch (TREE_CODE (_q31))
    5484              :                     {
    5485            0 :                     case NEGATE_EXPR:
    5486            0 :                       {
    5487            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5488            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5489              :                           {
    5490            0 :                             {
    5491            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5492            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    5493            0 :                               if (res) return res;
    5494              :                             }
    5495              :                           }
    5496              :                         break;
    5497              :                       }
    5498              :                     default:;
    5499              :                     }
    5500              :                 }
    5501              :             }
    5502              :           break;
    5503           14 :         case CFN_BUILT_IN_COPYSIGNF:
    5504           14 :           if (call_expr_nargs (_p1) == 2)
    5505              :     {
    5506           14 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5507           14 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5508           14 :               if (real_onep (_q30))
    5509              :                 {
    5510           12 :                   switch (TREE_CODE (_q31))
    5511              :                     {
    5512            0 :                     case NEGATE_EXPR:
    5513            0 :                       {
    5514            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5515            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5516              :                           {
    5517            0 :                             {
    5518            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5519            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    5520            0 :                               if (res) return res;
    5521              :                             }
    5522              :                           }
    5523              :                         break;
    5524              :                       }
    5525              :                     default:;
    5526              :                     }
    5527              :                 }
    5528              :             }
    5529              :           break;
    5530            0 :         case CFN_BUILT_IN_COPYSIGNL:
    5531            0 :           if (call_expr_nargs (_p1) == 2)
    5532              :     {
    5533            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5534            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5535            0 :               if (real_onep (_q30))
    5536              :                 {
    5537            0 :                   switch (TREE_CODE (_q31))
    5538              :                     {
    5539            0 :                     case NEGATE_EXPR:
    5540            0 :                       {
    5541            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5542            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5543              :                           {
    5544            0 :                             {
    5545            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5546            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    5547            0 :                               if (res) return res;
    5548              :                             }
    5549              :                           }
    5550              :                         break;
    5551              :                       }
    5552              :                     default:;
    5553              :                     }
    5554              :                 }
    5555              :             }
    5556              :           break;
    5557            0 :         case CFN_COPYSIGN:
    5558            0 :           if (call_expr_nargs (_p1) == 2)
    5559              :     {
    5560            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5561            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5562            0 :               if (real_onep (_q30))
    5563              :                 {
    5564            0 :                   switch (TREE_CODE (_q31))
    5565              :                     {
    5566            0 :                     case NEGATE_EXPR:
    5567            0 :                       {
    5568            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5569            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5570              :                           {
    5571            0 :                             {
    5572            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5573            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    5574            0 :                               if (res) return res;
    5575              :                             }
    5576              :                           }
    5577              :                         break;
    5578              :                       }
    5579              :                     default:;
    5580              :                     }
    5581              :                 }
    5582              :             }
    5583              :           break;
    5584              :         default:;
    5585              :         }
    5586              :       break;
    5587     70033347 :     default:;
    5588              :     }
    5589     70033347 : if (integer_onep (_p1))
    5590              :   {
    5591      3285180 :     {
    5592      3285180 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5593      3285180 :       tree res = generic_simplify_180 (loc, type, _p0, _p1, captures, MULT_EXPR);
    5594      3285180 :       if (res) return res;
    5595              :     }
    5596              :   }
    5597     66748167 :   switch (TREE_CODE (_p0))
    5598              :     {
    5599      5604973 :     case MULT_EXPR:
    5600      5604973 :       {
    5601      5604973 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5602      5604973 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5603      5604973 :         switch (TREE_CODE (_q21))
    5604              :           {
    5605      1107805 :           case INTEGER_CST:
    5606      1107805 :             {
    5607      1107805 :               switch (TREE_CODE (_p1))
    5608              :                 {
    5609       979840 :                 case INTEGER_CST:
    5610       979840 :                   {
    5611       979840 :                     {
    5612       979840 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5613       979840 :                       {
    5614       979840 :  wi::overflow_type overflow;
    5615       979840 :  wide_int mul = wi::mul (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    5616      1959680 :  TYPE_SIGN (type), &overflow);
    5617       979840 :                           if (!overflow || TYPE_OVERFLOW_WRAPS (type)
    5618              : )
    5619              :                             {
    5620       979810 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1408;
    5621       979810 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1408;
    5622       979810 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1408;
    5623       979810 :                               {
    5624       979810 :                                 tree res_op0;
    5625       979810 :                                 res_op0 = captures[0];
    5626       979810 :                                 tree res_op1;
    5627       979810 :                                 res_op1 =  wide_int_to_tree (type, mul);
    5628       979810 :                                 tree _r;
    5629       979810 :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5630       979810 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 963, __FILE__, __LINE__, true);
    5631       979810 :                                 return _r;
    5632              :                               }
    5633           30 : next_after_fail1408:;
    5634              :                             }
    5635       979810 :                       }
    5636              :                     }
    5637           30 :                     break;
    5638              :                   }
    5639              :                 default:;
    5640              :                 }
    5641              :               break;
    5642              :             }
    5643              :           default:;
    5644              :           }
    5645              :         break;
    5646              :       }
    5647      7188590 :     case PLUS_EXPR:
    5648      7188590 :       {
    5649      7188590 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5650      7188590 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5651      7188590 :         switch (TREE_CODE (_q20))
    5652              :           {
    5653      1130278 :           case MULT_EXPR:
    5654      1130278 :             {
    5655      1130278 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5656      1130278 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5657      1130278 :               switch (TREE_CODE (_q31))
    5658              :                 {
    5659       308498 :                 case INTEGER_CST:
    5660       308498 :                   {
    5661       308498 :                     switch (TREE_CODE (_q21))
    5662              :                       {
    5663        37158 :                       case INTEGER_CST:
    5664        37158 :                         {
    5665        37158 :                           switch (TREE_CODE (_p1))
    5666              :                             {
    5667        13505 :                             case INTEGER_CST:
    5668        13505 :                               {
    5669        13505 :                                 {
    5670        13505 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    5671        13505 :                                   {
    5672        13505 :  bool overflowed = true;
    5673        13505 :  wi::overflow_type ovf1, ovf2;
    5674        13505 :  wide_int mul = wi::mul (wi::to_wide (captures[3]), wi::to_wide (captures[5]),
    5675        27010 :  TYPE_SIGN (type), &ovf1);
    5676        13505 :  wide_int add = wi::mul (wi::to_wide (captures[4]), wi::to_wide (captures[5]),
    5677        27010 :  TYPE_SIGN (type), &ovf2);
    5678        13505 :  if (TYPE_OVERFLOW_UNDEFINED (type))
    5679              :  {
    5680              :  }
    5681              :  else
    5682         5586 :  overflowed = false;
    5683         5586 :                                       if (!overflowed
    5684              : )
    5685              :                                         {
    5686         5586 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1409;
    5687         5586 :                                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1409;
    5688         5586 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1409;
    5689         5586 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1409;
    5690         5586 :                                           {
    5691         5586 :                                             tree res_op0;
    5692         5586 :                                             {
    5693         5586 :                                               tree _o1[2], _r1;
    5694         5586 :                                               _o1[0] = captures[2];
    5695         5586 :                                               _o1[1] =  wide_int_to_tree (type, mul);
    5696         5586 :                                               _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5697         5586 :                                               res_op0 = _r1;
    5698              :                                             }
    5699         5586 :                                             tree res_op1;
    5700         5586 :                                             res_op1 =  wide_int_to_tree (type, add);
    5701         5586 :                                             tree _r;
    5702         5586 :                                             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    5703         5586 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 964, __FILE__, __LINE__, true);
    5704         5586 :                                             return _r;
    5705              :                                           }
    5706         7919 : next_after_fail1409:;
    5707              :                                         }
    5708        13505 :                                   }
    5709              :                                 }
    5710         7919 :                                 break;
    5711              :                               }
    5712              :                             default:;
    5713              :                             }
    5714              :                           break;
    5715              :                         }
    5716              :                       default:;
    5717              :                       }
    5718              :                     break;
    5719              :                   }
    5720              :                 default:;
    5721              :                 }
    5722              :               break;
    5723              :             }
    5724              :           default:;
    5725              :           }
    5726              :         break;
    5727              :       }
    5728        84215 :     case TRUNC_DIV_EXPR:
    5729        84215 :       {
    5730        84215 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5731        84215 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5732        84215 :         if (integer_pow2p (_q21))
    5733              :           {
    5734        63282 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5735              :               {
    5736        41471 :                 {
    5737        41471 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5738        41471 :                   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    5739              : )
    5740              :                     {
    5741        41407 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1410;
    5742        41407 :                       {
    5743        41407 :                         tree res_op0;
    5744        41407 :                         res_op0 = captures[0];
    5745        41407 :                         tree res_op1;
    5746        41407 :                         {
    5747        41407 :                           tree _o1[1], _r1;
    5748        41407 :                           _o1[0] = captures[1];
    5749        41407 :                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    5750        41407 :                           res_op1 = _r1;
    5751              :                         }
    5752        41407 :                         tree _r;
    5753        41407 :                         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    5754        41407 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 965, __FILE__, __LINE__, true);
    5755        41407 :                         return _r;
    5756              :                       }
    5757            0 : next_after_fail1410:;
    5758              :                     }
    5759              :                 }
    5760              :               }
    5761              :           }
    5762              :         break;
    5763              :       }
    5764          260 :     case ABS_EXPR:
    5765          260 :       {
    5766          260 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5767          260 :         if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5768              :           {
    5769            2 :             {
    5770            2 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    5771            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1411;
    5772            2 :               {
    5773            2 :                 if (! tree_invariant_p (captures[1])) goto next_after_fail1411;
    5774            0 :                 tree res_op0;
    5775            0 :                 res_op0 = unshare_expr (captures[1]);
    5776            0 :                 tree res_op1;
    5777            0 :                 res_op1 = captures[1];
    5778            0 :                 tree _r;
    5779            0 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5780            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 966, __FILE__, __LINE__, true);
    5781            0 :                 return _r;
    5782              :               }
    5783            2 : next_after_fail1411:;
    5784              :             }
    5785              :           }
    5786              :         break;
    5787              :       }
    5788            0 :     case ABSU_EXPR:
    5789            0 :       {
    5790            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5791            0 :         if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5792              :           {
    5793            0 :             {
    5794            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20 };
    5795            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1412;
    5796            0 :               {
    5797            0 :                 tree res_op0;
    5798            0 :                 {
    5799            0 :                   tree _o1[1], _r1;
    5800            0 :                   _o1[0] = captures[1];
    5801            0 :                   if (TREE_TYPE (_o1[0]) != type)
    5802              :                     {
    5803            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    5804              :                     }
    5805              :                   else
    5806              :                     _r1 = _o1[0];
    5807            0 :                   captures[2] = _r1;
    5808              :                 }
    5809            0 :                 res_op0 = unshare_expr (captures[2]);
    5810            0 :                 tree res_op1;
    5811            0 :                 res_op1 = captures[2];
    5812            0 :                 tree _r;
    5813            0 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5814            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 967, __FILE__, __LINE__, true);
    5815            0 :                 return _r;
    5816              :               }
    5817            0 : next_after_fail1412:;
    5818              :             }
    5819              :           }
    5820              :         break;
    5821              :       }
    5822      2414243 :     case CALL_EXPR:
    5823      2414243 :       switch (get_call_combined_fn (_p0))
    5824              :         {
    5825            1 :         case CFN_BUILT_IN_COPYSIGNF16:
    5826            1 :           if (call_expr_nargs (_p0) == 2)
    5827              :     {
    5828            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5829            1 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5830            1 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5831              :                 {
    5832            0 :                   {
    5833            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5834            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    5835            0 :                     if (res) return res;
    5836              :                   }
    5837              :                 }
    5838              :             }
    5839              :           break;
    5840            0 :         case CFN_BUILT_IN_COPYSIGNF32:
    5841            0 :           if (call_expr_nargs (_p0) == 2)
    5842              :     {
    5843            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5844            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5845            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5846              :                 {
    5847            0 :                   {
    5848            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5849            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    5850            0 :                     if (res) return res;
    5851              :                   }
    5852              :                 }
    5853              :             }
    5854              :           break;
    5855            0 :         case CFN_BUILT_IN_COPYSIGNF64:
    5856            0 :           if (call_expr_nargs (_p0) == 2)
    5857              :     {
    5858            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5859            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5860            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5861              :                 {
    5862            0 :                   {
    5863            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5864            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    5865            0 :                     if (res) return res;
    5866              :                   }
    5867              :                 }
    5868              :             }
    5869              :           break;
    5870            0 :         case CFN_BUILT_IN_COPYSIGNF128X:
    5871            0 :           if (call_expr_nargs (_p0) == 2)
    5872              :     {
    5873            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5874            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5875            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5876              :                 {
    5877            0 :                   {
    5878            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5879            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    5880            0 :                     if (res) return res;
    5881              :                   }
    5882              :                 }
    5883              :             }
    5884              :           break;
    5885            8 :         case CFN_BUILT_IN_COPYSIGNF128:
    5886            8 :           if (call_expr_nargs (_p0) == 2)
    5887              :     {
    5888            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5889            8 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5890            8 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5891              :                 {
    5892            0 :                   {
    5893            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5894            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    5895            0 :                     if (res) return res;
    5896              :                   }
    5897              :                 }
    5898              :             }
    5899              :           break;
    5900            0 :         case CFN_BUILT_IN_COPYSIGNF32X:
    5901            0 :           if (call_expr_nargs (_p0) == 2)
    5902              :     {
    5903            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5904            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5905            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5906              :                 {
    5907            0 :                   {
    5908            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5909            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    5910            0 :                     if (res) return res;
    5911              :                   }
    5912              :                 }
    5913              :             }
    5914              :           break;
    5915            0 :         case CFN_BUILT_IN_COPYSIGNF64X:
    5916            0 :           if (call_expr_nargs (_p0) == 2)
    5917              :     {
    5918            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5919            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5920            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5921              :                 {
    5922            0 :                   {
    5923            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5924            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    5925            0 :                     if (res) return res;
    5926              :                   }
    5927              :                 }
    5928              :             }
    5929              :           break;
    5930           18 :         case CFN_BUILT_IN_COPYSIGN:
    5931           18 :           if (call_expr_nargs (_p0) == 2)
    5932              :     {
    5933           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5934           18 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5935           18 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5936              :                 {
    5937            0 :                   {
    5938            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5939            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    5940            0 :                     if (res) return res;
    5941              :                   }
    5942              :                 }
    5943              :             }
    5944              :           break;
    5945           36 :         case CFN_BUILT_IN_COPYSIGNF:
    5946           36 :           if (call_expr_nargs (_p0) == 2)
    5947              :     {
    5948           36 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5949           36 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5950           36 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5951              :                 {
    5952            0 :                   {
    5953            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5954            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    5955            0 :                     if (res) return res;
    5956              :                   }
    5957              :                 }
    5958              :             }
    5959              :           break;
    5960            8 :         case CFN_BUILT_IN_COPYSIGNL:
    5961            8 :           if (call_expr_nargs (_p0) == 2)
    5962              :     {
    5963            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5964            8 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5965            8 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5966              :                 {
    5967            0 :                   {
    5968            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5969            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    5970            0 :                     if (res) return res;
    5971              :                   }
    5972              :                 }
    5973              :             }
    5974              :           break;
    5975            0 :         case CFN_COPYSIGN:
    5976            0 :           if (call_expr_nargs (_p0) == 2)
    5977              :     {
    5978            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5979            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5980            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5981              :                 {
    5982            0 :                   {
    5983            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5984            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    5985            0 :                     if (res) return res;
    5986              :                   }
    5987              :                 }
    5988              :             }
    5989              :           break;
    5990              :         default:;
    5991              :         }
    5992              :       break;
    5993     65721364 :     default:;
    5994              :     }
    5995     65721364 :   switch (TREE_CODE (_p1))
    5996              :     {
    5997      6991466 :     CASE_CONVERT:
    5998      6991466 :       {
    5999      6991466 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6000      6991466 :         switch (TREE_CODE (_q30))
    6001              :           {
    6002            0 :           case LSHIFT_EXPR:
    6003            0 :             {
    6004            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6005            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6006            0 :               if (integer_onep (_q40))
    6007              :                 {
    6008            0 :                   {
    6009            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    6010            0 :                     tree res = generic_simplify_182 (loc, type, _p0, _p1, captures);
    6011            0 :                     if (res) return res;
    6012              :                   }
    6013              :                 }
    6014              :               break;
    6015              :             }
    6016              :           default:;
    6017              :           }
    6018              :         break;
    6019              :       }
    6020     65721364 :     default:;
    6021              :     }
    6022     65721364 :   switch (TREE_CODE (_p0))
    6023              :     {
    6024     31664565 :     CASE_CONVERT:
    6025     31664565 :       {
    6026     31664565 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6027     31664565 :         switch (TREE_CODE (_q20))
    6028              :           {
    6029           20 :           case LSHIFT_EXPR:
    6030           20 :             {
    6031           20 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6032           20 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6033           20 :               if (integer_onep (_q30))
    6034              :                 {
    6035            1 :                   {
    6036            1 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _q31 };
    6037            1 :                     tree res = generic_simplify_182 (loc, type, _p0, _p1, captures);
    6038            1 :                     if (res) return res;
    6039              :                   }
    6040              :                 }
    6041              :               break;
    6042              :             }
    6043            1 :           case EQ_EXPR:
    6044            1 :             {
    6045            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6046            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6047            1 :               if (integer_zerop (_q31))
    6048              :                 {
    6049            1 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6050              :                     {
    6051            0 :                       {
    6052            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    6053            0 :                         tree res = generic_simplify_183 (loc, type, _p0, _p1, captures);
    6054            0 :                         if (res) return res;
    6055              :                       }
    6056              :                     }
    6057              :                 }
    6058              :               break;
    6059              :             }
    6060              :           default:;
    6061              :           }
    6062              :         break;
    6063              :       }
    6064     65721364 :     default:;
    6065              :     }
    6066     65721364 :   switch (TREE_CODE (_p1))
    6067              :     {
    6068          844 :     case LSHIFT_EXPR:
    6069          844 :       {
    6070          844 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6071          844 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6072          844 :         if (integer_onep (_q30))
    6073              :           {
    6074          165 :             {
    6075          165 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    6076          165 :               tree res = generic_simplify_182 (loc, type, _p0, _p1, captures);
    6077          165 :               if (res) return res;
    6078              :             }
    6079              :           }
    6080              :         break;
    6081              :       }
    6082     65721199 :     default:;
    6083              :     }
    6084     65721199 :   switch (TREE_CODE (_p0))
    6085              :     {
    6086         3699 :     case LSHIFT_EXPR:
    6087         3699 :       {
    6088         3699 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6089         3699 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6090         3699 :         if (integer_onep (_q20))
    6091              :           {
    6092         3477 :             {
    6093         3477 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
    6094         3477 :               tree res = generic_simplify_182 (loc, type, _p0, _p1, captures);
    6095         3477 :               if (res) return res;
    6096              :             }
    6097              :           }
    6098              :         break;
    6099              :       }
    6100     65717722 :     default:;
    6101              :     }
    6102     65717722 :   switch (TREE_CODE (_p1))
    6103              :     {
    6104      6991075 :     CASE_CONVERT:
    6105      6991075 :       {
    6106      6991075 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6107      6991075 :         switch (TREE_CODE (_q30))
    6108              :           {
    6109            0 :           case EQ_EXPR:
    6110            0 :             {
    6111            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6112            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6113            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6114              :                 {
    6115            0 :                   if (integer_zerop (_q41))
    6116              :                     {
    6117            0 :                       {
    6118            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6119            0 :                         tree res = generic_simplify_184 (loc, type, _p0, _p1, captures);
    6120            0 :                         if (res) return res;
    6121              :                       }
    6122              :                     }
    6123              :                 }
    6124              :               break;
    6125              :             }
    6126              :           default:;
    6127              :           }
    6128              :         break;
    6129              :       }
    6130            0 :     case EQ_EXPR:
    6131            0 :       {
    6132            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6133            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6134            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6135              :           {
    6136            0 :             if (integer_zerop (_q31))
    6137              :               {
    6138            0 :                 {
    6139            0 :                   tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6140            0 :                   tree res = generic_simplify_184 (loc, type, _p0, _p1, captures);
    6141            0 :                   if (res) return res;
    6142              :                 }
    6143              :               }
    6144              :           }
    6145              :         break;
    6146              :       }
    6147     65717722 :     default:;
    6148              :     }
    6149     65717722 :   switch (TREE_CODE (_p0))
    6150              :     {
    6151          183 :     case EQ_EXPR:
    6152          183 :       {
    6153          183 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6154          183 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6155          183 :         if (integer_zerop (_q21))
    6156              :           {
    6157           59 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6158              :               {
    6159            3 :                 {
    6160            3 :                   tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6161            3 :                   tree res = generic_simplify_183 (loc, type, _p0, _p1, captures);
    6162            3 :                   if (res) return res;
    6163              :                 }
    6164              :               }
    6165              :           }
    6166              :         break;
    6167              :       }
    6168     65717719 :     default:;
    6169              :     }
    6170     65717719 :   switch (TREE_CODE (_p1))
    6171              :     {
    6172            0 :     case VEC_COND_EXPR:
    6173            0 :       {
    6174            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6175            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6176            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    6177            0 :         switch (TREE_CODE (_q30))
    6178              :           {
    6179            0 :           case EQ_EXPR:
    6180            0 :             {
    6181            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6182            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6183            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6184              :                 {
    6185            0 :                   if (integer_zerop (_q41))
    6186              :                     {
    6187            0 :                       if (integer_zerop (_q32))
    6188              :                         {
    6189            0 :                           {
    6190            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    6191            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1413;
    6192            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1413;
    6193            0 :                             {
    6194            0 :                               tree _r;
    6195            0 :                               _r =  build_zero_cst (type);
    6196            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 968, __FILE__, __LINE__, true);
    6197            0 :                               return _r;
    6198              :                             }
    6199            0 : next_after_fail1413:;
    6200              :                           }
    6201              :                         }
    6202              :                     }
    6203              :                 }
    6204              :               break;
    6205              :             }
    6206              :           default:;
    6207              :           }
    6208              :         break;
    6209              :       }
    6210     65717719 :     default:;
    6211              :     }
    6212     65717719 :   switch (TREE_CODE (_p0))
    6213              :     {
    6214           37 :     case VEC_COND_EXPR:
    6215           37 :       {
    6216           37 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6217           37 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6218           37 :         tree _q22 = TREE_OPERAND (_p0, 2);
    6219           37 :         switch (TREE_CODE (_q20))
    6220              :           {
    6221            1 :           case EQ_EXPR:
    6222            1 :             {
    6223            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6224            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6225            1 :               if (integer_zerop (_q31))
    6226              :                 {
    6227            1 :                   if (integer_zerop (_q22))
    6228              :                     {
    6229            1 :                       if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6230              :                         {
    6231            1 :                           {
    6232            1 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    6233            1 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1414;
    6234            1 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1414;
    6235            1 :                             {
    6236            1 :                               tree _r;
    6237            1 :                               _r =  build_zero_cst (type);
    6238            1 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 968, __FILE__, __LINE__, true);
    6239            1 :                               return _r;
    6240              :                             }
    6241            0 : next_after_fail1414:;
    6242              :                           }
    6243              :                         }
    6244              :                     }
    6245              :                 }
    6246              :               break;
    6247              :             }
    6248            0 :           case NE_EXPR:
    6249            0 :             {
    6250            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6251            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6252            0 :               if (integer_zerop (_q31))
    6253              :                 {
    6254            0 :                   if (integer_zerop (_q21))
    6255              :                     {
    6256            0 :                       if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6257              :                         {
    6258            0 :                           {
    6259            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
    6260            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1415;
    6261            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1415;
    6262            0 :                             {
    6263            0 :                               tree _r;
    6264            0 :                               _r =  build_zero_cst (type);
    6265            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 969, __FILE__, __LINE__, true);
    6266            0 :                               return _r;
    6267              :                             }
    6268            0 : next_after_fail1415:;
    6269              :                           }
    6270              :                         }
    6271              :                     }
    6272              :                 }
    6273              :               break;
    6274              :             }
    6275              :           default:;
    6276              :           }
    6277              :         break;
    6278              :       }
    6279     65717718 :     default:;
    6280              :     }
    6281     65717718 :   switch (TREE_CODE (_p1))
    6282              :     {
    6283            0 :     case VEC_COND_EXPR:
    6284            0 :       {
    6285            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6286            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6287            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    6288            0 :         switch (TREE_CODE (_q30))
    6289              :           {
    6290            0 :           case NE_EXPR:
    6291            0 :             {
    6292            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6293            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6294            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6295              :                 {
    6296            0 :                   if (integer_zerop (_q41))
    6297              :                     {
    6298            0 :                       if (integer_zerop (_q31))
    6299              :                         {
    6300            0 :                           {
    6301            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
    6302            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1416;
    6303            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1416;
    6304            0 :                             {
    6305            0 :                               tree _r;
    6306            0 :                               _r =  build_zero_cst (type);
    6307            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 969, __FILE__, __LINE__, true);
    6308            0 :                               return _r;
    6309              :                             }
    6310            0 : next_after_fail1416:;
    6311              :                           }
    6312              :                         }
    6313              :                     }
    6314              :                 }
    6315              :               break;
    6316              :             }
    6317              :           default:;
    6318              :           }
    6319              :         break;
    6320              :       }
    6321     65717718 :     default:;
    6322              :     }
    6323     65717718 :   switch (TREE_CODE (_p0))
    6324              :     {
    6325       736925 :     case RDIV_EXPR:
    6326       736925 :       {
    6327       736925 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6328       736925 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6329       736925 :         switch (TREE_CODE (_q20))
    6330              :           {
    6331        56215 :           case REAL_CST:
    6332        56215 :             {
    6333        56215 :               switch (TREE_CODE (_p1))
    6334              :                 {
    6335            1 :                 case REAL_CST:
    6336            1 :                   {
    6337            1 :                     {
    6338            1 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    6339            1 :                       if (flag_associative_math
    6340            1 :  && single_use (captures[0])
    6341              : )
    6342              :                         {
    6343            1 :                           {
    6344            1 :  tree tem = const_binop (MULT_EXPR, type, captures[1], captures[3]);
    6345            1 :                               if (tem
    6346              : )
    6347              :                                 {
    6348            1 :                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1417;
    6349            1 :                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1417;
    6350            1 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1417;
    6351            1 :                                   {
    6352            1 :                                     tree res_op0;
    6353            1 :                                     res_op0 =  tem;
    6354            1 :                                     tree res_op1;
    6355            1 :                                     res_op1 = captures[2];
    6356            1 :                                     tree _r;
    6357            1 :                                     _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    6358            1 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 970, __FILE__, __LINE__, true);
    6359            1 :                                     return _r;
    6360              :                                   }
    6361            0 : next_after_fail1417:;
    6362              :                                 }
    6363              :                           }
    6364              :                         }
    6365              :                     }
    6366            0 :                     break;
    6367              :                   }
    6368              :                 default:;
    6369              :                 }
    6370              :               break;
    6371              :             }
    6372              :           default:;
    6373              :           }
    6374              :         break;
    6375              :       }
    6376     65717717 :     default:;
    6377              :     }
    6378     65717717 : {
    6379     65717717 :   tree _p0_pops[1];
    6380     65717717 :   if (tree_nop_convert (_p0, _p0_pops))
    6381              :     {
    6382     22902759 :       tree _q20 = _p0_pops[0];
    6383     22902759 :       switch (TREE_CODE (_q20))
    6384              :         {
    6385            4 :         case BIT_IOR_EXPR:
    6386            4 :           {
    6387            4 :             tree _q30 = TREE_OPERAND (_q20, 0);
    6388            4 :             tree _q31 = TREE_OPERAND (_q20, 1);
    6389            4 :             switch (TREE_CODE (_q30))
    6390              :               {
    6391            4 :               case NEGATE_EXPR:
    6392            4 :                 {
    6393            4 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    6394            4 :                   switch (TREE_CODE (_q40))
    6395              :                     {
    6396            0 :                     CASE_CONVERT:
    6397            0 :                       {
    6398            0 :                         tree _q50 = TREE_OPERAND (_q40, 0);
    6399            0 :                         switch (TREE_CODE (_q50))
    6400              :                           {
    6401            0 :                           case LT_EXPR:
    6402            0 :                             {
    6403            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
    6404            0 :                               tree _q61 = TREE_OPERAND (_q50, 1);
    6405            0 :                               if (integer_zerop (_q61))
    6406              :                                 {
    6407            0 :                                   if (integer_onep (_q31))
    6408              :                                     {
    6409            0 :                                       {
    6410            0 :                                         tree _p1_pops[1];
    6411            0 :                                         if (tree_nop_convert (_p1, _p1_pops))
    6412              :                                           {
    6413            0 :                                             tree _q100 = _p1_pops[0];
    6414            0 :                                             if ((_q100 == _q60 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q60, 0) && types_match (_q100, _q60)))
    6415              :                                               {
    6416            0 :                                                 {
    6417            0 :                                                   tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    6418            0 :                                                   tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    6419            0 :                                                   if (res) return res;
    6420              :                                                 }
    6421              :                                               }
    6422              :                                           }
    6423              :                                       }
    6424            0 :                                       if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
    6425              :                                         {
    6426            0 :                                           {
    6427            0 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    6428            0 :                                             tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    6429            0 :                                             if (res) return res;
    6430              :                                           }
    6431              :                                         }
    6432              :                                     }
    6433              :                                 }
    6434              :                               break;
    6435              :                             }
    6436              :                           default:;
    6437              :                           }
    6438              :                         break;
    6439              :                       }
    6440            4 :                     case LT_EXPR:
    6441            4 :                       {
    6442            4 :                         tree _q50 = TREE_OPERAND (_q40, 0);
    6443            4 :                         tree _q51 = TREE_OPERAND (_q40, 1);
    6444            4 :                         if (integer_zerop (_q51))
    6445              :                           {
    6446            4 :                             if (integer_onep (_q31))
    6447              :                               {
    6448            4 :                                 {
    6449            4 :                                   tree _p1_pops[1];
    6450            4 :                                   if (tree_nop_convert (_p1, _p1_pops))
    6451              :                                     {
    6452            4 :                                       tree _q90 = _p1_pops[0];
    6453            4 :                                       if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
    6454              :                                         {
    6455            4 :                                           {
    6456            4 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    6457            4 :                                             tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    6458            4 :                                             if (res) return res;
    6459              :                                           }
    6460              :                                         }
    6461              :                                     }
    6462              :                                 }
    6463            0 :                                 if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    6464              :                                   {
    6465            0 :                                     {
    6466            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    6467            0 :                                       tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    6468            0 :                                       if (res) return res;
    6469              :                                     }
    6470              :                                   }
    6471              :                               }
    6472              :                           }
    6473              :                         break;
    6474              :                       }
    6475              :                     default:;
    6476              :                     }
    6477              :                   break;
    6478              :                 }
    6479            0 :               default:;
    6480              :               }
    6481            0 :           {
    6482            0 :             tree _q30_pops[1];
    6483            0 :             if (tree_nop_convert (_q30, _q30_pops))
    6484              :               {
    6485            0 :                 tree _q40 = _q30_pops[0];
    6486            0 :                 switch (TREE_CODE (_q40))
    6487              :                   {
    6488            0 :                   case NEGATE_EXPR:
    6489            0 :                     {
    6490            0 :                       tree _q50 = TREE_OPERAND (_q40, 0);
    6491            0 :                       switch (TREE_CODE (_q50))
    6492              :                         {
    6493            0 :                         CASE_CONVERT:
    6494            0 :                           {
    6495            0 :                             tree _q60 = TREE_OPERAND (_q50, 0);
    6496            0 :                             switch (TREE_CODE (_q60))
    6497              :                               {
    6498            0 :                               case LT_EXPR:
    6499            0 :                                 {
    6500            0 :                                   tree _q70 = TREE_OPERAND (_q60, 0);
    6501            0 :                                   tree _q71 = TREE_OPERAND (_q60, 1);
    6502            0 :                                   if (integer_zerop (_q71))
    6503              :                                     {
    6504            0 :                                       if (integer_onep (_q31))
    6505              :                                         {
    6506            0 :                                           {
    6507            0 :                                             tree _p1_pops[1];
    6508            0 :                                             if (tree_nop_convert (_p1, _p1_pops))
    6509              :                                               {
    6510            0 :                                                 tree _q110 = _p1_pops[0];
    6511            0 :                                                 if ((_q110 == _q70 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q70, 0) && types_match (_q110, _q70)))
    6512              :                                                   {
    6513            0 :                                                     {
    6514            0 :                                                       tree captures[1] ATTRIBUTE_UNUSED = { _q70 };
    6515            0 :                                                       tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    6516            0 :                                                       if (res) return res;
    6517              :                                                     }
    6518              :                                                   }
    6519              :                                               }
    6520              :                                           }
    6521            0 :                                           if ((_p1 == _q70 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q70, 0) && types_match (_p1, _q70)))
    6522              :                                             {
    6523            0 :                                               {
    6524            0 :                                                 tree captures[1] ATTRIBUTE_UNUSED = { _q70 };
    6525            0 :                                                 tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    6526            0 :                                                 if (res) return res;
    6527              :                                               }
    6528              :                                             }
    6529              :                                         }
    6530              :                                     }
    6531              :                                   break;
    6532              :                                 }
    6533              :                               default:;
    6534              :                               }
    6535              :                             break;
    6536              :                           }
    6537            0 :                         case LT_EXPR:
    6538            0 :                           {
    6539            0 :                             tree _q60 = TREE_OPERAND (_q50, 0);
    6540            0 :                             tree _q61 = TREE_OPERAND (_q50, 1);
    6541            0 :                             if (integer_zerop (_q61))
    6542              :                               {
    6543            0 :                                 if (integer_onep (_q31))
    6544              :                                   {
    6545            0 :                                     {
    6546            0 :                                       tree _p1_pops[1];
    6547            0 :                                       if (tree_nop_convert (_p1, _p1_pops))
    6548              :                                         {
    6549            0 :                                           tree _q100 = _p1_pops[0];
    6550            0 :                                           if ((_q100 == _q60 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q60, 0) && types_match (_q100, _q60)))
    6551              :                                             {
    6552            0 :                                               {
    6553            0 :                                                 tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    6554            0 :                                                 tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    6555            0 :                                                 if (res) return res;
    6556              :                                               }
    6557              :                                             }
    6558              :                                         }
    6559              :                                     }
    6560            0 :                                     if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
    6561              :                                       {
    6562            0 :                                         {
    6563            0 :                                           tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    6564            0 :                                           tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    6565            0 :                                           if (res) return res;
    6566              :                                         }
    6567              :                                       }
    6568              :                                   }
    6569              :                               }
    6570              :                             break;
    6571              :                           }
    6572              :                         default:;
    6573              :                         }
    6574              :                       break;
    6575              :                     }
    6576              :                   default:;
    6577              :                   }
    6578              :               }
    6579              :           }
    6580            0 :             break;
    6581              :           }
    6582     22902755 :         default:;
    6583              :         }
    6584     22902755 :       switch (TREE_CODE (_p1))
    6585              :         {
    6586            0 :         case BIT_IOR_EXPR:
    6587            0 :           {
    6588            0 :             tree _q40 = TREE_OPERAND (_p1, 0);
    6589            0 :             tree _q41 = TREE_OPERAND (_p1, 1);
    6590            0 :             switch (TREE_CODE (_q40))
    6591              :               {
    6592            0 :               case NEGATE_EXPR:
    6593            0 :                 {
    6594            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    6595            0 :                   switch (TREE_CODE (_q50))
    6596              :                     {
    6597            0 :                     CASE_CONVERT:
    6598            0 :                       {
    6599            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    6600            0 :                         switch (TREE_CODE (_q60))
    6601              :                           {
    6602            0 :                           case LT_EXPR:
    6603            0 :                             {
    6604            0 :                               tree _q70 = TREE_OPERAND (_q60, 0);
    6605            0 :                               tree _q71 = TREE_OPERAND (_q60, 1);
    6606            0 :                               if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6607              :                                 {
    6608            0 :                                   if (integer_zerop (_q71))
    6609              :                                     {
    6610            0 :                                       if (integer_onep (_q41))
    6611              :                                         {
    6612            0 :                                           {
    6613            0 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6614            0 :                                             tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6615            0 :                                             if (res) return res;
    6616              :                                           }
    6617              :                                         }
    6618              :                                     }
    6619              :                                 }
    6620              :                               break;
    6621              :                             }
    6622              :                           default:;
    6623              :                           }
    6624              :                         break;
    6625              :                       }
    6626            0 :                     case LT_EXPR:
    6627            0 :                       {
    6628            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    6629            0 :                         tree _q61 = TREE_OPERAND (_q50, 1);
    6630            0 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6631              :                           {
    6632            0 :                             if (integer_zerop (_q61))
    6633              :                               {
    6634            0 :                                 if (integer_onep (_q41))
    6635              :                                   {
    6636            0 :                                     {
    6637            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6638            0 :                                       tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6639            0 :                                       if (res) return res;
    6640              :                                     }
    6641              :                                   }
    6642              :                               }
    6643              :                           }
    6644              :                         break;
    6645              :                       }
    6646              :                     default:;
    6647              :                     }
    6648              :                   break;
    6649              :                 }
    6650            0 :               default:;
    6651              :               }
    6652            0 :           {
    6653            0 :             tree _q40_pops[1];
    6654            0 :             if (tree_nop_convert (_q40, _q40_pops))
    6655              :               {
    6656            0 :                 tree _q50 = _q40_pops[0];
    6657            0 :                 switch (TREE_CODE (_q50))
    6658              :                   {
    6659            0 :                   case NEGATE_EXPR:
    6660            0 :                     {
    6661            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    6662            0 :                       switch (TREE_CODE (_q60))
    6663              :                         {
    6664            0 :                         CASE_CONVERT:
    6665            0 :                           {
    6666            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    6667            0 :                             switch (TREE_CODE (_q70))
    6668              :                               {
    6669            0 :                               case LT_EXPR:
    6670            0 :                                 {
    6671            0 :                                   tree _q80 = TREE_OPERAND (_q70, 0);
    6672            0 :                                   tree _q81 = TREE_OPERAND (_q70, 1);
    6673            0 :                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    6674              :                                     {
    6675            0 :                                       if (integer_zerop (_q81))
    6676              :                                         {
    6677            0 :                                           if (integer_onep (_q41))
    6678              :                                             {
    6679            0 :                                               {
    6680            0 :                                                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6681            0 :                                                 tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6682            0 :                                                 if (res) return res;
    6683              :                                               }
    6684              :                                             }
    6685              :                                         }
    6686              :                                     }
    6687              :                                   break;
    6688              :                                 }
    6689              :                               default:;
    6690              :                               }
    6691              :                             break;
    6692              :                           }
    6693            0 :                         case LT_EXPR:
    6694            0 :                           {
    6695            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    6696            0 :                             tree _q71 = TREE_OPERAND (_q60, 1);
    6697            0 :                             if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6698              :                               {
    6699            0 :                                 if (integer_zerop (_q71))
    6700              :                                   {
    6701            0 :                                     if (integer_onep (_q41))
    6702              :                                       {
    6703            0 :                                         {
    6704            0 :                                           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6705            0 :                                           tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6706            0 :                                           if (res) return res;
    6707              :                                         }
    6708              :                                       }
    6709              :                                   }
    6710              :                               }
    6711              :                             break;
    6712              :                           }
    6713              :                         default:;
    6714              :                         }
    6715              :                       break;
    6716              :                     }
    6717              :                   default:;
    6718              :                   }
    6719              :               }
    6720              :           }
    6721            0 :             break;
    6722              :           }
    6723     22902755 :         default:;
    6724              :         }
    6725     22902755 :     {
    6726     22902755 :       tree _p1_pops[1];
    6727     22902755 :       if (tree_nop_convert (_p1, _p1_pops))
    6728              :         {
    6729      2412639 :           tree _q40 = _p1_pops[0];
    6730      2412639 :           switch (TREE_CODE (_q40))
    6731              :             {
    6732            0 :             case BIT_IOR_EXPR:
    6733            0 :               {
    6734            0 :                 tree _q50 = TREE_OPERAND (_q40, 0);
    6735            0 :                 tree _q51 = TREE_OPERAND (_q40, 1);
    6736            0 :                 switch (TREE_CODE (_q50))
    6737              :                   {
    6738            0 :                   case NEGATE_EXPR:
    6739            0 :                     {
    6740            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    6741            0 :                       switch (TREE_CODE (_q60))
    6742              :                         {
    6743            0 :                         CASE_CONVERT:
    6744            0 :                           {
    6745            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    6746            0 :                             switch (TREE_CODE (_q70))
    6747              :                               {
    6748            0 :                               case LT_EXPR:
    6749            0 :                                 {
    6750            0 :                                   tree _q80 = TREE_OPERAND (_q70, 0);
    6751            0 :                                   tree _q81 = TREE_OPERAND (_q70, 1);
    6752            0 :                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    6753              :                                     {
    6754            0 :                                       if (integer_zerop (_q81))
    6755              :                                         {
    6756            0 :                                           if (integer_onep (_q51))
    6757              :                                             {
    6758            0 :                                               {
    6759            0 :                                                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6760            0 :                                                 tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6761            0 :                                                 if (res) return res;
    6762              :                                               }
    6763              :                                             }
    6764              :                                         }
    6765              :                                     }
    6766              :                                   break;
    6767              :                                 }
    6768              :                               default:;
    6769              :                               }
    6770              :                             break;
    6771              :                           }
    6772            0 :                         case LT_EXPR:
    6773            0 :                           {
    6774            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    6775            0 :                             tree _q71 = TREE_OPERAND (_q60, 1);
    6776            0 :                             if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6777              :                               {
    6778            0 :                                 if (integer_zerop (_q71))
    6779              :                                   {
    6780            0 :                                     if (integer_onep (_q51))
    6781              :                                       {
    6782            0 :                                         {
    6783            0 :                                           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6784            0 :                                           tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6785            0 :                                           if (res) return res;
    6786              :                                         }
    6787              :                                       }
    6788              :                                   }
    6789              :                               }
    6790              :                             break;
    6791              :                           }
    6792              :                         default:;
    6793              :                         }
    6794              :                       break;
    6795              :                     }
    6796            0 :                   default:;
    6797              :                   }
    6798            0 :               {
    6799            0 :                 tree _q50_pops[1];
    6800            0 :                 if (tree_nop_convert (_q50, _q50_pops))
    6801              :                   {
    6802            0 :                     tree _q60 = _q50_pops[0];
    6803            0 :                     switch (TREE_CODE (_q60))
    6804              :                       {
    6805            0 :                       case NEGATE_EXPR:
    6806            0 :                         {
    6807            0 :                           tree _q70 = TREE_OPERAND (_q60, 0);
    6808            0 :                           switch (TREE_CODE (_q70))
    6809              :                             {
    6810            0 :                             CASE_CONVERT:
    6811            0 :                               {
    6812            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    6813            0 :                                 switch (TREE_CODE (_q80))
    6814              :                                   {
    6815            0 :                                   case LT_EXPR:
    6816            0 :                                     {
    6817            0 :                                       tree _q90 = TREE_OPERAND (_q80, 0);
    6818            0 :                                       tree _q91 = TREE_OPERAND (_q80, 1);
    6819            0 :                                       if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
    6820              :                                         {
    6821            0 :                                           if (integer_zerop (_q91))
    6822              :                                             {
    6823            0 :                                               if (integer_onep (_q51))
    6824              :                                                 {
    6825            0 :                                                   {
    6826            0 :                                                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6827            0 :                                                     tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6828            0 :                                                     if (res) return res;
    6829              :                                                   }
    6830              :                                                 }
    6831              :                                             }
    6832              :                                         }
    6833              :                                       break;
    6834              :                                     }
    6835              :                                   default:;
    6836              :                                   }
    6837              :                                 break;
    6838              :                               }
    6839            0 :                             case LT_EXPR:
    6840            0 :                               {
    6841            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    6842            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    6843            0 :                                 if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    6844              :                                   {
    6845            0 :                                     if (integer_zerop (_q81))
    6846              :                                       {
    6847            0 :                                         if (integer_onep (_q51))
    6848              :                                           {
    6849            0 :                                             {
    6850            0 :                                               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6851            0 :                                               tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6852            0 :                                               if (res) return res;
    6853              :                                             }
    6854              :                                           }
    6855              :                                       }
    6856              :                                   }
    6857              :                                 break;
    6858              :                               }
    6859              :                             default:;
    6860              :                             }
    6861              :                           break;
    6862              :                         }
    6863              :                       default:;
    6864              :                       }
    6865              :                   }
    6866              :               }
    6867            0 :                 break;
    6868              :               }
    6869              :             default:;
    6870              :             }
    6871              :         }
    6872              :     }
    6873              :     }
    6874              : }
    6875     65717713 :   {
    6876     65717713 :     tree _p1_pops[1];
    6877     65717713 :     if (tree_nop_convert (_p1, _p1_pops))
    6878              :       {
    6879      6906850 :         tree _q30 = _p1_pops[0];
    6880      6906850 :         switch (TREE_CODE (_q30))
    6881              :           {
    6882            0 :           case BIT_IOR_EXPR:
    6883            0 :             {
    6884            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6885            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6886            0 :               switch (TREE_CODE (_q40))
    6887              :                 {
    6888            0 :                 case NEGATE_EXPR:
    6889            0 :                   {
    6890            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6891            0 :                     switch (TREE_CODE (_q50))
    6892              :                       {
    6893            0 :                       CASE_CONVERT:
    6894            0 :                         {
    6895            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    6896            0 :                           switch (TREE_CODE (_q60))
    6897              :                             {
    6898            0 :                             case LT_EXPR:
    6899            0 :                               {
    6900            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    6901            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    6902            0 :                                 if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
    6903              :                                   {
    6904            0 :                                     if (integer_zerop (_q71))
    6905              :                                       {
    6906            0 :                                         if (integer_onep (_q41))
    6907              :                                           {
    6908            0 :                                             {
    6909            0 :                                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6910            0 :                                               tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6911            0 :                                               if (res) return res;
    6912              :                                             }
    6913              :                                           }
    6914              :                                       }
    6915              :                                   }
    6916              :                                 break;
    6917              :                               }
    6918              :                             default:;
    6919              :                             }
    6920              :                           break;
    6921              :                         }
    6922              :                       default:;
    6923              :                       }
    6924              :                     break;
    6925              :                   }
    6926            0 :                 default:;
    6927              :                 }
    6928            0 :             {
    6929            0 :               tree _q40_pops[1];
    6930            0 :               if (tree_nop_convert (_q40, _q40_pops))
    6931              :                 {
    6932            0 :                   tree _q50 = _q40_pops[0];
    6933            0 :                   switch (TREE_CODE (_q50))
    6934              :                     {
    6935            0 :                     case NEGATE_EXPR:
    6936            0 :                       {
    6937            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    6938            0 :                         switch (TREE_CODE (_q60))
    6939              :                           {
    6940            0 :                           CASE_CONVERT:
    6941            0 :                             {
    6942            0 :                               tree _q70 = TREE_OPERAND (_q60, 0);
    6943            0 :                               switch (TREE_CODE (_q70))
    6944              :                                 {
    6945            0 :                                 case LT_EXPR:
    6946            0 :                                   {
    6947            0 :                                     tree _q80 = TREE_OPERAND (_q70, 0);
    6948            0 :                                     tree _q81 = TREE_OPERAND (_q70, 1);
    6949            0 :                                     if ((_q80 == _p0 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _p0, 0) && types_match (_q80, _p0)))
    6950              :                                       {
    6951            0 :                                         if (integer_zerop (_q81))
    6952              :                                           {
    6953            0 :                                             if (integer_onep (_q41))
    6954              :                                               {
    6955            0 :                                                 {
    6956            0 :                                                   tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6957            0 :                                                   tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6958            0 :                                                   if (res) return res;
    6959              :                                                 }
    6960              :                                               }
    6961              :                                           }
    6962              :                                       }
    6963              :                                     break;
    6964              :                                   }
    6965              :                                 default:;
    6966              :                                 }
    6967              :                               break;
    6968              :                             }
    6969              :                           default:;
    6970              :                           }
    6971              :                         break;
    6972              :                       }
    6973              :                     default:;
    6974              :                     }
    6975              :                 }
    6976              :             }
    6977            0 :               break;
    6978              :             }
    6979              :           default:;
    6980              :           }
    6981              :       }
    6982              :   }
    6983     65717713 :   switch (TREE_CODE (_p0))
    6984              :     {
    6985          299 :     case BIT_IOR_EXPR:
    6986          299 :       {
    6987          299 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6988          299 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6989          299 :         switch (TREE_CODE (_q20))
    6990              :           {
    6991            1 :           case NEGATE_EXPR:
    6992            1 :             {
    6993            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6994            1 :               switch (TREE_CODE (_q30))
    6995              :                 {
    6996            0 :                 CASE_CONVERT:
    6997            0 :                   {
    6998            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6999            0 :                     switch (TREE_CODE (_q40))
    7000              :                       {
    7001            0 :                       case LT_EXPR:
    7002            0 :                         {
    7003            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    7004            0 :                           tree _q51 = TREE_OPERAND (_q40, 1);
    7005            0 :                           if (integer_zerop (_q51))
    7006              :                             {
    7007            0 :                               if (integer_onep (_q21))
    7008              :                                 {
    7009            0 :                                   {
    7010            0 :                                     tree _p1_pops[1];
    7011            0 :                                     if (tree_nop_convert (_p1, _p1_pops))
    7012              :                                       {
    7013            0 :                                         tree _q90 = _p1_pops[0];
    7014            0 :                                         if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
    7015              :                                           {
    7016            0 :                                             {
    7017            0 :                                               tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    7018            0 :                                               tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    7019            0 :                                               if (res) return res;
    7020              :                                             }
    7021              :                                           }
    7022              :                                       }
    7023              :                                   }
    7024            0 :                                   if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    7025              :                                     {
    7026            0 :                                       {
    7027            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    7028            0 :                                         tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    7029            0 :                                         if (res) return res;
    7030              :                                       }
    7031              :                                     }
    7032              :                                 }
    7033              :                             }
    7034              :                           break;
    7035              :                         }
    7036              :                       default:;
    7037              :                       }
    7038              :                     break;
    7039              :                   }
    7040            1 :                 case LT_EXPR:
    7041            1 :                   {
    7042            1 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    7043            1 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    7044            1 :                     if (integer_zerop (_q41))
    7045              :                       {
    7046            1 :                         if (integer_onep (_q21))
    7047              :                           {
    7048            1 :                             {
    7049            1 :                               tree _p1_pops[1];
    7050            1 :                               if (tree_nop_convert (_p1, _p1_pops))
    7051              :                                 {
    7052            0 :                                   tree _q80 = _p1_pops[0];
    7053            0 :                                   if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    7054              :                                     {
    7055            0 :                                       {
    7056            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    7057            0 :                                         tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    7058            0 :                                         if (res) return res;
    7059              :                                       }
    7060              :                                     }
    7061              :                                 }
    7062              :                             }
    7063            1 :                             if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    7064              :                               {
    7065            1 :                                 {
    7066            1 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    7067            1 :                                   tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    7068            1 :                                   if (res) return res;
    7069              :                                 }
    7070              :                               }
    7071              :                           }
    7072              :                       }
    7073              :                     break;
    7074              :                   }
    7075              :                 default:;
    7076              :                 }
    7077              :               break;
    7078              :             }
    7079          298 :           default:;
    7080              :           }
    7081          298 :       {
    7082          298 :         tree _q20_pops[1];
    7083          298 :         if (tree_nop_convert (_q20, _q20_pops))
    7084              :           {
    7085            1 :             tree _q30 = _q20_pops[0];
    7086            1 :             switch (TREE_CODE (_q30))
    7087              :               {
    7088            1 :               case NEGATE_EXPR:
    7089            1 :                 {
    7090            1 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    7091            1 :                   switch (TREE_CODE (_q40))
    7092              :                     {
    7093            0 :                     CASE_CONVERT:
    7094            0 :                       {
    7095            0 :                         tree _q50 = TREE_OPERAND (_q40, 0);
    7096            0 :                         switch (TREE_CODE (_q50))
    7097              :                           {
    7098            0 :                           case LT_EXPR:
    7099            0 :                             {
    7100            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
    7101            0 :                               tree _q61 = TREE_OPERAND (_q50, 1);
    7102            0 :                               if (integer_zerop (_q61))
    7103              :                                 {
    7104            0 :                                   if (integer_onep (_q21))
    7105              :                                     {
    7106            0 :                                       {
    7107            0 :                                         tree _p1_pops[1];
    7108            0 :                                         if (tree_nop_convert (_p1, _p1_pops))
    7109              :                                           {
    7110            0 :                                             tree _q100 = _p1_pops[0];
    7111            0 :                                             if ((_q100 == _q60 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q60, 0) && types_match (_q100, _q60)))
    7112              :                                               {
    7113            0 :                                                 {
    7114            0 :                                                   tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    7115            0 :                                                   tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    7116            0 :                                                   if (res) return res;
    7117              :                                                 }
    7118              :                                               }
    7119              :                                           }
    7120              :                                       }
    7121            0 :                                       if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
    7122              :                                         {
    7123            0 :                                           {
    7124            0 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    7125            0 :                                             tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    7126            0 :                                             if (res) return res;
    7127              :                                           }
    7128              :                                         }
    7129              :                                     }
    7130              :                                 }
    7131              :                               break;
    7132              :                             }
    7133              :                           default:;
    7134              :                           }
    7135              :                         break;
    7136              :                       }
    7137            1 :                     case LT_EXPR:
    7138            1 :                       {
    7139            1 :                         tree _q50 = TREE_OPERAND (_q40, 0);
    7140            1 :                         tree _q51 = TREE_OPERAND (_q40, 1);
    7141            1 :                         if (integer_zerop (_q51))
    7142              :                           {
    7143            1 :                             if (integer_onep (_q21))
    7144              :                               {
    7145            1 :                                 {
    7146            1 :                                   tree _p1_pops[1];
    7147            1 :                                   if (tree_nop_convert (_p1, _p1_pops))
    7148              :                                     {
    7149            1 :                                       tree _q90 = _p1_pops[0];
    7150            1 :                                       if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
    7151              :                                         {
    7152            1 :                                           {
    7153            1 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    7154            1 :                                             tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    7155            1 :                                             if (res) return res;
    7156              :                                           }
    7157              :                                         }
    7158              :                                     }
    7159              :                                 }
    7160            0 :                                 if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    7161              :                                   {
    7162            0 :                                     {
    7163            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    7164            0 :                                       tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    7165            0 :                                       if (res) return res;
    7166              :                                     }
    7167              :                                   }
    7168              :                               }
    7169              :                           }
    7170              :                         break;
    7171              :                       }
    7172              :                     default:;
    7173              :                     }
    7174              :                   break;
    7175              :                 }
    7176              :               default:;
    7177              :               }
    7178              :           }
    7179              :       }
    7180          297 :         break;
    7181              :       }
    7182     65717711 :     default:;
    7183              :     }
    7184     65717711 :   switch (TREE_CODE (_p1))
    7185              :     {
    7186            0 :     case BIT_IOR_EXPR:
    7187            0 :       {
    7188            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7189            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7190            0 :         switch (TREE_CODE (_q30))
    7191              :           {
    7192            0 :           case NEGATE_EXPR:
    7193            0 :             {
    7194            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7195            0 :               switch (TREE_CODE (_q40))
    7196              :                 {
    7197            0 :                 CASE_CONVERT:
    7198            0 :                   {
    7199            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    7200            0 :                     switch (TREE_CODE (_q50))
    7201              :                       {
    7202            0 :                       case LT_EXPR:
    7203            0 :                         {
    7204            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    7205            0 :                           tree _q61 = TREE_OPERAND (_q50, 1);
    7206            0 :                           if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    7207              :                             {
    7208            0 :                               if (integer_zerop (_q61))
    7209              :                                 {
    7210            0 :                                   if (integer_onep (_q31))
    7211              :                                     {
    7212            0 :                                       {
    7213            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7214            0 :                                         tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7215            0 :                                         if (res) return res;
    7216              :                                       }
    7217              :                                     }
    7218              :                                 }
    7219              :                             }
    7220              :                           break;
    7221              :                         }
    7222              :                       default:;
    7223              :                       }
    7224              :                     break;
    7225              :                   }
    7226            0 :                 case LT_EXPR:
    7227            0 :                   {
    7228            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    7229            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    7230            0 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    7231              :                       {
    7232            0 :                         if (integer_zerop (_q51))
    7233              :                           {
    7234            0 :                             if (integer_onep (_q31))
    7235              :                               {
    7236            0 :                                 {
    7237            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7238            0 :                                   tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7239            0 :                                   if (res) return res;
    7240              :                                 }
    7241              :                               }
    7242              :                           }
    7243              :                       }
    7244              :                     break;
    7245              :                   }
    7246              :                 default:;
    7247              :                 }
    7248              :               break;
    7249              :             }
    7250            0 :           default:;
    7251              :           }
    7252            0 :       {
    7253            0 :         tree _q30_pops[1];
    7254            0 :         if (tree_nop_convert (_q30, _q30_pops))
    7255              :           {
    7256            0 :             tree _q40 = _q30_pops[0];
    7257            0 :             switch (TREE_CODE (_q40))
    7258              :               {
    7259            0 :               case NEGATE_EXPR:
    7260            0 :                 {
    7261            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    7262            0 :                   switch (TREE_CODE (_q50))
    7263              :                     {
    7264            0 :                     CASE_CONVERT:
    7265            0 :                       {
    7266            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    7267            0 :                         switch (TREE_CODE (_q60))
    7268              :                           {
    7269            0 :                           case LT_EXPR:
    7270            0 :                             {
    7271            0 :                               tree _q70 = TREE_OPERAND (_q60, 0);
    7272            0 :                               tree _q71 = TREE_OPERAND (_q60, 1);
    7273            0 :                               if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
    7274              :                                 {
    7275            0 :                                   if (integer_zerop (_q71))
    7276              :                                     {
    7277            0 :                                       if (integer_onep (_q31))
    7278              :                                         {
    7279            0 :                                           {
    7280            0 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7281            0 :                                             tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7282            0 :                                             if (res) return res;
    7283              :                                           }
    7284              :                                         }
    7285              :                                     }
    7286              :                                 }
    7287              :                               break;
    7288              :                             }
    7289              :                           default:;
    7290              :                           }
    7291              :                         break;
    7292              :                       }
    7293            0 :                     case LT_EXPR:
    7294            0 :                       {
    7295            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    7296            0 :                         tree _q61 = TREE_OPERAND (_q50, 1);
    7297            0 :                         if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    7298              :                           {
    7299            0 :                             if (integer_zerop (_q61))
    7300              :                               {
    7301            0 :                                 if (integer_onep (_q31))
    7302              :                                   {
    7303            0 :                                     {
    7304            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7305            0 :                                       tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7306            0 :                                       if (res) return res;
    7307              :                                     }
    7308              :                                   }
    7309              :                               }
    7310              :                           }
    7311              :                         break;
    7312              :                       }
    7313              :                     default:;
    7314              :                     }
    7315              :                   break;
    7316              :                 }
    7317              :               default:;
    7318              :               }
    7319              :           }
    7320              :       }
    7321            0 :         break;
    7322              :       }
    7323     65717711 :     default:;
    7324              :     }
    7325     65717711 : {
    7326     65717711 :   tree _p1_pops[1];
    7327     65717711 :   if (tree_nop_convert (_p1, _p1_pops))
    7328              :     {
    7329      6906849 :       tree _q30 = _p1_pops[0];
    7330      6906849 :       switch (TREE_CODE (_q30))
    7331              :         {
    7332            0 :         case BIT_IOR_EXPR:
    7333            0 :           {
    7334            0 :             tree _q40 = TREE_OPERAND (_q30, 0);
    7335            0 :             tree _q41 = TREE_OPERAND (_q30, 1);
    7336            0 :             switch (TREE_CODE (_q40))
    7337              :               {
    7338            0 :               case NEGATE_EXPR:
    7339            0 :                 {
    7340            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    7341            0 :                   switch (TREE_CODE (_q50))
    7342              :                     {
    7343            0 :                     case LT_EXPR:
    7344            0 :                       {
    7345            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    7346            0 :                         tree _q61 = TREE_OPERAND (_q50, 1);
    7347            0 :                         if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    7348              :                           {
    7349            0 :                             if (integer_zerop (_q61))
    7350              :                               {
    7351            0 :                                 if (integer_onep (_q41))
    7352              :                                   {
    7353            0 :                                     {
    7354            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7355            0 :                                       tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7356            0 :                                       if (res) return res;
    7357              :                                     }
    7358              :                                   }
    7359              :                               }
    7360              :                           }
    7361              :                         break;
    7362              :                       }
    7363              :                     default:;
    7364              :                     }
    7365              :                   break;
    7366              :                 }
    7367            0 :               default:;
    7368              :               }
    7369            0 :           {
    7370            0 :             tree _q40_pops[1];
    7371            0 :             if (tree_nop_convert (_q40, _q40_pops))
    7372              :               {
    7373            0 :                 tree _q50 = _q40_pops[0];
    7374            0 :                 switch (TREE_CODE (_q50))
    7375              :                   {
    7376            0 :                   case NEGATE_EXPR:
    7377            0 :                     {
    7378            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    7379            0 :                       switch (TREE_CODE (_q60))
    7380              :                         {
    7381            0 :                         case LT_EXPR:
    7382            0 :                           {
    7383            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    7384            0 :                             tree _q71 = TREE_OPERAND (_q60, 1);
    7385            0 :                             if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
    7386              :                               {
    7387            0 :                                 if (integer_zerop (_q71))
    7388              :                                   {
    7389            0 :                                     if (integer_onep (_q41))
    7390              :                                       {
    7391            0 :                                         {
    7392            0 :                                           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7393            0 :                                           tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7394            0 :                                           if (res) return res;
    7395              :                                         }
    7396              :                                       }
    7397              :                                   }
    7398              :                               }
    7399              :                             break;
    7400              :                           }
    7401              :                         default:;
    7402              :                         }
    7403              :                       break;
    7404              :                     }
    7405              :                   default:;
    7406              :                   }
    7407              :               }
    7408              :           }
    7409            0 :             break;
    7410              :           }
    7411              :         default:;
    7412              :         }
    7413              :     }
    7414              : }
    7415     65717711 :   switch (TREE_CODE (_p0))
    7416              :     {
    7417     31664429 :     CASE_CONVERT:
    7418     31664429 :       {
    7419     31664429 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7420     31664429 :         switch (TREE_CODE (_q20))
    7421              :           {
    7422         6180 :           case NEGATE_EXPR:
    7423         6180 :             {
    7424         6180 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7425         6180 :               switch (TREE_CODE (_p1))
    7426              :                 {
    7427          473 :                 CASE_CONVERT:
    7428          473 :                   {
    7429          473 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7430          473 :                     if (tree_negate_expr_p (_q50))
    7431              :                       {
    7432            0 :                         {
    7433            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
    7434            0 :                           tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7435            0 :                           if (res) return res;
    7436              :                         }
    7437              :                       }
    7438              :                     break;
    7439              :                   }
    7440         6180 :                 default:;
    7441              :                 }
    7442         6180 :             if (tree_negate_expr_p (_p1))
    7443              :               {
    7444         3360 :                 {
    7445         3360 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
    7446         3360 :                   tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7447         3360 :                   if (res) return res;
    7448              :                 }
    7449              :               }
    7450              :               break;
    7451              :             }
    7452            4 :           case LT_EXPR:
    7453            4 :             {
    7454            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7455            4 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7456            4 :               {
    7457            4 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7458            4 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, LT_EXPR);
    7459            4 :                 if (res) return res;
    7460              :               }
    7461            4 :               break;
    7462              :             }
    7463            6 :           case LE_EXPR:
    7464            6 :             {
    7465            6 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7466            6 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7467            6 :               {
    7468            6 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7469            6 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, LE_EXPR);
    7470            6 :                 if (res) return res;
    7471              :               }
    7472            6 :               break;
    7473              :             }
    7474            1 :           case EQ_EXPR:
    7475            1 :             {
    7476            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7477            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7478            1 :               {
    7479            1 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7480            1 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7481            1 :                 if (res) return res;
    7482              :               }
    7483            1 :               break;
    7484              :             }
    7485         1157 :           case NE_EXPR:
    7486         1157 :             {
    7487         1157 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7488         1157 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7489         1157 :               {
    7490         1157 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7491         1157 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, NE_EXPR);
    7492         1157 :                 if (res) return res;
    7493              :               }
    7494         1157 :               break;
    7495              :             }
    7496           19 :           case GE_EXPR:
    7497           19 :             {
    7498           19 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7499           19 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7500           19 :               {
    7501           19 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7502           19 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, GE_EXPR);
    7503           19 :                 if (res) return res;
    7504              :               }
    7505           19 :               break;
    7506              :             }
    7507           19 :           case GT_EXPR:
    7508           19 :             {
    7509           19 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7510           19 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7511           19 :               {
    7512           19 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7513           19 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, GT_EXPR);
    7514           19 :                 if (res) return res;
    7515              :               }
    7516           19 :               break;
    7517              :             }
    7518            0 :           case UNORDERED_EXPR:
    7519            0 :             {
    7520            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7521            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7522            0 :               {
    7523            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7524            0 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
    7525            0 :                 if (res) return res;
    7526              :               }
    7527            0 :               break;
    7528              :             }
    7529            0 :           case ORDERED_EXPR:
    7530            0 :             {
    7531            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7532            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7533            0 :               {
    7534            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7535            0 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
    7536            0 :                 if (res) return res;
    7537              :               }
    7538            0 :               break;
    7539              :             }
    7540            0 :           case UNLT_EXPR:
    7541            0 :             {
    7542            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7543            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7544            0 :               {
    7545            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7546            0 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, UNLT_EXPR);
    7547            0 :                 if (res) return res;
    7548              :               }
    7549            0 :               break;
    7550              :             }
    7551            0 :           case UNLE_EXPR:
    7552            0 :             {
    7553            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7554            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7555            0 :               {
    7556            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7557            0 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, UNLE_EXPR);
    7558            0 :                 if (res) return res;
    7559              :               }
    7560            0 :               break;
    7561              :             }
    7562            0 :           case UNGT_EXPR:
    7563            0 :             {
    7564            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7565            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7566            0 :               {
    7567            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7568            0 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, UNGT_EXPR);
    7569            0 :                 if (res) return res;
    7570              :               }
    7571            0 :               break;
    7572              :             }
    7573            0 :           case UNGE_EXPR:
    7574            0 :             {
    7575            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7576            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7577            0 :               {
    7578            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7579            0 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, UNGE_EXPR);
    7580            0 :                 if (res) return res;
    7581              :               }
    7582            0 :               break;
    7583              :             }
    7584            0 :           case UNEQ_EXPR:
    7585            0 :             {
    7586            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7587            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7588            0 :               {
    7589            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7590            0 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
    7591            0 :                 if (res) return res;
    7592              :               }
    7593            0 :               break;
    7594              :             }
    7595            0 :           case LTGT_EXPR:
    7596            0 :             {
    7597            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7598            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7599            0 :               {
    7600            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7601            0 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, LTGT_EXPR);
    7602            0 :                 if (res) return res;
    7603              :               }
    7604            0 :               break;
    7605              :             }
    7606     31663686 :           default:;
    7607              :           }
    7608     31663686 :       if (tree_negate_expr_p (_q20))
    7609              :         {
    7610        21771 :           switch (TREE_CODE (_p1))
    7611              :             {
    7612         2640 :             CASE_CONVERT:
    7613         2640 :               {
    7614         2640 :                 tree _q40 = TREE_OPERAND (_p1, 0);
    7615         2640 :                 switch (TREE_CODE (_q40))
    7616              :                   {
    7617            0 :                   case NEGATE_EXPR:
    7618            0 :                     {
    7619            0 :                       tree _q50 = TREE_OPERAND (_q40, 0);
    7620            0 :                       {
    7621            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
    7622            0 :                         tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7623            0 :                         if (res) return res;
    7624              :                       }
    7625            0 :                       break;
    7626              :                     }
    7627              :                   default:;
    7628              :                   }
    7629              :                 break;
    7630              :               }
    7631            6 :             case NEGATE_EXPR:
    7632            6 :               {
    7633            6 :                 tree _q40 = TREE_OPERAND (_p1, 0);
    7634            6 :                 {
    7635            6 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    7636            6 :                   tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7637            6 :                   if (res) return res;
    7638              :                 }
    7639            0 :                 break;
    7640              :               }
    7641              :             default:;
    7642              :             }
    7643              :         }
    7644              :         break;
    7645              :       }
    7646       425743 :     case NEGATE_EXPR:
    7647       425743 :       {
    7648       425743 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7649       425743 :         switch (TREE_CODE (_p1))
    7650              :           {
    7651       149918 :           CASE_CONVERT:
    7652       149918 :             {
    7653       149918 :               tree _q40 = TREE_OPERAND (_p1, 0);
    7654       149918 :               if (tree_negate_expr_p (_q40))
    7655              :                 {
    7656            0 :                   {
    7657            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    7658            0 :                     tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7659            0 :                     if (res) return res;
    7660              :                   }
    7661              :                 }
    7662              :               break;
    7663              :             }
    7664       425743 :           default:;
    7665              :           }
    7666       425743 :       if (tree_negate_expr_p (_p1))
    7667              :         {
    7668        32698 :           {
    7669        32698 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7670        32698 :             tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7671        32698 :             if (res) return res;
    7672              :           }
    7673              :         }
    7674              :         break;
    7675              :       }
    7676     65684264 :     default:;
    7677              :     }
    7678     65684264 : if (tree_negate_expr_p (_p0))
    7679              :   {
    7680       663123 :     switch (TREE_CODE (_p1))
    7681              :       {
    7682       154267 :       CASE_CONVERT:
    7683       154267 :         {
    7684       154267 :           tree _q30 = TREE_OPERAND (_p1, 0);
    7685       154267 :           switch (TREE_CODE (_q30))
    7686              :             {
    7687            0 :             case NEGATE_EXPR:
    7688            0 :               {
    7689            0 :                 tree _q40 = TREE_OPERAND (_q30, 0);
    7690            0 :                 {
    7691            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    7692            0 :                   tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7693            0 :                   if (res) return res;
    7694              :                 }
    7695            0 :                 break;
    7696              :               }
    7697              :             default:;
    7698              :             }
    7699              :           break;
    7700              :         }
    7701            6 :       case NEGATE_EXPR:
    7702            6 :         {
    7703            6 :           tree _q30 = TREE_OPERAND (_p1, 0);
    7704            6 :           {
    7705            6 :             tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    7706            6 :             tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7707            6 :             if (res) return res;
    7708              :           }
    7709            0 :           break;
    7710              :         }
    7711              :       default:;
    7712              :       }
    7713              :   }
    7714     65684258 : if (tree_zero_one_valued_p (_p0))
    7715              :   {
    7716       183793 :     if (tree_zero_one_valued_p (_p1))
    7717              :       {
    7718        12049 :         {
    7719        12049 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    7720        12049 :           if (INTEGRAL_TYPE_P (type)
    7721              : )
    7722              :             {
    7723        12049 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1418;
    7724        12049 :               {
    7725        12049 :                 tree res_op0;
    7726        12049 :                 res_op0 = captures[0];
    7727        12049 :                 tree res_op1;
    7728        12049 :                 res_op1 = captures[1];
    7729        12049 :                 tree _r;
    7730        12049 :                 _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    7731        12049 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 971, __FILE__, __LINE__, true);
    7732        12049 :                 return _r;
    7733              :               }
    7734            0 : next_after_fail1418:;
    7735              :             }
    7736              :         }
    7737              :       }
    7738              :   }
    7739     65672209 :   switch (TREE_CODE (_p1))
    7740              :     {
    7741      6979024 :     CASE_CONVERT:
    7742      6979024 :       {
    7743      6979024 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7744      6979024 :         switch (TREE_CODE (_q30))
    7745              :           {
    7746            0 :           case LT_EXPR:
    7747            0 :             {
    7748            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7749            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7750            0 :               {
    7751            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7752            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, LT_EXPR);
    7753            0 :                 if (res) return res;
    7754              :               }
    7755            0 :               break;
    7756              :             }
    7757            0 :           case LE_EXPR:
    7758            0 :             {
    7759            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7760            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7761            0 :               {
    7762            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7763            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, LE_EXPR);
    7764            0 :                 if (res) return res;
    7765              :               }
    7766            0 :               break;
    7767              :             }
    7768            0 :           case EQ_EXPR:
    7769            0 :             {
    7770            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7771            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7772            0 :               {
    7773            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7774            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7775            0 :                 if (res) return res;
    7776              :               }
    7777            0 :               break;
    7778              :             }
    7779            0 :           case NE_EXPR:
    7780            0 :             {
    7781            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7782            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7783            0 :               {
    7784            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7785            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, NE_EXPR);
    7786            0 :                 if (res) return res;
    7787              :               }
    7788            0 :               break;
    7789              :             }
    7790            0 :           case GE_EXPR:
    7791            0 :             {
    7792            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7793            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7794            0 :               {
    7795            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7796            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, GE_EXPR);
    7797            0 :                 if (res) return res;
    7798              :               }
    7799            0 :               break;
    7800              :             }
    7801            0 :           case GT_EXPR:
    7802            0 :             {
    7803            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7804            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7805            0 :               {
    7806            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7807            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, GT_EXPR);
    7808            0 :                 if (res) return res;
    7809              :               }
    7810            0 :               break;
    7811              :             }
    7812            0 :           case UNORDERED_EXPR:
    7813            0 :             {
    7814            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7815            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7816            0 :               {
    7817            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7818            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
    7819            0 :                 if (res) return res;
    7820              :               }
    7821            0 :               break;
    7822              :             }
    7823            0 :           case ORDERED_EXPR:
    7824            0 :             {
    7825            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7826            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7827            0 :               {
    7828            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7829            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
    7830            0 :                 if (res) return res;
    7831              :               }
    7832            0 :               break;
    7833              :             }
    7834            0 :           case UNLT_EXPR:
    7835            0 :             {
    7836            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7837            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7838            0 :               {
    7839            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7840            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, UNLT_EXPR);
    7841            0 :                 if (res) return res;
    7842              :               }
    7843            0 :               break;
    7844              :             }
    7845            0 :           case UNLE_EXPR:
    7846            0 :             {
    7847            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7848            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7849            0 :               {
    7850            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7851            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, UNLE_EXPR);
    7852            0 :                 if (res) return res;
    7853              :               }
    7854            0 :               break;
    7855              :             }
    7856            0 :           case UNGT_EXPR:
    7857            0 :             {
    7858            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7859            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7860            0 :               {
    7861            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7862            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, UNGT_EXPR);
    7863            0 :                 if (res) return res;
    7864              :               }
    7865            0 :               break;
    7866              :             }
    7867            0 :           case UNGE_EXPR:
    7868            0 :             {
    7869            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7870            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7871            0 :               {
    7872            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7873            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, UNGE_EXPR);
    7874            0 :                 if (res) return res;
    7875              :               }
    7876            0 :               break;
    7877              :             }
    7878            0 :           case UNEQ_EXPR:
    7879            0 :             {
    7880            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7881            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7882            0 :               {
    7883            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7884            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
    7885            0 :                 if (res) return res;
    7886              :               }
    7887            0 :               break;
    7888              :             }
    7889            0 :           case LTGT_EXPR:
    7890            0 :             {
    7891            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7892            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7893            0 :               {
    7894            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7895            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, LTGT_EXPR);
    7896            0 :                 if (res) return res;
    7897              :               }
    7898            0 :               break;
    7899              :             }
    7900              :           default:;
    7901              :           }
    7902              :         break;
    7903              :       }
    7904     65672209 :     default:;
    7905              :     }
    7906     65672209 :   switch (TREE_CODE (_p0))
    7907              :     {
    7908            3 :     case MIN_EXPR:
    7909            3 :       {
    7910            3 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7911            3 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7912            3 :         switch (TREE_CODE (_p1))
    7913              :           {
    7914            0 :           case MAX_EXPR:
    7915            0 :             {
    7916            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7917            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7918            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7919              :                 {
    7920            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7921              :                     {
    7922            0 :                       {
    7923            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7924            0 :                         if (!HONOR_NANS (captures[0])
    7925              : )
    7926              :                           {
    7927            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1419;
    7928            0 :                             {
    7929            0 :                               tree res_op0;
    7930            0 :                               res_op0 = captures[0];
    7931            0 :                               tree res_op1;
    7932            0 :                               res_op1 = captures[1];
    7933            0 :                               tree _r;
    7934            0 :                               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    7935            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    7936            0 :                               return _r;
    7937              :                             }
    7938            0 : next_after_fail1419:;
    7939              :                           }
    7940              :                       }
    7941              :                     }
    7942              :                 }
    7943            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7944              :                 {
    7945            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7946              :                     {
    7947            0 :                       {
    7948            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7949            0 :                         if (!HONOR_NANS (captures[0])
    7950              : )
    7951              :                           {
    7952            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1420;
    7953            0 :                             {
    7954            0 :                               tree res_op0;
    7955            0 :                               res_op0 = captures[0];
    7956            0 :                               tree res_op1;
    7957            0 :                               res_op1 = captures[1];
    7958            0 :                               tree _r;
    7959            0 :                               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    7960            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    7961            0 :                               return _r;
    7962              :                             }
    7963            0 : next_after_fail1420:;
    7964              :                           }
    7965              :                       }
    7966              :                     }
    7967              :                 }
    7968              :               break;
    7969              :             }
    7970              :           default:;
    7971              :           }
    7972              :         break;
    7973              :       }
    7974          146 :     case MAX_EXPR:
    7975          146 :       {
    7976          146 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7977          146 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7978          146 :         switch (TREE_CODE (_p1))
    7979              :           {
    7980            0 :           case MIN_EXPR:
    7981            0 :             {
    7982            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7983            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7984            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7985              :                 {
    7986            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7987              :                     {
    7988            0 :                       {
    7989            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7990            0 :                         if (!HONOR_NANS (captures[0])
    7991              : )
    7992              :                           {
    7993            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1421;
    7994            0 :                             {
    7995            0 :                               tree res_op0;
    7996            0 :                               res_op0 = captures[0];
    7997            0 :                               tree res_op1;
    7998            0 :                               res_op1 = captures[1];
    7999            0 :                               tree _r;
    8000            0 :                               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    8001            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    8002            0 :                               return _r;
    8003              :                             }
    8004            0 : next_after_fail1421:;
    8005              :                           }
    8006              :                       }
    8007              :                     }
    8008              :                 }
    8009            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8010              :                 {
    8011            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8012              :                     {
    8013            0 :                       {
    8014            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8015            0 :                         if (!HONOR_NANS (captures[0])
    8016              : )
    8017              :                           {
    8018            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1422;
    8019            0 :                             {
    8020            0 :                               tree res_op0;
    8021            0 :                               res_op0 = captures[0];
    8022            0 :                               tree res_op1;
    8023            0 :                               res_op1 = captures[1];
    8024            0 :                               tree _r;
    8025            0 :                               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    8026            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    8027            0 :                               return _r;
    8028              :                             }
    8029            0 : next_after_fail1422:;
    8030              :                           }
    8031              :                       }
    8032              :                     }
    8033              :                 }
    8034              :               break;
    8035              :             }
    8036              :           default:;
    8037              :           }
    8038              :         break;
    8039              :       }
    8040     31651634 :     CASE_CONVERT:
    8041     31651634 :       {
    8042     31651634 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8043     31651634 :         switch (TREE_CODE (_q20))
    8044              :           {
    8045           82 :           case BIT_AND_EXPR:
    8046           82 :             {
    8047           82 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8048           82 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8049           82 :               switch (TREE_CODE (_q30))
    8050              :                 {
    8051            0 :                 CASE_CONVERT:
    8052            0 :                   {
    8053            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8054            0 :                     switch (TREE_CODE (_q40))
    8055              :                       {
    8056            0 :                       case RSHIFT_EXPR:
    8057            0 :                         {
    8058            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    8059            0 :                           tree _q51 = TREE_OPERAND (_q40, 1);
    8060            0 :                           switch (TREE_CODE (_q51))
    8061              :                             {
    8062            0 :                             case INTEGER_CST:
    8063            0 :                               {
    8064            0 :                                 switch (TREE_CODE (_q31))
    8065              :                                   {
    8066            0 :                                   case INTEGER_CST:
    8067            0 :                                     {
    8068            0 :                                       switch (TREE_CODE (_p1))
    8069              :                                         {
    8070            0 :                                         case INTEGER_CST:
    8071            0 :                                           {
    8072            0 :                                             {
    8073            0 :                                               tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _p1 };
    8074            0 :                                               tree res = generic_simplify_190 (loc, type, _p0, _p1, captures);
    8075            0 :                                               if (res) return res;
    8076              :                                             }
    8077            0 :                                             break;
    8078              :                                           }
    8079              :                                         default:;
    8080              :                                         }
    8081              :                                       break;
    8082              :                                     }
    8083              :                                   default:;
    8084              :                                   }
    8085              :                                 break;
    8086              :                               }
    8087              :                             default:;
    8088              :                             }
    8089              :                           break;
    8090              :                         }
    8091              :                       default:;
    8092              :                       }
    8093              :                     break;
    8094              :                   }
    8095              :                 default:;
    8096              :                 }
    8097              :               break;
    8098              :             }
    8099        31593 :           case EXACT_DIV_EXPR:
    8100        31593 :             {
    8101        31593 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8102        31593 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8103        31593 :               switch (TREE_CODE (_p1))
    8104              :                 {
    8105            0 :                 CASE_CONVERT:
    8106            0 :                   {
    8107            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    8108            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
    8109              :                       {
    8110            0 :                         {
    8111            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
    8112            0 :                           tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    8113            0 :                           if (res) return res;
    8114              :                         }
    8115              :                       }
    8116              :                     break;
    8117              :                   }
    8118        31593 :                 default:;
    8119              :                 }
    8120        31593 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
    8121              :                 {
    8122        21807 :                   {
    8123        21807 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
    8124        21807 :                     tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    8125        21807 :                     if (res) return res;
    8126              :                   }
    8127              :                 }
    8128         9786 :               switch (TREE_CODE (_q31))
    8129              :                 {
    8130         9786 :                 case INTEGER_CST:
    8131         9786 :                   {
    8132         9786 :                     if (poly_int_tree_p (_p1))
    8133              :                       {
    8134         9786 :                         {
    8135         9786 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    8136         9786 :                           tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    8137         9786 :                           if (res) return res;
    8138              :                         }
    8139              :                       }
    8140              :                     break;
    8141              :                   }
    8142              :                 default:;
    8143              :                 }
    8144              :               break;
    8145              :             }
    8146      1345248 :           case PLUS_EXPR:
    8147      1345248 :             {
    8148      1345248 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8149      1345248 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8150      1345248 :               switch (TREE_CODE (_q30))
    8151              :                 {
    8152       175333 :                 CASE_CONVERT:
    8153       175333 :                   {
    8154       175333 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8155       175333 :                     switch (TREE_CODE (_q40))
    8156              :                       {
    8157            0 :                       case EXACT_DIV_EXPR:
    8158            0 :                         {
    8159            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    8160            0 :                           tree _q51 = TREE_OPERAND (_q40, 1);
    8161            0 :                           switch (TREE_CODE (_q51))
    8162              :                             {
    8163            0 :                             case INTEGER_CST:
    8164            0 :                               {
    8165            0 :                                 if (poly_int_tree_p (_q31))
    8166              :                                   {
    8167            0 :                                     if (poly_int_tree_p (_p1))
    8168              :                                       {
    8169            0 :                                         {
    8170            0 :                                           tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _p1 };
    8171            0 :                                           tree res = generic_simplify_193 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8172            0 :                                           if (res) return res;
    8173              :                                         }
    8174              :                                       }
    8175              :                                   }
    8176              :                                 break;
    8177              :                               }
    8178              :                             default:;
    8179              :                             }
    8180              :                           break;
    8181              :                         }
    8182              :                       default:;
    8183              :                       }
    8184              :                     break;
    8185              :                   }
    8186          112 :                 case EXACT_DIV_EXPR:
    8187          112 :                   {
    8188          112 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8189          112 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8190          112 :                     switch (TREE_CODE (_q41))
    8191              :                       {
    8192          112 :                       case INTEGER_CST:
    8193          112 :                         {
    8194          112 :                           if (poly_int_tree_p (_q31))
    8195              :                             {
    8196          112 :                               if (poly_int_tree_p (_p1))
    8197              :                                 {
    8198          112 :                                   {
    8199          112 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _p1 };
    8200          112 :                                     tree res = generic_simplify_193 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8201          112 :                                     if (res) return res;
    8202              :                                   }
    8203              :                                 }
    8204              :                             }
    8205              :                           break;
    8206              :                         }
    8207              :                       default:;
    8208              :                       }
    8209              :                     break;
    8210              :                   }
    8211              :                 default:;
    8212              :                 }
    8213              :               break;
    8214              :             }
    8215       100152 :           case MINUS_EXPR:
    8216       100152 :             {
    8217       100152 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8218       100152 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8219       100152 :               switch (TREE_CODE (_q30))
    8220              :                 {
    8221        25500 :                 CASE_CONVERT:
    8222        25500 :                   {
    8223        25500 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8224        25500 :                     switch (TREE_CODE (_q40))
    8225              :                       {
    8226            0 :                       case EXACT_DIV_EXPR:
    8227            0 :                         {
    8228            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    8229            0 :                           tree _q51 = TREE_OPERAND (_q40, 1);
    8230            0 :                           switch (TREE_CODE (_q51))
    8231              :                             {
    8232            0 :                             case INTEGER_CST:
    8233            0 :                               {
    8234            0 :                                 if (poly_int_tree_p (_q31))
    8235              :                                   {
    8236            0 :                                     if (poly_int_tree_p (_p1))
    8237              :                                       {
    8238            0 :                                         {
    8239            0 :                                           tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _p1 };
    8240            0 :                                           tree res = generic_simplify_193 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    8241            0 :                                           if (res) return res;
    8242              :                                         }
    8243              :                                       }
    8244              :                                   }
    8245              :                                 break;
    8246              :                               }
    8247              :                             default:;
    8248              :                             }
    8249              :                           break;
    8250              :                         }
    8251              :                       default:;
    8252              :                       }
    8253              :                     break;
    8254              :                   }
    8255            0 :                 case EXACT_DIV_EXPR:
    8256            0 :                   {
    8257            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8258            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8259            0 :                     switch (TREE_CODE (_q41))
    8260              :                       {
    8261            0 :                       case INTEGER_CST:
    8262            0 :                         {
    8263            0 :                           if (poly_int_tree_p (_q31))
    8264              :                             {
    8265            0 :                               if (poly_int_tree_p (_p1))
    8266              :                                 {
    8267            0 :                                   {
    8268            0 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _p1 };
    8269            0 :                                     tree res = generic_simplify_193 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    8270            0 :                                     if (res) return res;
    8271              :                                   }
    8272              :                                 }
    8273              :                             }
    8274              :                           break;
    8275              :                         }
    8276              :                       default:;
    8277              :                       }
    8278              :                     break;
    8279              :                   }
    8280              :                 default:;
    8281              :                 }
    8282              :               break;
    8283              :             }
    8284              :           default:;
    8285              :           }
    8286              :         break;
    8287              :       }
    8288        59635 :     case BIT_AND_EXPR:
    8289        59635 :       {
    8290        59635 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8291        59635 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8292        59635 :         switch (TREE_CODE (_q20))
    8293              :           {
    8294          275 :           case RSHIFT_EXPR:
    8295          275 :             {
    8296          275 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8297          275 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8298          275 :               switch (TREE_CODE (_q31))
    8299              :                 {
    8300           14 :                 case INTEGER_CST:
    8301           14 :                   {
    8302           14 :                     switch (TREE_CODE (_q21))
    8303              :                       {
    8304           14 :                       case INTEGER_CST:
    8305           14 :                         {
    8306           14 :                           switch (TREE_CODE (_p1))
    8307              :                             {
    8308           14 :                             case INTEGER_CST:
    8309           14 :                               {
    8310           14 :                                 {
    8311           14 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
    8312           14 :                                   tree res = generic_simplify_190 (loc, type, _p0, _p1, captures);
    8313           14 :                                   if (res) return res;
    8314              :                                 }
    8315            8 :                                 break;
    8316              :                               }
    8317              :                             default:;
    8318              :                             }
    8319              :                           break;
    8320              :                         }
    8321              :                       default:;
    8322              :                       }
    8323              :                     break;
    8324              :                   }
    8325              :                 default:;
    8326              :                 }
    8327              :               break;
    8328              :             }
    8329              :           default:;
    8330              :           }
    8331              :         break;
    8332              :       }
    8333       181505 :     case EXACT_DIV_EXPR:
    8334       181505 :       {
    8335       181505 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8336       181505 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8337       181505 :         switch (TREE_CODE (_p1))
    8338              :           {
    8339          104 :           CASE_CONVERT:
    8340          104 :             {
    8341          104 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8342          104 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
    8343              :                 {
    8344            0 :                   {
    8345            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
    8346            0 :                     tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    8347            0 :                     if (res) return res;
    8348              :                   }
    8349              :                 }
    8350              :               break;
    8351              :             }
    8352       181505 :           default:;
    8353              :           }
    8354       181505 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
    8355              :           {
    8356        21798 :             {
    8357        21798 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
    8358        21798 :               tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    8359        21798 :               if (res) return res;
    8360              :             }
    8361              :           }
    8362       159707 :         switch (TREE_CODE (_q21))
    8363              :           {
    8364       159707 :           case INTEGER_CST:
    8365       159707 :             {
    8366       159707 :               if (poly_int_tree_p (_p1))
    8367              :                 {
    8368       159603 :                   {
    8369       159603 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8370       159603 :                     tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    8371       159603 :                     if (res) return res;
    8372              :                   }
    8373              :                 }
    8374              :               break;
    8375              :             }
    8376              :           default:;
    8377              :           }
    8378              :         break;
    8379              :       }
    8380      7182977 :     case PLUS_EXPR:
    8381      7182977 :       {
    8382      7182977 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8383      7182977 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8384      7182977 :         switch (TREE_CODE (_q20))
    8385              :           {
    8386      3367919 :           CASE_CONVERT:
    8387      3367919 :             {
    8388      3367919 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8389      3367919 :               switch (TREE_CODE (_q30))
    8390              :                 {
    8391         5657 :                 case EXACT_DIV_EXPR:
    8392         5657 :                   {
    8393         5657 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8394         5657 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8395         5657 :                     switch (TREE_CODE (_q41))
    8396              :                       {
    8397         5657 :                       case INTEGER_CST:
    8398         5657 :                         {
    8399         5657 :                           if (poly_int_tree_p (_q21))
    8400              :                             {
    8401         5657 :                               if (poly_int_tree_p (_p1))
    8402              :                                 {
    8403         5657 :                                   {
    8404         5657 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q21, _p1 };
    8405         5657 :                                     tree res = generic_simplify_193 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8406         5657 :                                     if (res) return res;
    8407              :                                   }
    8408              :                                 }
    8409              :                             }
    8410              :                           break;
    8411              :                         }
    8412              :                       default:;
    8413              :                       }
    8414              :                     break;
    8415              :                   }
    8416              :                 default:;
    8417              :                 }
    8418              :               break;
    8419              :             }
    8420            0 :           case EXACT_DIV_EXPR:
    8421            0 :             {
    8422            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8423            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8424            0 :               switch (TREE_CODE (_q31))
    8425              :                 {
    8426            0 :                 case INTEGER_CST:
    8427            0 :                   {
    8428            0 :                     if (poly_int_tree_p (_q21))
    8429              :                       {
    8430            0 :                         if (poly_int_tree_p (_p1))
    8431              :                           {
    8432            0 :                             {
    8433            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
    8434            0 :                               tree res = generic_simplify_193 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8435            0 :                               if (res) return res;
    8436              :                             }
    8437              :                           }
    8438              :                       }
    8439              :                     break;
    8440              :                   }
    8441              :                 default:;
    8442              :                 }
    8443              :               break;
    8444              :             }
    8445              :           default:;
    8446              :           }
    8447              :         break;
    8448              :       }
    8449      1118019 :     case MINUS_EXPR:
    8450      1118019 :       {
    8451      1118019 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8452      1118019 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8453      1118019 :         switch (TREE_CODE (_q20))
    8454              :           {
    8455       264401 :           CASE_CONVERT:
    8456       264401 :             {
    8457       264401 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8458       264401 :               switch (TREE_CODE (_q30))
    8459              :                 {
    8460            0 :                 case EXACT_DIV_EXPR:
    8461            0 :                   {
    8462            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8463            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8464            0 :                     switch (TREE_CODE (_q41))
    8465              :                       {
    8466            0 :                       case INTEGER_CST:
    8467            0 :                         {
    8468            0 :                           if (poly_int_tree_p (_q21))
    8469              :                             {
    8470            0 :                               if (poly_int_tree_p (_p1))
    8471              :                                 {
    8472            0 :                                   {
    8473            0 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q21, _p1 };
    8474            0 :                                     tree res = generic_simplify_193 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    8475            0 :                                     if (res) return res;
    8476              :                                   }
    8477              :                                 }
    8478              :                             }
    8479              :                           break;
    8480              :                         }
    8481              :                       default:;
    8482              :                       }
    8483              :                     break;
    8484              :                   }
    8485              :                 default:;
    8486              :                 }
    8487              :               break;
    8488              :             }
    8489            0 :           case EXACT_DIV_EXPR:
    8490            0 :             {
    8491            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8492            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8493            0 :               switch (TREE_CODE (_q31))
    8494              :                 {
    8495            0 :                 case INTEGER_CST:
    8496            0 :                   {
    8497            0 :                     if (poly_int_tree_p (_q21))
    8498              :                       {
    8499            0 :                         if (poly_int_tree_p (_p1))
    8500              :                           {
    8501            0 :                             {
    8502            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
    8503            0 :                               tree res = generic_simplify_193 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    8504            0 :                               if (res) return res;
    8505              :                             }
    8506              :                           }
    8507              :                       }
    8508              :                     break;
    8509              :                   }
    8510              :                 default:;
    8511              :                 }
    8512              :               break;
    8513              :             }
    8514              :           default:;
    8515              :           }
    8516              :         break;
    8517              :       }
    8518     65571123 :     default:;
    8519              :     }
    8520     65571123 :   if (integer_minus_onep (_p1))
    8521              :     {
    8522       433154 :       {
    8523       433154 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8524       433154 :         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1423;
    8525       433154 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1423;
    8526       433154 :         {
    8527       433154 :           tree res_op0;
    8528       433154 :           res_op0 = captures[0];
    8529       433154 :           tree _r;
    8530       433154 :           _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    8531       433154 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 972, __FILE__, __LINE__, true);
    8532       433154 :           return _r;
    8533              :         }
    8534              : next_after_fail1423:;
    8535              :       }
    8536              :     }
    8537     65137969 :   switch (TREE_CODE (_p0))
    8538              :     {
    8539      4624986 :     case MULT_EXPR:
    8540      4624986 :       {
    8541      4624986 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8542      4624986 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8543      4624986 :         switch (TREE_CODE (_q21))
    8544              :           {
    8545       127995 :           case INTEGER_CST:
    8546       127995 :             {
    8547       127995 :               {
    8548       127995 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8549       127995 :                 tree res = generic_simplify_194 (loc, type, _p0, _p1, captures);
    8550       127995 :                 if (res) return res;
    8551              :               }
    8552           30 :               break;
    8553              :             }
    8554              :           default:;
    8555              :           }
    8556              :         break;
    8557              :       }
    8558     65010004 :     default:;
    8559              :     }
    8560     65010004 :   switch (TREE_CODE (_p1))
    8561              :     {
    8562        23577 :     case MULT_EXPR:
    8563        23577 :       {
    8564        23577 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8565        23577 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8566        23577 :         switch (TREE_CODE (_q31))
    8567              :           {
    8568        17214 :           case INTEGER_CST:
    8569        17214 :             {
    8570        17214 :               {
    8571        17214 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
    8572        17214 :                 tree res = generic_simplify_194 (loc, type, _p0, _p1, captures);
    8573        17214 :                 if (res) return res;
    8574              :               }
    8575            0 :               break;
    8576              :             }
    8577              :           default:;
    8578              :           }
    8579              :         break;
    8580              :       }
    8581     64992790 :     default:;
    8582              :     }
    8583     64992790 :   switch (TREE_CODE (_p0))
    8584              :     {
    8585           36 :     case VEC_COND_EXPR:
    8586           36 :       {
    8587           36 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8588           36 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8589           36 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8590           36 :         switch (TREE_CODE (_p1))
    8591              :           {
    8592            0 :           case VEC_COND_EXPR:
    8593            0 :             {
    8594            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8595            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8596            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8597            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    8598              :                 {
    8599            0 :                   {
    8600            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    8601            0 :                     if (VECTOR_TYPE_P (type)
    8602            0 :  && (TREE_CODE_CLASS (MULT_EXPR) != tcc_comparison
    8603              :  || types_match (type, TREE_TYPE (captures[2]))
    8604              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8605              :  || (optimize_vectors_before_lowering_p ()
    8606              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8607              : )
    8608              :                       {
    8609            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1424;
    8610            0 :                         {
    8611            0 :                           tree res_op0;
    8612            0 :                           res_op0 = captures[1];
    8613            0 :                           tree res_op1;
    8614            0 :                           {
    8615            0 :                             tree _o1[2], _r1;
    8616            0 :                             _o1[0] = captures[2];
    8617            0 :                             _o1[1] = captures[5];
    8618            0 :                             _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8619            0 :                             if (EXPR_P (_r1))
    8620            0 :                               goto next_after_fail1424;
    8621            0 :                             res_op1 = _r1;
    8622              :                           }
    8623            0 :                           tree res_op2;
    8624            0 :                           {
    8625            0 :                             tree _o1[2], _r1;
    8626            0 :                             _o1[0] = captures[3];
    8627            0 :                             _o1[1] = captures[6];
    8628            0 :                             _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8629            0 :                             if (EXPR_P (_r1))
    8630            0 :                               goto next_after_fail1424;
    8631            0 :                             res_op2 = _r1;
    8632              :                           }
    8633            0 :                           tree _r;
    8634            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8635            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 890, __FILE__, __LINE__, true);
    8636            0 :                           return _r;
    8637              :                         }
    8638            0 : next_after_fail1424:;
    8639              :                       }
    8640              :                   }
    8641              :                 }
    8642              :               break;
    8643              :             }
    8644           36 :           default:;
    8645              :           }
    8646           36 :         {
    8647           36 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    8648           36 :           if (VECTOR_TYPE_P (type)
    8649           36 :  && (TREE_CODE_CLASS (MULT_EXPR) != tcc_comparison
    8650              :  || types_match (type, TREE_TYPE (captures[2]))
    8651              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8652              :  || (optimize_vectors_before_lowering_p ()
    8653              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8654              : )
    8655              :             {
    8656           36 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1425;
    8657           36 :               {
    8658           36 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1425;
    8659            0 :                 tree res_op0;
    8660            0 :                 res_op0 = captures[1];
    8661            0 :                 tree res_op1;
    8662            0 :                 {
    8663            0 :                   tree _o1[2], _r1;
    8664            0 :                   _o1[0] = captures[2];
    8665            0 :                   _o1[1] = unshare_expr (captures[4]);
    8666            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8667            0 :                   if (EXPR_P (_r1))
    8668            0 :                     goto next_after_fail1425;
    8669            0 :                   res_op1 = _r1;
    8670              :                 }
    8671            0 :                 tree res_op2;
    8672            0 :                 {
    8673            0 :                   tree _o1[2], _r1;
    8674            0 :                   _o1[0] = captures[3];
    8675            0 :                   _o1[1] = captures[4];
    8676            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8677            0 :                   if (EXPR_P (_r1))
    8678            0 :                     goto next_after_fail1425;
    8679            0 :                   res_op2 = _r1;
    8680              :                 }
    8681            0 :                 tree _r;
    8682            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8683            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    8684            0 :                 return _r;
    8685              :               }
    8686           36 : next_after_fail1425:;
    8687              :             }
    8688              :         }
    8689           36 :         break;
    8690              :       }
    8691     64992790 :     default:;
    8692              :     }
    8693     64992790 :   switch (TREE_CODE (_p1))
    8694              :     {
    8695            0 :     case VEC_COND_EXPR:
    8696            0 :       {
    8697            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8698            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8699            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8700            0 :         {
    8701            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8702            0 :           if (VECTOR_TYPE_P (type)
    8703            0 :  && (TREE_CODE_CLASS (MULT_EXPR) != tcc_comparison
    8704              :  || types_match (type, TREE_TYPE (captures[3]))
    8705              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    8706              :  || (optimize_vectors_before_lowering_p ()
    8707              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    8708              : )
    8709              :             {
    8710            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1426;
    8711            0 :               {
    8712            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1426;
    8713            0 :                 tree res_op0;
    8714            0 :                 res_op0 = captures[2];
    8715            0 :                 tree res_op1;
    8716            0 :                 {
    8717            0 :                   tree _o1[2], _r1;
    8718            0 :                   _o1[0] = unshare_expr (captures[0]);
    8719            0 :                   _o1[1] = captures[3];
    8720            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8721            0 :                   if (EXPR_P (_r1))
    8722            0 :                     goto next_after_fail1426;
    8723            0 :                   res_op1 = _r1;
    8724              :                 }
    8725            0 :                 tree res_op2;
    8726            0 :                 {
    8727            0 :                   tree _o1[2], _r1;
    8728            0 :                   _o1[0] = captures[0];
    8729            0 :                   _o1[1] = captures[4];
    8730            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8731            0 :                   if (EXPR_P (_r1))
    8732            0 :                     goto next_after_fail1426;
    8733            0 :                   res_op2 = _r1;
    8734              :                 }
    8735            0 :                 tree _r;
    8736            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8737            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
    8738            0 :                 return _r;
    8739              :               }
    8740            0 : next_after_fail1426:;
    8741              :             }
    8742              :         }
    8743            0 :         break;
    8744              :       }
    8745     64992790 :     default:;
    8746              :     }
    8747     64992790 :   switch (TREE_CODE (_p0))
    8748              :     {
    8749         2384 :     case REAL_CST:
    8750         2384 :       {
    8751         2384 :         switch (TREE_CODE (_p1))
    8752              :           {
    8753            0 :           case CALL_EXPR:
    8754            0 :             switch (get_call_combined_fn (_p1))
    8755              :               {
    8756            0 :               case CFN_BUILT_IN_LDEXPF:
    8757            0 :                 if (call_expr_nargs (_p1) == 2)
    8758              :     {
    8759            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    8760            0 :                     tree _q31 = CALL_EXPR_ARG (_p1, 1);
    8761            0 :                     {
    8762            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    8763            0 :                       tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPF);
    8764            0 :                       if (res) return res;
    8765              :                     }
    8766              :                   }
    8767              :                 break;
    8768            0 :               case CFN_BUILT_IN_LDEXPL:
    8769            0 :                 if (call_expr_nargs (_p1) == 2)
    8770              :     {
    8771            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    8772            0 :                     tree _q31 = CALL_EXPR_ARG (_p1, 1);
    8773            0 :                     {
    8774            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    8775            0 :                       tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPL);
    8776            0 :                       if (res) return res;
    8777              :                     }
    8778              :                   }
    8779              :                 break;
    8780            0 :               case CFN_LDEXP:
    8781            0 :                 if (call_expr_nargs (_p1) == 2)
    8782              :     {
    8783            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    8784            0 :                     tree _q31 = CALL_EXPR_ARG (_p1, 1);
    8785            0 :                     {
    8786            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    8787            0 :                       tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_LDEXP);
    8788            0 :                       if (res) return res;
    8789              :                     }
    8790              :                   }
    8791              :                 break;
    8792            0 :               case CFN_BUILT_IN_LDEXP:
    8793            0 :                 if (call_expr_nargs (_p1) == 2)
    8794              :     {
    8795            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    8796            0 :                     tree _q31 = CALL_EXPR_ARG (_p1, 1);
    8797            0 :                     {
    8798            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    8799            0 :                       tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXP);
    8800            0 :                       if (res) return res;
    8801              :                     }
    8802              :                   }
    8803              :                 break;
    8804              :               default:;
    8805              :               }
    8806              :             break;
    8807              :           default:;
    8808              :           }
    8809              :         break;
    8810              :       }
    8811      2414243 :     case CALL_EXPR:
    8812      2414243 :       switch (get_call_combined_fn (_p0))
    8813              :         {
    8814           55 :         case CFN_BUILT_IN_SQRTF:
    8815           55 :           if (call_expr_nargs (_p0) == 1)
    8816              :     {
    8817           55 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8818           55 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8819              :                 {
    8820            0 :                   {
    8821            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    8822            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF);
    8823            0 :                     if (res) return res;
    8824              :                   }
    8825              :                 }
    8826           55 :               switch (TREE_CODE (_p1))
    8827              :                 {
    8828           13 :                 case CALL_EXPR:
    8829           13 :                   switch (get_call_combined_fn (_p1))
    8830              :                     {
    8831           13 :                     case CFN_BUILT_IN_SQRTF:
    8832           13 :                       if (call_expr_nargs (_p1) == 1)
    8833              :     {
    8834           13 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8835           13 :                           {
    8836           13 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8837           13 :                             if (flag_unsafe_math_optimizations
    8838              : )
    8839              :                               {
    8840           13 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1427;
    8841           13 :                                 {
    8842           13 :                                   tree res_op0;
    8843           13 :                                   {
    8844           13 :                                     tree _o1[2], _r1;
    8845           13 :                                     _o1[0] = captures[1];
    8846           13 :                                     _o1[1] = captures[3];
    8847           13 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8848           13 :                                     res_op0 = _r1;
    8849              :                                   }
    8850           13 :                                   tree _r;
    8851           13 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTF, type, 1, res_op0);
    8852           13 :                                   if (!_r)
    8853            0 :                                     goto next_after_fail1427;
    8854           13 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 973, __FILE__, __LINE__, true);
    8855           13 :                                   return _r;
    8856              :                                 }
    8857            0 : next_after_fail1427:;
    8858              :                               }
    8859              :                           }
    8860              :                         }
    8861              :                       break;
    8862              :                     default:;
    8863              :                     }
    8864              :                   break;
    8865              :                 default:;
    8866              :                 }
    8867              :             }
    8868              :           break;
    8869           48 :         case CFN_BUILT_IN_SQRTL:
    8870           48 :           if (call_expr_nargs (_p0) == 1)
    8871              :     {
    8872           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8873           48 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8874              :                 {
    8875            0 :                   {
    8876            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    8877            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL);
    8878            0 :                     if (res) return res;
    8879              :                   }
    8880              :                 }
    8881           48 :               switch (TREE_CODE (_p1))
    8882              :                 {
    8883           13 :                 case CALL_EXPR:
    8884           13 :                   switch (get_call_combined_fn (_p1))
    8885              :                     {
    8886           13 :                     case CFN_BUILT_IN_SQRTL:
    8887           13 :                       if (call_expr_nargs (_p1) == 1)
    8888              :     {
    8889           13 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8890           13 :                           {
    8891           13 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8892           13 :                             if (flag_unsafe_math_optimizations
    8893              : )
    8894              :                               {
    8895           13 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1428;
    8896           13 :                                 {
    8897           13 :                                   tree res_op0;
    8898           13 :                                   {
    8899           13 :                                     tree _o1[2], _r1;
    8900           13 :                                     _o1[0] = captures[1];
    8901           13 :                                     _o1[1] = captures[3];
    8902           13 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8903           13 :                                     res_op0 = _r1;
    8904              :                                   }
    8905           13 :                                   tree _r;
    8906           13 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTL, type, 1, res_op0);
    8907           13 :                                   if (!_r)
    8908            0 :                                     goto next_after_fail1428;
    8909           13 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 973, __FILE__, __LINE__, true);
    8910           13 :                                   return _r;
    8911              :                                 }
    8912            0 : next_after_fail1428:;
    8913              :                               }
    8914              :                           }
    8915              :                         }
    8916              :                       break;
    8917              :                     default:;
    8918              :                     }
    8919              :                   break;
    8920              :                 default:;
    8921              :                 }
    8922              :             }
    8923              :           break;
    8924          287 :         case CFN_BUILT_IN_EXP:
    8925          287 :           if (call_expr_nargs (_p0) == 1)
    8926              :     {
    8927          287 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8928          287 :               switch (TREE_CODE (_p1))
    8929              :                 {
    8930           81 :                 case CALL_EXPR:
    8931           81 :                   switch (get_call_combined_fn (_p1))
    8932              :                     {
    8933           31 :                     case CFN_BUILT_IN_EXP:
    8934           31 :                       if (call_expr_nargs (_p1) == 1)
    8935              :     {
    8936           31 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8937           31 :                           {
    8938           31 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8939           31 :                             if (flag_unsafe_math_optimizations
    8940              : )
    8941              :                               {
    8942           27 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1429;
    8943           27 :                                 {
    8944           27 :                                   tree res_op0;
    8945           27 :                                   {
    8946           27 :                                     tree _o1[2], _r1;
    8947           27 :                                     _o1[0] = captures[1];
    8948           27 :                                     _o1[1] = captures[3];
    8949           27 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8950           27 :                                     res_op0 = _r1;
    8951              :                                   }
    8952           27 :                                   tree _r;
    8953           27 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, type, 1, res_op0);
    8954           27 :                                   if (!_r)
    8955            0 :                                     goto next_after_fail1429;
    8956           27 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 974, __FILE__, __LINE__, true);
    8957           27 :                                   return _r;
    8958              :                                 }
    8959            4 : next_after_fail1429:;
    8960              :                               }
    8961              :                           }
    8962              :                         }
    8963              :                       break;
    8964            0 :                     case CFN_BUILT_IN_POW:
    8965            0 :                       if (call_expr_nargs (_p1) == 2)
    8966              :     {
    8967            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8968            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    8969            0 :                           switch (TREE_CODE (_q40))
    8970              :                             {
    8971            0 :                             case REAL_CST:
    8972            0 :                               {
    8973            0 :                                 {
    8974            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    8975            0 :                                   if (flag_unsafe_math_optimizations
    8976              : )
    8977              :                                     {
    8978            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    8979            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    8980              : )
    8981              :                                         {
    8982            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1430;
    8983            0 :                                           {
    8984            0 :                                             tree res_op0;
    8985            0 :                                             {
    8986            0 :                                               tree _o1[2], _r1;
    8987            0 :                                               {
    8988            0 :                                                 tree _o2[2], _r2;
    8989            0 :                                                 {
    8990            0 :                                                   tree _o3[1], _r3;
    8991            0 :                                                   _o3[0] = captures[1];
    8992            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
    8993            0 :                                                   if (!_r3)
    8994            0 :                                                     goto next_after_fail1430;
    8995            0 :                                                   _o2[0] = _r3;
    8996              :                                                 }
    8997            0 :                                                 _o2[1] = captures[2];
    8998            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8999            0 :                                                 _o1[0] = _r2;
    9000              :                                               }
    9001            0 :                                               _o1[1] = captures[4];
    9002            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9003            0 :                                               res_op0 = _r1;
    9004              :                                             }
    9005            0 :                                             tree _r;
    9006            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, type, 1, res_op0);
    9007            0 :                                             if (!_r)
    9008            0 :                                               goto next_after_fail1430;
    9009            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
    9010            0 :                                             return _r;
    9011              :                                           }
    9012            0 : next_after_fail1430:;
    9013              :                                         }
    9014              :                                     }
    9015              :                                 }
    9016            0 :                                 break;
    9017              :                               }
    9018              :                             default:;
    9019              :                             }
    9020              :                         }
    9021              :                       break;
    9022              :                     default:;
    9023              :                     }
    9024              :                   break;
    9025              :                 default:;
    9026              :                 }
    9027              :             }
    9028              :           break;
    9029          123 :         case CFN_BUILT_IN_POW:
    9030          123 :           if (call_expr_nargs (_p0) == 2)
    9031              :     {
    9032          123 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9033          123 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    9034          123 :               switch (TREE_CODE (_q20))
    9035              :                 {
    9036            1 :                 case REAL_CST:
    9037            1 :                   {
    9038            1 :                     switch (TREE_CODE (_p1))
    9039              :                       {
    9040            1 :                       case CALL_EXPR:
    9041            1 :                         switch (get_call_combined_fn (_p1))
    9042              :                           {
    9043            0 :                           case CFN_BUILT_IN_EXP:
    9044            0 :                             if (call_expr_nargs (_p1) == 1)
    9045              :     {
    9046            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9047            0 :                                 {
    9048            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9049            0 :                                   if (flag_unsafe_math_optimizations
    9050              : )
    9051              :                                     {
    9052            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9053            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9054              : )
    9055              :                                         {
    9056            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1431;
    9057            0 :                                           {
    9058            0 :                                             tree res_op0;
    9059            0 :                                             {
    9060            0 :                                               tree _o1[2], _r1;
    9061            0 :                                               {
    9062            0 :                                                 tree _o2[2], _r2;
    9063            0 :                                                 {
    9064            0 :                                                   tree _o3[1], _r3;
    9065            0 :                                                   _o3[0] = captures[1];
    9066            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9067            0 :                                                   if (!_r3)
    9068            0 :                                                     goto next_after_fail1431;
    9069            0 :                                                   _o2[0] = _r3;
    9070              :                                                 }
    9071            0 :                                                 _o2[1] = captures[2];
    9072            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9073            0 :                                                 _o1[0] = _r2;
    9074              :                                               }
    9075            0 :                                               _o1[1] = captures[4];
    9076            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9077            0 :                                               res_op0 = _r1;
    9078              :                                             }
    9079            0 :                                             tree _r;
    9080            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, type, 1, res_op0);
    9081            0 :                                             if (!_r)
    9082            0 :                                               goto next_after_fail1431;
    9083            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
    9084            0 :                                             return _r;
    9085              :                                           }
    9086            0 : next_after_fail1431:;
    9087              :                                         }
    9088              :                                     }
    9089              :                                 }
    9090              :                               }
    9091              :                             break;
    9092            0 :                           case CFN_BUILT_IN_EXP2:
    9093            0 :                             if (call_expr_nargs (_p1) == 1)
    9094              :     {
    9095            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9096            0 :                                 {
    9097            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9098            0 :                                   if (flag_unsafe_math_optimizations
    9099              : )
    9100              :                                     {
    9101            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9102            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9103              : )
    9104              :                                         {
    9105            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1432;
    9106            0 :                                           {
    9107            0 :                                             tree res_op0;
    9108            0 :                                             {
    9109            0 :                                               tree _o1[2], _r1;
    9110            0 :                                               {
    9111            0 :                                                 tree _o2[2], _r2;
    9112            0 :                                                 {
    9113            0 :                                                   tree _o3[1], _r3;
    9114            0 :                                                   _o3[0] = captures[1];
    9115            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9116            0 :                                                   if (!_r3)
    9117            0 :                                                     goto next_after_fail1432;
    9118            0 :                                                   _o2[0] = _r3;
    9119              :                                                 }
    9120            0 :                                                 _o2[1] = captures[2];
    9121            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9122            0 :                                                 _o1[0] = _r2;
    9123              :                                               }
    9124            0 :                                               _o1[1] = captures[4];
    9125            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9126            0 :                                               res_op0 = _r1;
    9127              :                                             }
    9128            0 :                                             tree _r;
    9129            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, type, 1, res_op0);
    9130            0 :                                             if (!_r)
    9131            0 :                                               goto next_after_fail1432;
    9132            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
    9133            0 :                                             return _r;
    9134              :                                           }
    9135            0 : next_after_fail1432:;
    9136              :                                         }
    9137              :                                     }
    9138              :                                 }
    9139              :                               }
    9140              :                             break;
    9141            0 :                           case CFN_BUILT_IN_EXP10:
    9142            0 :                             if (call_expr_nargs (_p1) == 1)
    9143              :     {
    9144            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9145            0 :                                 {
    9146            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9147            0 :                                   if (flag_unsafe_math_optimizations
    9148              : )
    9149              :                                     {
    9150            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9151            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9152              : )
    9153              :                                         {
    9154            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1433;
    9155            0 :                                           {
    9156            0 :                                             tree res_op0;
    9157            0 :                                             {
    9158            0 :                                               tree _o1[2], _r1;
    9159            0 :                                               {
    9160            0 :                                                 tree _o2[2], _r2;
    9161            0 :                                                 {
    9162            0 :                                                   tree _o3[1], _r3;
    9163            0 :                                                   _o3[0] = captures[1];
    9164            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9165            0 :                                                   if (!_r3)
    9166            0 :                                                     goto next_after_fail1433;
    9167            0 :                                                   _o2[0] = _r3;
    9168              :                                                 }
    9169            0 :                                                 _o2[1] = captures[2];
    9170            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9171            0 :                                                 _o1[0] = _r2;
    9172              :                                               }
    9173            0 :                                               _o1[1] = captures[4];
    9174            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9175            0 :                                               res_op0 = _r1;
    9176              :                                             }
    9177            0 :                                             tree _r;
    9178            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, type, 1, res_op0);
    9179            0 :                                             if (!_r)
    9180            0 :                                               goto next_after_fail1433;
    9181            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
    9182            0 :                                             return _r;
    9183              :                                           }
    9184            0 : next_after_fail1433:;
    9185              :                                         }
    9186              :                                     }
    9187              :                                 }
    9188              :                               }
    9189              :                             break;
    9190            0 :                           case CFN_BUILT_IN_POW10:
    9191            0 :                             if (call_expr_nargs (_p1) == 1)
    9192              :     {
    9193            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9194            0 :                                 {
    9195            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9196            0 :                                   if (flag_unsafe_math_optimizations
    9197              : )
    9198              :                                     {
    9199            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9200            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9201              : )
    9202              :                                         {
    9203            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1434;
    9204            0 :                                           {
    9205            0 :                                             tree res_op0;
    9206            0 :                                             {
    9207            0 :                                               tree _o1[2], _r1;
    9208            0 :                                               {
    9209            0 :                                                 tree _o2[2], _r2;
    9210            0 :                                                 {
    9211            0 :                                                   tree _o3[1], _r3;
    9212            0 :                                                   _o3[0] = captures[1];
    9213            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9214            0 :                                                   if (!_r3)
    9215            0 :                                                     goto next_after_fail1434;
    9216            0 :                                                   _o2[0] = _r3;
    9217              :                                                 }
    9218            0 :                                                 _o2[1] = captures[2];
    9219            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9220            0 :                                                 _o1[0] = _r2;
    9221              :                                               }
    9222            0 :                                               _o1[1] = captures[4];
    9223            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9224            0 :                                               res_op0 = _r1;
    9225              :                                             }
    9226            0 :                                             tree _r;
    9227            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, type, 1, res_op0);
    9228            0 :                                             if (!_r)
    9229            0 :                                               goto next_after_fail1434;
    9230            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
    9231            0 :                                             return _r;
    9232              :                                           }
    9233            0 : next_after_fail1434:;
    9234              :                                         }
    9235              :                                     }
    9236              :                                 }
    9237              :                               }
    9238              :                             break;
    9239              :                           default:;
    9240              :                           }
    9241              :                         break;
    9242              :                       default:;
    9243              :                       }
    9244              :                     break;
    9245              :                   }
    9246          123 :                 default:;
    9247              :                 }
    9248          123 :               switch (TREE_CODE (_q21))
    9249              :                 {
    9250           12 :                 case REAL_CST:
    9251           12 :                   {
    9252           12 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9253              :                       {
    9254            8 :                         {
    9255            8 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    9256            8 :                           tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
    9257            8 :                           if (res) return res;
    9258              :                         }
    9259              :                       }
    9260              :                     break;
    9261              :                   }
    9262              :                 default:;
    9263              :                 }
    9264              :             }
    9265              :           break;
    9266           48 :         case CFN_BUILT_IN_EXP10F:
    9267           48 :           if (call_expr_nargs (_p0) == 1)
    9268              :     {
    9269           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9270           48 :               switch (TREE_CODE (_p1))
    9271              :                 {
    9272           24 :                 case CALL_EXPR:
    9273           24 :                   switch (get_call_combined_fn (_p1))
    9274              :                     {
    9275           24 :                     case CFN_BUILT_IN_EXP10F:
    9276           24 :                       if (call_expr_nargs (_p1) == 1)
    9277              :     {
    9278           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9279           24 :                           {
    9280           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9281           24 :                             if (flag_unsafe_math_optimizations
    9282              : )
    9283              :                               {
    9284           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1435;
    9285           24 :                                 {
    9286           24 :                                   tree res_op0;
    9287           24 :                                   {
    9288           24 :                                     tree _o1[2], _r1;
    9289           24 :                                     _o1[0] = captures[1];
    9290           24 :                                     _o1[1] = captures[3];
    9291           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9292           24 :                                     res_op0 = _r1;
    9293              :                                   }
    9294           24 :                                   tree _r;
    9295           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, type, 1, res_op0);
    9296           24 :                                   if (!_r)
    9297            0 :                                     goto next_after_fail1435;
    9298           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 974, __FILE__, __LINE__, true);
    9299           24 :                                   return _r;
    9300              :                                 }
    9301            0 : next_after_fail1435:;
    9302              :                               }
    9303              :                           }
    9304              :                         }
    9305              :                       break;
    9306            0 :                     case CFN_BUILT_IN_POWF:
    9307            0 :                       if (call_expr_nargs (_p1) == 2)
    9308              :     {
    9309            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9310            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9311            0 :                           switch (TREE_CODE (_q40))
    9312              :                             {
    9313            0 :                             case REAL_CST:
    9314            0 :                               {
    9315            0 :                                 {
    9316            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9317            0 :                                   if (flag_unsafe_math_optimizations
    9318              : )
    9319              :                                     {
    9320            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9321            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9322              : )
    9323              :                                         {
    9324            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1436;
    9325            0 :                                           {
    9326            0 :                                             tree res_op0;
    9327            0 :                                             {
    9328            0 :                                               tree _o1[2], _r1;
    9329            0 :                                               {
    9330            0 :                                                 tree _o2[2], _r2;
    9331            0 :                                                 {
    9332            0 :                                                   tree _o3[1], _r3;
    9333            0 :                                                   _o3[0] = captures[1];
    9334            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9335            0 :                                                   if (!_r3)
    9336            0 :                                                     goto next_after_fail1436;
    9337            0 :                                                   _o2[0] = _r3;
    9338              :                                                 }
    9339            0 :                                                 _o2[1] = captures[2];
    9340            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9341            0 :                                                 _o1[0] = _r2;
    9342              :                                               }
    9343            0 :                                               _o1[1] = captures[4];
    9344            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9345            0 :                                               res_op0 = _r1;
    9346              :                                             }
    9347            0 :                                             tree _r;
    9348            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, type, 1, res_op0);
    9349            0 :                                             if (!_r)
    9350            0 :                                               goto next_after_fail1436;
    9351            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
    9352            0 :                                             return _r;
    9353              :                                           }
    9354            0 : next_after_fail1436:;
    9355              :                                         }
    9356              :                                     }
    9357              :                                 }
    9358            0 :                                 break;
    9359              :                               }
    9360              :                             default:;
    9361              :                             }
    9362              :                         }
    9363              :                       break;
    9364              :                     default:;
    9365              :                     }
    9366              :                   break;
    9367              :                 default:;
    9368              :                 }
    9369              :             }
    9370              :           break;
    9371           48 :         case CFN_BUILT_IN_EXP10L:
    9372           48 :           if (call_expr_nargs (_p0) == 1)
    9373              :     {
    9374           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9375           48 :               switch (TREE_CODE (_p1))
    9376              :                 {
    9377           24 :                 case CALL_EXPR:
    9378           24 :                   switch (get_call_combined_fn (_p1))
    9379              :                     {
    9380           24 :                     case CFN_BUILT_IN_EXP10L:
    9381           24 :                       if (call_expr_nargs (_p1) == 1)
    9382              :     {
    9383           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9384           24 :                           {
    9385           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9386           24 :                             if (flag_unsafe_math_optimizations
    9387              : )
    9388              :                               {
    9389           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1437;
    9390           24 :                                 {
    9391           24 :                                   tree res_op0;
    9392           24 :                                   {
    9393           24 :                                     tree _o1[2], _r1;
    9394           24 :                                     _o1[0] = captures[1];
    9395           24 :                                     _o1[1] = captures[3];
    9396           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9397           24 :                                     res_op0 = _r1;
    9398              :                                   }
    9399           24 :                                   tree _r;
    9400           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, type, 1, res_op0);
    9401           24 :                                   if (!_r)
    9402            0 :                                     goto next_after_fail1437;
    9403           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 974, __FILE__, __LINE__, true);
    9404           24 :                                   return _r;
    9405              :                                 }
    9406            0 : next_after_fail1437:;
    9407              :                               }
    9408              :                           }
    9409              :                         }
    9410              :                       break;
    9411            0 :                     case CFN_BUILT_IN_POWL:
    9412            0 :                       if (call_expr_nargs (_p1) == 2)
    9413              :     {
    9414            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9415            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9416            0 :                           switch (TREE_CODE (_q40))
    9417              :                             {
    9418            0 :                             case REAL_CST:
    9419            0 :                               {
    9420            0 :                                 {
    9421            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9422            0 :                                   if (flag_unsafe_math_optimizations
    9423              : )
    9424              :                                     {
    9425            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9426            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9427              : )
    9428              :                                         {
    9429            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1438;
    9430            0 :                                           {
    9431            0 :                                             tree res_op0;
    9432            0 :                                             {
    9433            0 :                                               tree _o1[2], _r1;
    9434            0 :                                               {
    9435            0 :                                                 tree _o2[2], _r2;
    9436            0 :                                                 {
    9437            0 :                                                   tree _o3[1], _r3;
    9438            0 :                                                   _o3[0] = captures[1];
    9439            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9440            0 :                                                   if (!_r3)
    9441            0 :                                                     goto next_after_fail1438;
    9442            0 :                                                   _o2[0] = _r3;
    9443              :                                                 }
    9444            0 :                                                 _o2[1] = captures[2];
    9445            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9446            0 :                                                 _o1[0] = _r2;
    9447              :                                               }
    9448            0 :                                               _o1[1] = captures[4];
    9449            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9450            0 :                                               res_op0 = _r1;
    9451              :                                             }
    9452            0 :                                             tree _r;
    9453            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, type, 1, res_op0);
    9454            0 :                                             if (!_r)
    9455            0 :                                               goto next_after_fail1438;
    9456            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
    9457            0 :                                             return _r;
    9458              :                                           }
    9459            0 : next_after_fail1438:;
    9460              :                                         }
    9461              :                                     }
    9462              :                                 }
    9463            0 :                                 break;
    9464              :                               }
    9465              :                             default:;
    9466              :                             }
    9467              :                         }
    9468              :                       break;
    9469              :                     default:;
    9470              :                     }
    9471              :                   break;
    9472              :                 default:;
    9473              :                 }
    9474              :             }
    9475              :           break;
    9476           18 :         case CFN_BUILT_IN_CBRT:
    9477           18 :           if (call_expr_nargs (_p0) == 1)
    9478              :     {
    9479           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9480           18 :               switch (TREE_CODE (_p1))
    9481              :                 {
    9482           14 :                 case CALL_EXPR:
    9483           14 :                   switch (get_call_combined_fn (_p1))
    9484              :                     {
    9485           14 :                     case CFN_BUILT_IN_CBRT:
    9486           14 :                       if (call_expr_nargs (_p1) == 1)
    9487              :     {
    9488           14 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9489           14 :                           {
    9490           14 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9491           14 :                             if (flag_unsafe_math_optimizations
    9492              : )
    9493              :                               {
    9494           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1439;
    9495           12 :                                 {
    9496           12 :                                   tree res_op0;
    9497           12 :                                   {
    9498           12 :                                     tree _o1[2], _r1;
    9499           12 :                                     _o1[0] = captures[1];
    9500           12 :                                     _o1[1] = captures[3];
    9501           12 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9502           12 :                                     res_op0 = _r1;
    9503              :                                   }
    9504           12 :                                   tree _r;
    9505           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRT, type, 1, res_op0);
    9506           12 :                                   if (!_r)
    9507            0 :                                     goto next_after_fail1439;
    9508           12 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 973, __FILE__, __LINE__, true);
    9509           12 :                                   return _r;
    9510              :                                 }
    9511            2 : next_after_fail1439:;
    9512              :                               }
    9513              :                           }
    9514              :                         }
    9515              :                       break;
    9516              :                     default:;
    9517              :                     }
    9518              :                   break;
    9519              :                 default:;
    9520              :                 }
    9521              :             }
    9522              :           break;
    9523           48 :         case CFN_BUILT_IN_EXP2:
    9524           48 :           if (call_expr_nargs (_p0) == 1)
    9525              :     {
    9526           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9527           48 :               switch (TREE_CODE (_p1))
    9528              :                 {
    9529           24 :                 case CALL_EXPR:
    9530           24 :                   switch (get_call_combined_fn (_p1))
    9531              :                     {
    9532            0 :                     case CFN_BUILT_IN_POW:
    9533            0 :                       if (call_expr_nargs (_p1) == 2)
    9534              :     {
    9535            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9536            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9537            0 :                           switch (TREE_CODE (_q40))
    9538              :                             {
    9539            0 :                             case REAL_CST:
    9540            0 :                               {
    9541            0 :                                 {
    9542            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9543            0 :                                   if (flag_unsafe_math_optimizations
    9544              : )
    9545              :                                     {
    9546            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9547            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9548              : )
    9549              :                                         {
    9550            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1440;
    9551            0 :                                           {
    9552            0 :                                             tree res_op0;
    9553            0 :                                             {
    9554            0 :                                               tree _o1[2], _r1;
    9555            0 :                                               {
    9556            0 :                                                 tree _o2[2], _r2;
    9557            0 :                                                 {
    9558            0 :                                                   tree _o3[1], _r3;
    9559            0 :                                                   _o3[0] = captures[1];
    9560            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9561            0 :                                                   if (!_r3)
    9562            0 :                                                     goto next_after_fail1440;
    9563            0 :                                                   _o2[0] = _r3;
    9564              :                                                 }
    9565            0 :                                                 _o2[1] = captures[2];
    9566            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9567            0 :                                                 _o1[0] = _r2;
    9568              :                                               }
    9569            0 :                                               _o1[1] = captures[4];
    9570            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9571            0 :                                               res_op0 = _r1;
    9572              :                                             }
    9573            0 :                                             tree _r;
    9574            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, type, 1, res_op0);
    9575            0 :                                             if (!_r)
    9576            0 :                                               goto next_after_fail1440;
    9577            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
    9578            0 :                                             return _r;
    9579              :                                           }
    9580            0 : next_after_fail1440:;
    9581              :                                         }
    9582              :                                     }
    9583              :                                 }
    9584            0 :                                 break;
    9585              :                               }
    9586              :                             default:;
    9587              :                             }
    9588              :                         }
    9589              :                       break;
    9590           24 :                     case CFN_BUILT_IN_EXP2:
    9591           24 :                       if (call_expr_nargs (_p1) == 1)
    9592              :     {
    9593           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9594           24 :                           {
    9595           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9596           24 :                             if (flag_unsafe_math_optimizations
    9597              : )
    9598              :                               {
    9599           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1441;
    9600           24 :                                 {
    9601           24 :                                   tree res_op0;
    9602           24 :                                   {
    9603           24 :                                     tree _o1[2], _r1;
    9604           24 :                                     _o1[0] = captures[1];
    9605           24 :                                     _o1[1] = captures[3];
    9606           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9607           24 :                                     res_op0 = _r1;
    9608              :                                   }
    9609           24 :                                   tree _r;
    9610           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, type, 1, res_op0);
    9611           24 :                                   if (!_r)
    9612            0 :                                     goto next_after_fail1441;
    9613           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 974, __FILE__, __LINE__, true);
    9614           24 :                                   return _r;
    9615              :                                 }
    9616            0 : next_after_fail1441:;
    9617              :                               }
    9618              :                           }
    9619              :                         }
    9620              :                       break;
    9621              :                     default:;
    9622              :                     }
    9623              :                   break;
    9624              :                 default:;
    9625              :                 }
    9626              :             }
    9627              :           break;
    9628           66 :         case CFN_BUILT_IN_EXPF:
    9629           66 :           if (call_expr_nargs (_p0) == 1)
    9630              :     {
    9631           66 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9632           66 :               switch (TREE_CODE (_p1))
    9633              :                 {
    9634           36 :                 case CALL_EXPR:
    9635           36 :                   switch (get_call_combined_fn (_p1))
    9636              :                     {
    9637           29 :                     case CFN_BUILT_IN_EXPF:
    9638           29 :                       if (call_expr_nargs (_p1) == 1)
    9639              :     {
    9640           29 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9641           29 :                           {
    9642           29 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9643           29 :                             if (flag_unsafe_math_optimizations
    9644              : )
    9645              :                               {
    9646           25 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1442;
    9647           25 :                                 {
    9648           25 :                                   tree res_op0;
    9649           25 :                                   {
    9650           25 :                                     tree _o1[2], _r1;
    9651           25 :                                     _o1[0] = captures[1];
    9652           25 :                                     _o1[1] = captures[3];
    9653           25 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9654           25 :                                     res_op0 = _r1;
    9655              :                                   }
    9656           25 :                                   tree _r;
    9657           25 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, type, 1, res_op0);
    9658           25 :                                   if (!_r)
    9659            0 :                                     goto next_after_fail1442;
    9660           25 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 974, __FILE__, __LINE__, true);
    9661           25 :                                   return _r;
    9662              :                                 }
    9663            4 : next_after_fail1442:;
    9664              :                               }
    9665              :                           }
    9666              :                         }
    9667              :                       break;
    9668            0 :                     case CFN_BUILT_IN_POWF:
    9669            0 :                       if (call_expr_nargs (_p1) == 2)
    9670              :     {
    9671            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9672            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9673            0 :                           switch (TREE_CODE (_q40))
    9674              :                             {
    9675            0 :                             case REAL_CST:
    9676            0 :                               {
    9677            0 :                                 {
    9678            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9679            0 :                                   if (flag_unsafe_math_optimizations
    9680              : )
    9681              :                                     {
    9682            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9683            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9684              : )
    9685              :                                         {
    9686            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1443;
    9687            0 :                                           {
    9688            0 :                                             tree res_op0;
    9689            0 :                                             {
    9690            0 :                                               tree _o1[2], _r1;
    9691            0 :                                               {
    9692            0 :                                                 tree _o2[2], _r2;
    9693            0 :                                                 {
    9694            0 :                                                   tree _o3[1], _r3;
    9695            0 :                                                   _o3[0] = captures[1];
    9696            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOGF, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9697            0 :                                                   if (!_r3)
    9698            0 :                                                     goto next_after_fail1443;
    9699            0 :                                                   _o2[0] = _r3;
    9700              :                                                 }
    9701            0 :                                                 _o2[1] = captures[2];
    9702            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9703            0 :                                                 _o1[0] = _r2;
    9704              :                                               }
    9705            0 :                                               _o1[1] = captures[4];
    9706            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9707            0 :                                               res_op0 = _r1;
    9708              :                                             }
    9709            0 :                                             tree _r;
    9710            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, type, 1, res_op0);
    9711            0 :                                             if (!_r)
    9712            0 :                                               goto next_after_fail1443;
    9713            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
    9714            0 :                                             return _r;
    9715              :                                           }
    9716            0 : next_after_fail1443:;
    9717              :                                         }
    9718              :                                     }
    9719              :                                 }
    9720            0 :                                 break;
    9721              :                               }
    9722              :                             default:;
    9723              :                             }
    9724              :                         }
    9725              :                       break;
    9726              :                     default:;
    9727              :                     }
    9728              :                   break;
    9729              :                 default:;
    9730              :                 }
    9731              :             }
    9732              :           break;
    9733           59 :         case CFN_BUILT_IN_EXPL:
    9734           59 :           if (call_expr_nargs (_p0) == 1)
    9735              :     {
    9736           59 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9737           59 :               switch (TREE_CODE (_p1))
    9738              :                 {
    9739           29 :                 case CALL_EXPR:
    9740           29 :                   switch (get_call_combined_fn (_p1))
    9741              :                     {
    9742           29 :                     case CFN_BUILT_IN_EXPL:
    9743           29 :                       if (call_expr_nargs (_p1) == 1)
    9744              :     {
    9745           29 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9746           29 :                           {
    9747           29 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9748           29 :                             if (flag_unsafe_math_optimizations
    9749              : )
    9750              :                               {
    9751           25 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1444;
    9752           25 :                                 {
    9753           25 :                                   tree res_op0;
    9754           25 :                                   {
    9755           25 :                                     tree _o1[2], _r1;
    9756           25 :                                     _o1[0] = captures[1];
    9757           25 :                                     _o1[1] = captures[3];
    9758           25 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9759           25 :                                     res_op0 = _r1;
    9760              :                                   }
    9761           25 :                                   tree _r;
    9762           25 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, type, 1, res_op0);
    9763           25 :                                   if (!_r)
    9764            0 :                                     goto next_after_fail1444;
    9765           25 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 974, __FILE__, __LINE__, true);
    9766           25 :                                   return _r;
    9767              :                                 }
    9768            4 : next_after_fail1444:;
    9769              :                               }
    9770              :                           }
    9771              :                         }
    9772              :                       break;
    9773            0 :                     case CFN_BUILT_IN_POWL:
    9774            0 :                       if (call_expr_nargs (_p1) == 2)
    9775              :     {
    9776            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9777            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9778            0 :                           switch (TREE_CODE (_q40))
    9779              :                             {
    9780            0 :                             case REAL_CST:
    9781            0 :                               {
    9782            0 :                                 {
    9783            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9784            0 :                                   if (flag_unsafe_math_optimizations
    9785              : )
    9786              :                                     {
    9787            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9788            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9789              : )
    9790              :                                         {
    9791            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1445;
    9792            0 :                                           {
    9793            0 :                                             tree res_op0;
    9794            0 :                                             {
    9795            0 :                                               tree _o1[2], _r1;
    9796            0 :                                               {
    9797            0 :                                                 tree _o2[2], _r2;
    9798            0 :                                                 {
    9799            0 :                                                   tree _o3[1], _r3;
    9800            0 :                                                   _o3[0] = captures[1];
    9801            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOGL, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9802            0 :                                                   if (!_r3)
    9803            0 :                                                     goto next_after_fail1445;
    9804            0 :                                                   _o2[0] = _r3;
    9805              :                                                 }
    9806            0 :                                                 _o2[1] = captures[2];
    9807            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9808            0 :                                                 _o1[0] = _r2;
    9809              :                                               }
    9810            0 :                                               _o1[1] = captures[4];
    9811            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9812            0 :                                               res_op0 = _r1;
    9813              :                                             }
    9814            0 :                                             tree _r;
    9815            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, type, 1, res_op0);
    9816            0 :                                             if (!_r)
    9817            0 :                                               goto next_after_fail1445;
    9818            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
    9819            0 :                                             return _r;
    9820              :                                           }
    9821            0 : next_after_fail1445:;
    9822              :                                         }
    9823              :                                     }
    9824              :                                 }
    9825            0 :                                 break;
    9826              :                               }
    9827              :                             default:;
    9828              :                             }
    9829              :                         }
    9830              :                       break;
    9831              :                     default:;
    9832              :                     }
    9833              :                   break;
    9834              :                 default:;
    9835              :                 }
    9836              :             }
    9837              :           break;
    9838           19 :         case CFN_BUILT_IN_POWF:
    9839           19 :           if (call_expr_nargs (_p0) == 2)
    9840              :     {
    9841           19 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9842           19 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    9843           19 :               switch (TREE_CODE (_q20))
    9844              :                 {
    9845            0 :                 case REAL_CST:
    9846            0 :                   {
    9847            0 :                     switch (TREE_CODE (_p1))
    9848              :                       {
    9849            0 :                       case CALL_EXPR:
    9850            0 :                         switch (get_call_combined_fn (_p1))
    9851              :                           {
    9852            0 :                           case CFN_BUILT_IN_EXP10F:
    9853            0 :                             if (call_expr_nargs (_p1) == 1)
    9854              :     {
    9855            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9856            0 :                                 {
    9857            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9858            0 :                                   if (flag_unsafe_math_optimizations
    9859              : )
    9860              :                                     {
    9861            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9862            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9863              : )
    9864              :                                         {
    9865            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1446;
    9866            0 :                                           {
    9867            0 :                                             tree res_op0;
    9868            0 :                                             {
    9869            0 :                                               tree _o1[2], _r1;
    9870            0 :                                               {
    9871            0 :                                                 tree _o2[2], _r2;
    9872            0 :                                                 {
    9873            0 :                                                   tree _o3[1], _r3;
    9874            0 :                                                   _o3[0] = captures[1];
    9875            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9876            0 :                                                   if (!_r3)
    9877            0 :                                                     goto next_after_fail1446;
    9878            0 :                                                   _o2[0] = _r3;
    9879              :                                                 }
    9880            0 :                                                 _o2[1] = captures[2];
    9881            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9882            0 :                                                 _o1[0] = _r2;
    9883              :                                               }
    9884            0 :                                               _o1[1] = captures[4];
    9885            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9886            0 :                                               res_op0 = _r1;
    9887              :                                             }
    9888            0 :                                             tree _r;
    9889            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, type, 1, res_op0);
    9890            0 :                                             if (!_r)
    9891            0 :                                               goto next_after_fail1446;
    9892            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
    9893            0 :                                             return _r;
    9894              :                                           }
    9895            0 : next_after_fail1446:;
    9896              :                                         }
    9897              :                                     }
    9898              :                                 }
    9899              :                               }
    9900              :                             break;
    9901            0 :                           case CFN_BUILT_IN_EXPF:
    9902            0 :                             if (call_expr_nargs (_p1) == 1)
    9903              :     {
    9904            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9905            0 :                                 {
    9906            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9907            0 :                                   if (flag_unsafe_math_optimizations
    9908              : )
    9909              :                                     {
    9910            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9911            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9912              : )
    9913              :                                         {
    9914            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1447;
    9915            0 :                                           {
    9916            0 :                                             tree res_op0;
    9917            0 :                                             {
    9918            0 :                                               tree _o1[2], _r1;
    9919            0 :                                               {
    9920            0 :                                                 tree _o2[2], _r2;
    9921            0 :                                                 {
    9922            0 :                                                   tree _o3[1], _r3;
    9923            0 :                                                   _o3[0] = captures[1];
    9924            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOGF, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9925            0 :                                                   if (!_r3)
    9926            0 :                                                     goto next_after_fail1447;
    9927            0 :                                                   _o2[0] = _r3;
    9928              :                                                 }
    9929            0 :                                                 _o2[1] = captures[2];
    9930            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9931            0 :                                                 _o1[0] = _r2;
    9932              :                                               }
    9933            0 :                                               _o1[1] = captures[4];
    9934            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9935            0 :                                               res_op0 = _r1;
    9936              :                                             }
    9937            0 :                                             tree _r;
    9938            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, type, 1, res_op0);
    9939            0 :                                             if (!_r)
    9940            0 :                                               goto next_after_fail1447;
    9941            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
    9942            0 :                                             return _r;
    9943              :                                           }
    9944            0 : next_after_fail1447:;
    9945              :                                         }
    9946              :                                     }
    9947              :                                 }
    9948              :                               }
    9949              :                             break;
    9950            0 :                           case CFN_BUILT_IN_POW10F:
    9951            0 :                             if (call_expr_nargs (_p1) == 1)
    9952              :     {
    9953            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9954            0 :                                 {
    9955            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9956            0 :                                   if (flag_unsafe_math_optimizations
    9957              : )
    9958              :                                     {
    9959            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9960            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9961              : )
    9962              :                                         {
    9963            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1448;
    9964            0 :                                           {
    9965            0 :                                             tree res_op0;
    9966            0 :                                             {
    9967            0 :                                               tree _o1[2], _r1;
    9968            0 :                                               {
    9969            0 :                                                 tree _o2[2], _r2;
    9970            0 :                                                 {
    9971            0 :                                                   tree _o3[1], _r3;
    9972            0 :                                                   _o3[0] = captures[1];
    9973            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9974            0 :                                                   if (!_r3)
    9975            0 :                                                     goto next_after_fail1448;
    9976            0 :                                                   _o2[0] = _r3;
    9977              :                                                 }
    9978            0 :                                                 _o2[1] = captures[2];
    9979            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9980            0 :                                                 _o1[0] = _r2;
    9981              :                                               }
    9982            0 :                                               _o1[1] = captures[4];
    9983            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9984            0 :                                               res_op0 = _r1;
    9985              :                                             }
    9986            0 :                                             tree _r;
    9987            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, type, 1, res_op0);
    9988            0 :                                             if (!_r)
    9989            0 :                                               goto next_after_fail1448;
    9990            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
    9991            0 :                                             return _r;
    9992              :                                           }
    9993            0 : next_after_fail1448:;
    9994              :                                         }
    9995              :                                     }
    9996              :                                 }
    9997              :                               }
    9998              :                             break;
    9999            0 :                           case CFN_BUILT_IN_EXP2F:
   10000            0 :                             if (call_expr_nargs (_p1) == 1)
   10001              :     {
   10002            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10003            0 :                                 {
   10004            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10005            0 :                                   if (flag_unsafe_math_optimizations
   10006              : )
   10007              :                                     {
   10008            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10009            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10010              : )
   10011              :                                         {
   10012            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1449;
   10013            0 :                                           {
   10014            0 :                                             tree res_op0;
   10015            0 :                                             {
   10016            0 :                                               tree _o1[2], _r1;
   10017            0 :                                               {
   10018            0 :                                                 tree _o2[2], _r2;
   10019            0 :                                                 {
   10020            0 :                                                   tree _o3[1], _r3;
   10021            0 :                                                   _o3[0] = captures[1];
   10022            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2F, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10023            0 :                                                   if (!_r3)
   10024            0 :                                                     goto next_after_fail1449;
   10025            0 :                                                   _o2[0] = _r3;
   10026              :                                                 }
   10027            0 :                                                 _o2[1] = captures[2];
   10028            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10029            0 :                                                 _o1[0] = _r2;
   10030              :                                               }
   10031            0 :                                               _o1[1] = captures[4];
   10032            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10033            0 :                                               res_op0 = _r1;
   10034              :                                             }
   10035            0 :                                             tree _r;
   10036            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, type, 1, res_op0);
   10037            0 :                                             if (!_r)
   10038            0 :                                               goto next_after_fail1449;
   10039            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
   10040            0 :                                             return _r;
   10041              :                                           }
   10042            0 : next_after_fail1449:;
   10043              :                                         }
   10044              :                                     }
   10045              :                                 }
   10046              :                               }
   10047              :                             break;
   10048              :                           default:;
   10049              :                           }
   10050              :                         break;
   10051              :                       default:;
   10052              :                       }
   10053              :                     break;
   10054              :                   }
   10055           19 :                 default:;
   10056              :                 }
   10057           19 :               switch (TREE_CODE (_q21))
   10058              :                 {
   10059            5 :                 case REAL_CST:
   10060            5 :                   {
   10061            5 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10062              :                       {
   10063            0 :                         {
   10064            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
   10065            0 :                           tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
   10066            0 :                           if (res) return res;
   10067              :                         }
   10068              :                       }
   10069              :                     break;
   10070              :                   }
   10071              :                 default:;
   10072              :                 }
   10073              :             }
   10074              :           break;
   10075           12 :         case CFN_BUILT_IN_POWL:
   10076           12 :           if (call_expr_nargs (_p0) == 2)
   10077              :     {
   10078           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10079           12 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10080           12 :               switch (TREE_CODE (_q20))
   10081              :                 {
   10082            0 :                 case REAL_CST:
   10083            0 :                   {
   10084            0 :                     switch (TREE_CODE (_p1))
   10085              :                       {
   10086            0 :                       case CALL_EXPR:
   10087            0 :                         switch (get_call_combined_fn (_p1))
   10088              :                           {
   10089            0 :                           case CFN_BUILT_IN_EXP10L:
   10090            0 :                             if (call_expr_nargs (_p1) == 1)
   10091              :     {
   10092            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10093            0 :                                 {
   10094            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10095            0 :                                   if (flag_unsafe_math_optimizations
   10096              : )
   10097              :                                     {
   10098            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10099            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10100              : )
   10101              :                                         {
   10102            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1450;
   10103            0 :                                           {
   10104            0 :                                             tree res_op0;
   10105            0 :                                             {
   10106            0 :                                               tree _o1[2], _r1;
   10107            0 :                                               {
   10108            0 :                                                 tree _o2[2], _r2;
   10109            0 :                                                 {
   10110            0 :                                                   tree _o3[1], _r3;
   10111            0 :                                                   _o3[0] = captures[1];
   10112            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10113            0 :                                                   if (!_r3)
   10114            0 :                                                     goto next_after_fail1450;
   10115            0 :                                                   _o2[0] = _r3;
   10116              :                                                 }
   10117            0 :                                                 _o2[1] = captures[2];
   10118            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10119            0 :                                                 _o1[0] = _r2;
   10120              :                                               }
   10121            0 :                                               _o1[1] = captures[4];
   10122            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10123            0 :                                               res_op0 = _r1;
   10124              :                                             }
   10125            0 :                                             tree _r;
   10126            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, type, 1, res_op0);
   10127            0 :                                             if (!_r)
   10128            0 :                                               goto next_after_fail1450;
   10129            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
   10130            0 :                                             return _r;
   10131              :                                           }
   10132            0 : next_after_fail1450:;
   10133              :                                         }
   10134              :                                     }
   10135              :                                 }
   10136              :                               }
   10137              :                             break;
   10138            0 :                           case CFN_BUILT_IN_EXPL:
   10139            0 :                             if (call_expr_nargs (_p1) == 1)
   10140              :     {
   10141            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10142            0 :                                 {
   10143            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10144            0 :                                   if (flag_unsafe_math_optimizations
   10145              : )
   10146              :                                     {
   10147            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10148            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10149              : )
   10150              :                                         {
   10151            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1451;
   10152            0 :                                           {
   10153            0 :                                             tree res_op0;
   10154            0 :                                             {
   10155            0 :                                               tree _o1[2], _r1;
   10156            0 :                                               {
   10157            0 :                                                 tree _o2[2], _r2;
   10158            0 :                                                 {
   10159            0 :                                                   tree _o3[1], _r3;
   10160            0 :                                                   _o3[0] = captures[1];
   10161            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOGL, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10162            0 :                                                   if (!_r3)
   10163            0 :                                                     goto next_after_fail1451;
   10164            0 :                                                   _o2[0] = _r3;
   10165              :                                                 }
   10166            0 :                                                 _o2[1] = captures[2];
   10167            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10168            0 :                                                 _o1[0] = _r2;
   10169              :                                               }
   10170            0 :                                               _o1[1] = captures[4];
   10171            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10172            0 :                                               res_op0 = _r1;
   10173              :                                             }
   10174            0 :                                             tree _r;
   10175            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, type, 1, res_op0);
   10176            0 :                                             if (!_r)
   10177            0 :                                               goto next_after_fail1451;
   10178            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
   10179            0 :                                             return _r;
   10180              :                                           }
   10181            0 : next_after_fail1451:;
   10182              :                                         }
   10183              :                                     }
   10184              :                                 }
   10185              :                               }
   10186              :                             break;
   10187            0 :                           case CFN_BUILT_IN_POW10L:
   10188            0 :                             if (call_expr_nargs (_p1) == 1)
   10189              :     {
   10190            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10191            0 :                                 {
   10192            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10193            0 :                                   if (flag_unsafe_math_optimizations
   10194              : )
   10195              :                                     {
   10196            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10197            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10198              : )
   10199              :                                         {
   10200            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1452;
   10201            0 :                                           {
   10202            0 :                                             tree res_op0;
   10203            0 :                                             {
   10204            0 :                                               tree _o1[2], _r1;
   10205            0 :                                               {
   10206            0 :                                                 tree _o2[2], _r2;
   10207            0 :                                                 {
   10208            0 :                                                   tree _o3[1], _r3;
   10209            0 :                                                   _o3[0] = captures[1];
   10210            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10211            0 :                                                   if (!_r3)
   10212            0 :                                                     goto next_after_fail1452;
   10213            0 :                                                   _o2[0] = _r3;
   10214              :                                                 }
   10215            0 :                                                 _o2[1] = captures[2];
   10216            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10217            0 :                                                 _o1[0] = _r2;
   10218              :                                               }
   10219            0 :                                               _o1[1] = captures[4];
   10220            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10221            0 :                                               res_op0 = _r1;
   10222              :                                             }
   10223            0 :                                             tree _r;
   10224            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, type, 1, res_op0);
   10225            0 :                                             if (!_r)
   10226            0 :                                               goto next_after_fail1452;
   10227            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
   10228            0 :                                             return _r;
   10229              :                                           }
   10230            0 : next_after_fail1452:;
   10231              :                                         }
   10232              :                                     }
   10233              :                                 }
   10234              :                               }
   10235              :                             break;
   10236            0 :                           case CFN_BUILT_IN_EXP2L:
   10237            0 :                             if (call_expr_nargs (_p1) == 1)
   10238              :     {
   10239            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10240            0 :                                 {
   10241            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10242            0 :                                   if (flag_unsafe_math_optimizations
   10243              : )
   10244              :                                     {
   10245            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10246            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10247              : )
   10248              :                                         {
   10249            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1453;
   10250            0 :                                           {
   10251            0 :                                             tree res_op0;
   10252            0 :                                             {
   10253            0 :                                               tree _o1[2], _r1;
   10254            0 :                                               {
   10255            0 :                                                 tree _o2[2], _r2;
   10256            0 :                                                 {
   10257            0 :                                                   tree _o3[1], _r3;
   10258            0 :                                                   _o3[0] = captures[1];
   10259            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10260            0 :                                                   if (!_r3)
   10261            0 :                                                     goto next_after_fail1453;
   10262            0 :                                                   _o2[0] = _r3;
   10263              :                                                 }
   10264            0 :                                                 _o2[1] = captures[2];
   10265            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10266            0 :                                                 _o1[0] = _r2;
   10267              :                                               }
   10268            0 :                                               _o1[1] = captures[4];
   10269            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10270            0 :                                               res_op0 = _r1;
   10271              :                                             }
   10272            0 :                                             tree _r;
   10273            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, type, 1, res_op0);
   10274            0 :                                             if (!_r)
   10275            0 :                                               goto next_after_fail1453;
   10276            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
   10277            0 :                                             return _r;
   10278              :                                           }
   10279            0 : next_after_fail1453:;
   10280              :                                         }
   10281              :                                     }
   10282              :                                 }
   10283              :                               }
   10284              :                             break;
   10285              :                           default:;
   10286              :                           }
   10287              :                         break;
   10288              :                       default:;
   10289              :                       }
   10290              :                     break;
   10291              :                   }
   10292           12 :                 default:;
   10293              :                 }
   10294           12 :               switch (TREE_CODE (_q21))
   10295              :                 {
   10296            0 :                 case REAL_CST:
   10297            0 :                   {
   10298            0 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10299              :                       {
   10300            0 :                         {
   10301            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
   10302            0 :                           tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
   10303            0 :                           if (res) return res;
   10304              :                         }
   10305              :                       }
   10306              :                     break;
   10307              :                   }
   10308              :                 default:;
   10309              :                 }
   10310              :             }
   10311              :           break;
   10312        19026 :         case CFN_BUILT_IN_SQRT:
   10313        19026 :           if (call_expr_nargs (_p0) == 1)
   10314              :     {
   10315        19026 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10316        19026 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10317              :                 {
   10318            2 :                   {
   10319            2 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10320            2 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT);
   10321            2 :                     if (res) return res;
   10322              :                   }
   10323              :                 }
   10324        19024 :               switch (TREE_CODE (_p1))
   10325              :                 {
   10326          100 :                 case CALL_EXPR:
   10327          100 :                   switch (get_call_combined_fn (_p1))
   10328              :                     {
   10329           37 :                     case CFN_BUILT_IN_SQRT:
   10330           37 :                       if (call_expr_nargs (_p1) == 1)
   10331              :     {
   10332           37 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10333           37 :                           {
   10334           37 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10335           37 :                             if (flag_unsafe_math_optimizations
   10336              : )
   10337              :                               {
   10338           15 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1454;
   10339           15 :                                 {
   10340           15 :                                   tree res_op0;
   10341           15 :                                   {
   10342           15 :                                     tree _o1[2], _r1;
   10343           15 :                                     _o1[0] = captures[1];
   10344           15 :                                     _o1[1] = captures[3];
   10345           15 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10346           15 :                                     res_op0 = _r1;
   10347              :                                   }
   10348           15 :                                   tree _r;
   10349           15 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRT, type, 1, res_op0);
   10350           15 :                                   if (!_r)
   10351            0 :                                     goto next_after_fail1454;
   10352           15 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 973, __FILE__, __LINE__, true);
   10353           15 :                                   return _r;
   10354              :                                 }
   10355           22 : next_after_fail1454:;
   10356              :                               }
   10357              :                           }
   10358              :                         }
   10359              :                       break;
   10360              :                     default:;
   10361              :                     }
   10362              :                   break;
   10363              :                 default:;
   10364              :                 }
   10365              :             }
   10366              :           break;
   10367            5 :         case CFN_BUILT_IN_LDEXPF:
   10368            5 :           if (call_expr_nargs (_p0) == 2)
   10369              :     {
   10370            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10371            5 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10372            5 :               switch (TREE_CODE (_p1))
   10373              :                 {
   10374            2 :                 case REAL_CST:
   10375            2 :                   {
   10376            2 :                     {
   10377            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   10378            2 :                       tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPF);
   10379            2 :                       if (res) return res;
   10380              :                     }
   10381            1 :                     break;
   10382              :                   }
   10383            4 :                 default:;
   10384              :                 }
   10385            4 :               switch (TREE_CODE (_q20))
   10386              :                 {
   10387            3 :                 case REAL_CST:
   10388            3 :                   {
   10389            3 :                     {
   10390            3 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   10391            3 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPF);
   10392            3 :                       if (res) return res;
   10393              :                     }
   10394            0 :                     break;
   10395              :                   }
   10396              :                 default:;
   10397              :                 }
   10398              :             }
   10399              :           break;
   10400            5 :         case CFN_BUILT_IN_LDEXPL:
   10401            5 :           if (call_expr_nargs (_p0) == 2)
   10402              :     {
   10403            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10404            5 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10405            5 :               switch (TREE_CODE (_p1))
   10406              :                 {
   10407            2 :                 case REAL_CST:
   10408            2 :                   {
   10409            2 :                     {
   10410            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   10411            2 :                       tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPL);
   10412            2 :                       if (res) return res;
   10413              :                     }
   10414            1 :                     break;
   10415              :                   }
   10416            4 :                 default:;
   10417              :                 }
   10418            4 :               switch (TREE_CODE (_q20))
   10419              :                 {
   10420            3 :                 case REAL_CST:
   10421            3 :                   {
   10422            3 :                     {
   10423            3 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   10424            3 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPL);
   10425            3 :                       if (res) return res;
   10426              :                     }
   10427            0 :                     break;
   10428              :                   }
   10429              :                 default:;
   10430              :                 }
   10431              :             }
   10432              :           break;
   10433            4 :         case CFN_BUILT_IN_SQRTF128:
   10434            4 :           if (call_expr_nargs (_p0) == 1)
   10435              :     {
   10436            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10437            4 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10438              :                 {
   10439            0 :                   {
   10440            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10441            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF128);
   10442            0 :                     if (res) return res;
   10443              :                   }
   10444              :                 }
   10445              :             }
   10446              :           break;
   10447            0 :         case CFN_BUILT_IN_SQRTF32X:
   10448            0 :           if (call_expr_nargs (_p0) == 1)
   10449              :     {
   10450            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10451            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10452              :                 {
   10453            0 :                   {
   10454            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10455            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF32X);
   10456            0 :                     if (res) return res;
   10457              :                   }
   10458              :                 }
   10459              :             }
   10460              :           break;
   10461            0 :         case CFN_BUILT_IN_SQRTF64X:
   10462            0 :           if (call_expr_nargs (_p0) == 1)
   10463              :     {
   10464            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10465            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10466              :                 {
   10467            0 :                   {
   10468            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10469            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF64X);
   10470            0 :                     if (res) return res;
   10471              :                   }
   10472              :                 }
   10473              :             }
   10474              :           break;
   10475            0 :         case CFN_BUILT_IN_SQRTF16:
   10476            0 :           if (call_expr_nargs (_p0) == 1)
   10477              :     {
   10478            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10479            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10480              :                 {
   10481            0 :                   {
   10482            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10483            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF16);
   10484            0 :                     if (res) return res;
   10485              :                   }
   10486              :                 }
   10487              :             }
   10488              :           break;
   10489            0 :         case CFN_BUILT_IN_SQRTF32:
   10490            0 :           if (call_expr_nargs (_p0) == 1)
   10491              :     {
   10492            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10493            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10494              :                 {
   10495            0 :                   {
   10496            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10497            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF32);
   10498            0 :                     if (res) return res;
   10499              :                   }
   10500              :                 }
   10501              :             }
   10502              :           break;
   10503            0 :         case CFN_BUILT_IN_SQRTF64:
   10504            0 :           if (call_expr_nargs (_p0) == 1)
   10505              :     {
   10506            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10507            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10508              :                 {
   10509            0 :                   {
   10510            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10511            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF64);
   10512            0 :                     if (res) return res;
   10513              :                   }
   10514              :                 }
   10515              :             }
   10516              :           break;
   10517            0 :         case CFN_EXP:
   10518            0 :           if (call_expr_nargs (_p0) == 1)
   10519              :     {
   10520            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10521            0 :               switch (TREE_CODE (_p1))
   10522              :                 {
   10523            0 :                 case CALL_EXPR:
   10524            0 :                   switch (get_call_combined_fn (_p1))
   10525              :                     {
   10526            0 :                     case CFN_EXP:
   10527            0 :                       if (call_expr_nargs (_p1) == 1)
   10528              :     {
   10529            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10530            0 :                           {
   10531            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10532            0 :                             if (flag_unsafe_math_optimizations
   10533              : )
   10534              :                               {
   10535            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1455;
   10536            0 :                                 {
   10537            0 :                                   tree res_op0;
   10538            0 :                                   {
   10539            0 :                                     tree _o1[2], _r1;
   10540            0 :                                     _o1[0] = captures[1];
   10541            0 :                                     _o1[1] = captures[3];
   10542            0 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10543            0 :                                     res_op0 = _r1;
   10544              :                                   }
   10545            0 :                                   tree _r;
   10546            0 :                                   _r = maybe_build_call_expr_loc (loc, CFN_EXP, type, 1, res_op0);
   10547            0 :                                   if (!_r)
   10548            0 :                                     goto next_after_fail1455;
   10549            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 974, __FILE__, __LINE__, true);
   10550            0 :                                   return _r;
   10551              :                                 }
   10552            0 : next_after_fail1455:;
   10553              :                               }
   10554              :                           }
   10555              :                         }
   10556              :                       break;
   10557            0 :                     case CFN_POW:
   10558            0 :                       if (call_expr_nargs (_p1) == 2)
   10559              :     {
   10560            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10561            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   10562            0 :                           switch (TREE_CODE (_q40))
   10563              :                             {
   10564            0 :                             case REAL_CST:
   10565            0 :                               {
   10566            0 :                                 {
   10567            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   10568            0 :                                   if (flag_unsafe_math_optimizations
   10569              : )
   10570              :                                     {
   10571            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10572            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10573              : )
   10574              :                                         {
   10575            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1456;
   10576            0 :                                           {
   10577            0 :                                             tree res_op0;
   10578            0 :                                             {
   10579            0 :                                               tree _o1[2], _r1;
   10580            0 :                                               {
   10581            0 :                                                 tree _o2[2], _r2;
   10582            0 :                                                 {
   10583            0 :                                                   tree _o3[1], _r3;
   10584            0 :                                                   _o3[0] = captures[1];
   10585            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10586            0 :                                                   if (!_r3)
   10587            0 :                                                     goto next_after_fail1456;
   10588            0 :                                                   _o2[0] = _r3;
   10589              :                                                 }
   10590            0 :                                                 _o2[1] = captures[2];
   10591            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10592            0 :                                                 _o1[0] = _r2;
   10593              :                                               }
   10594            0 :                                               _o1[1] = captures[4];
   10595            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10596            0 :                                               res_op0 = _r1;
   10597              :                                             }
   10598            0 :                                             tree _r;
   10599            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP, type, 1, res_op0);
   10600            0 :                                             if (!_r)
   10601            0 :                                               goto next_after_fail1456;
   10602            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
   10603            0 :                                             return _r;
   10604              :                                           }
   10605            0 : next_after_fail1456:;
   10606              :                                         }
   10607              :                                     }
   10608              :                                 }
   10609            0 :                                 break;
   10610              :                               }
   10611              :                             default:;
   10612              :                             }
   10613              :                         }
   10614              :                       break;
   10615              :                     default:;
   10616              :                     }
   10617              :                   break;
   10618              :                 default:;
   10619              :                 }
   10620              :             }
   10621              :           break;
   10622            0 :         case CFN_POW:
   10623            0 :           if (call_expr_nargs (_p0) == 2)
   10624              :     {
   10625            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10626            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10627            0 :               switch (TREE_CODE (_q20))
   10628              :                 {
   10629            0 :                 case REAL_CST:
   10630            0 :                   {
   10631            0 :                     switch (TREE_CODE (_p1))
   10632              :                       {
   10633            0 :                       case CALL_EXPR:
   10634            0 :                         switch (get_call_combined_fn (_p1))
   10635              :                           {
   10636            0 :                           case CFN_EXP:
   10637            0 :                             if (call_expr_nargs (_p1) == 1)
   10638              :     {
   10639            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10640            0 :                                 {
   10641            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10642            0 :                                   if (flag_unsafe_math_optimizations
   10643              : )
   10644              :                                     {
   10645            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10646            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10647              : )
   10648              :                                         {
   10649            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1457;
   10650            0 :                                           {
   10651            0 :                                             tree res_op0;
   10652            0 :                                             {
   10653            0 :                                               tree _o1[2], _r1;
   10654            0 :                                               {
   10655            0 :                                                 tree _o2[2], _r2;
   10656            0 :                                                 {
   10657            0 :                                                   tree _o3[1], _r3;
   10658            0 :                                                   _o3[0] = captures[1];
   10659            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10660            0 :                                                   if (!_r3)
   10661            0 :                                                     goto next_after_fail1457;
   10662            0 :                                                   _o2[0] = _r3;
   10663              :                                                 }
   10664            0 :                                                 _o2[1] = captures[2];
   10665            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10666            0 :                                                 _o1[0] = _r2;
   10667              :                                               }
   10668            0 :                                               _o1[1] = captures[4];
   10669            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10670            0 :                                               res_op0 = _r1;
   10671              :                                             }
   10672            0 :                                             tree _r;
   10673            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP, type, 1, res_op0);
   10674            0 :                                             if (!_r)
   10675            0 :                                               goto next_after_fail1457;
   10676            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
   10677            0 :                                             return _r;
   10678              :                                           }
   10679            0 : next_after_fail1457:;
   10680              :                                         }
   10681              :                                     }
   10682              :                                 }
   10683              :                               }
   10684              :                             break;
   10685            0 :                           case CFN_EXP2:
   10686            0 :                             if (call_expr_nargs (_p1) == 1)
   10687              :     {
   10688            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10689            0 :                                 {
   10690            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10691            0 :                                   if (flag_unsafe_math_optimizations
   10692              : )
   10693              :                                     {
   10694            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10695            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10696              : )
   10697              :                                         {
   10698            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1458;
   10699            0 :                                           {
   10700            0 :                                             tree res_op0;
   10701            0 :                                             {
   10702            0 :                                               tree _o1[2], _r1;
   10703            0 :                                               {
   10704            0 :                                                 tree _o2[2], _r2;
   10705            0 :                                                 {
   10706            0 :                                                   tree _o3[1], _r3;
   10707            0 :                                                   _o3[0] = captures[1];
   10708            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10709            0 :                                                   if (!_r3)
   10710            0 :                                                     goto next_after_fail1458;
   10711            0 :                                                   _o2[0] = _r3;
   10712              :                                                 }
   10713            0 :                                                 _o2[1] = captures[2];
   10714            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10715            0 :                                                 _o1[0] = _r2;
   10716              :                                               }
   10717            0 :                                               _o1[1] = captures[4];
   10718            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10719            0 :                                               res_op0 = _r1;
   10720              :                                             }
   10721            0 :                                             tree _r;
   10722            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP2, type, 1, res_op0);
   10723            0 :                                             if (!_r)
   10724            0 :                                               goto next_after_fail1458;
   10725            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
   10726            0 :                                             return _r;
   10727              :                                           }
   10728            0 : next_after_fail1458:;
   10729              :                                         }
   10730              :                                     }
   10731              :                                 }
   10732              :                               }
   10733              :                             break;
   10734            0 :                           case CFN_EXP10:
   10735            0 :                             if (call_expr_nargs (_p1) == 1)
   10736              :     {
   10737            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10738            0 :                                 {
   10739            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10740            0 :                                   if (flag_unsafe_math_optimizations
   10741              : )
   10742              :                                     {
   10743            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10744            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10745              : )
   10746              :                                         {
   10747            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1459;
   10748            0 :                                           {
   10749            0 :                                             tree res_op0;
   10750            0 :                                             {
   10751            0 :                                               tree _o1[2], _r1;
   10752            0 :                                               {
   10753            0 :                                                 tree _o2[2], _r2;
   10754            0 :                                                 {
   10755            0 :                                                   tree _o3[1], _r3;
   10756            0 :                                                   _o3[0] = captures[1];
   10757            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10758            0 :                                                   if (!_r3)
   10759            0 :                                                     goto next_after_fail1459;
   10760            0 :                                                   _o2[0] = _r3;
   10761              :                                                 }
   10762            0 :                                                 _o2[1] = captures[2];
   10763            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10764            0 :                                                 _o1[0] = _r2;
   10765              :                                               }
   10766            0 :                                               _o1[1] = captures[4];
   10767            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10768            0 :                                               res_op0 = _r1;
   10769              :                                             }
   10770            0 :                                             tree _r;
   10771            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP10, type, 1, res_op0);
   10772            0 :                                             if (!_r)
   10773            0 :                                               goto next_after_fail1459;
   10774            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
   10775            0 :                                             return _r;
   10776              :                                           }
   10777            0 : next_after_fail1459:;
   10778              :                                         }
   10779              :                                     }
   10780              :                                 }
   10781              :                               }
   10782              :                             break;
   10783              :                           default:;
   10784              :                           }
   10785              :                         break;
   10786              :                       default:;
   10787              :                       }
   10788              :                     break;
   10789              :                   }
   10790            0 :                 default:;
   10791              :                 }
   10792            0 :               switch (TREE_CODE (_q21))
   10793              :                 {
   10794            0 :                 case REAL_CST:
   10795            0 :                   {
   10796            0 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10797              :                       {
   10798            0 :                         {
   10799            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
   10800            0 :                           tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_POW);
   10801            0 :                           if (res) return res;
   10802              :                         }
   10803              :                       }
   10804              :                     break;
   10805              :                   }
   10806              :                 default:;
   10807              :                 }
   10808              :             }
   10809              :           break;
   10810           24 :         case CFN_BUILT_IN_POW10F:
   10811           24 :           if (call_expr_nargs (_p0) == 1)
   10812              :     {
   10813           24 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10814           24 :               switch (TREE_CODE (_p1))
   10815              :                 {
   10816           12 :                 case CALL_EXPR:
   10817           12 :                   switch (get_call_combined_fn (_p1))
   10818              :                     {
   10819            0 :                     case CFN_BUILT_IN_POWF:
   10820            0 :                       if (call_expr_nargs (_p1) == 2)
   10821              :     {
   10822            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10823            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   10824            0 :                           switch (TREE_CODE (_q40))
   10825              :                             {
   10826            0 :                             case REAL_CST:
   10827            0 :                               {
   10828            0 :                                 {
   10829            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   10830            0 :                                   if (flag_unsafe_math_optimizations
   10831              : )
   10832              :                                     {
   10833            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10834            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10835              : )
   10836              :                                         {
   10837            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1460;
   10838            0 :                                           {
   10839            0 :                                             tree res_op0;
   10840            0 :                                             {
   10841            0 :                                               tree _o1[2], _r1;
   10842            0 :                                               {
   10843            0 :                                                 tree _o2[2], _r2;
   10844            0 :                                                 {
   10845            0 :                                                   tree _o3[1], _r3;
   10846            0 :                                                   _o3[0] = captures[1];
   10847            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10848            0 :                                                   if (!_r3)
   10849            0 :                                                     goto next_after_fail1460;
   10850            0 :                                                   _o2[0] = _r3;
   10851              :                                                 }
   10852            0 :                                                 _o2[1] = captures[2];
   10853            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10854            0 :                                                 _o1[0] = _r2;
   10855              :                                               }
   10856            0 :                                               _o1[1] = captures[4];
   10857            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10858            0 :                                               res_op0 = _r1;
   10859              :                                             }
   10860            0 :                                             tree _r;
   10861            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, type, 1, res_op0);
   10862            0 :                                             if (!_r)
   10863            0 :                                               goto next_after_fail1460;
   10864            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
   10865            0 :                                             return _r;
   10866              :                                           }
   10867            0 : next_after_fail1460:;
   10868              :                                         }
   10869              :                                     }
   10870              :                                 }
   10871            0 :                                 break;
   10872              :                               }
   10873              :                             default:;
   10874              :                             }
   10875              :                         }
   10876              :                       break;
   10877           12 :                     case CFN_BUILT_IN_POW10F:
   10878           12 :                       if (call_expr_nargs (_p1) == 1)
   10879              :     {
   10880           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10881           12 :                           {
   10882           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10883           12 :                             if (flag_unsafe_math_optimizations
   10884              : )
   10885              :                               {
   10886           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1461;
   10887           12 :                                 {
   10888           12 :                                   tree res_op0;
   10889           12 :                                   {
   10890           12 :                                     tree _o1[2], _r1;
   10891           12 :                                     _o1[0] = captures[1];
   10892           12 :                                     _o1[1] = captures[3];
   10893           12 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10894           12 :                                     res_op0 = _r1;
   10895              :                                   }
   10896           12 :                                   tree _r;
   10897           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, type, 1, res_op0);
   10898           12 :                                   if (!_r)
   10899           12 :                                     goto next_after_fail1461;
   10900            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 974, __FILE__, __LINE__, true);
   10901            0 :                                   return _r;
   10902              :                                 }
   10903           12 : next_after_fail1461:;
   10904              :                               }
   10905              :                           }
   10906              :                         }
   10907              :                       break;
   10908              :                     default:;
   10909              :                     }
   10910              :                   break;
   10911              :                 default:;
   10912              :                 }
   10913              :             }
   10914              :           break;
   10915           24 :         case CFN_BUILT_IN_POW10L:
   10916           24 :           if (call_expr_nargs (_p0) == 1)
   10917              :     {
   10918           24 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10919           24 :               switch (TREE_CODE (_p1))
   10920              :                 {
   10921           12 :                 case CALL_EXPR:
   10922           12 :                   switch (get_call_combined_fn (_p1))
   10923              :                     {
   10924            0 :                     case CFN_BUILT_IN_POWL:
   10925            0 :                       if (call_expr_nargs (_p1) == 2)
   10926              :     {
   10927            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10928            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   10929            0 :                           switch (TREE_CODE (_q40))
   10930              :                             {
   10931            0 :                             case REAL_CST:
   10932            0 :                               {
   10933            0 :                                 {
   10934            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   10935            0 :                                   if (flag_unsafe_math_optimizations
   10936              : )
   10937              :                                     {
   10938            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10939            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10940              : )
   10941              :                                         {
   10942            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1462;
   10943            0 :                                           {
   10944            0 :                                             tree res_op0;
   10945            0 :                                             {
   10946            0 :                                               tree _o1[2], _r1;
   10947            0 :                                               {
   10948            0 :                                                 tree _o2[2], _r2;
   10949            0 :                                                 {
   10950            0 :                                                   tree _o3[1], _r3;
   10951            0 :                                                   _o3[0] = captures[1];
   10952            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10953            0 :                                                   if (!_r3)
   10954            0 :                                                     goto next_after_fail1462;
   10955            0 :                                                   _o2[0] = _r3;
   10956              :                                                 }
   10957            0 :                                                 _o2[1] = captures[2];
   10958            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10959            0 :                                                 _o1[0] = _r2;
   10960              :                                               }
   10961            0 :                                               _o1[1] = captures[4];
   10962            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10963            0 :                                               res_op0 = _r1;
   10964              :                                             }
   10965            0 :                                             tree _r;
   10966            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, type, 1, res_op0);
   10967            0 :                                             if (!_r)
   10968            0 :                                               goto next_after_fail1462;
   10969            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
   10970            0 :                                             return _r;
   10971              :                                           }
   10972            0 : next_after_fail1462:;
   10973              :                                         }
   10974              :                                     }
   10975              :                                 }
   10976            0 :                                 break;
   10977              :                               }
   10978              :                             default:;
   10979              :                             }
   10980              :                         }
   10981              :                       break;
   10982           12 :                     case CFN_BUILT_IN_POW10L:
   10983           12 :                       if (call_expr_nargs (_p1) == 1)
   10984              :     {
   10985           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10986           12 :                           {
   10987           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10988           12 :                             if (flag_unsafe_math_optimizations
   10989              : )
   10990              :                               {
   10991           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1463;
   10992           12 :                                 {
   10993           12 :                                   tree res_op0;
   10994           12 :                                   {
   10995           12 :                                     tree _o1[2], _r1;
   10996           12 :                                     _o1[0] = captures[1];
   10997           12 :                                     _o1[1] = captures[3];
   10998           12 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10999           12 :                                     res_op0 = _r1;
   11000              :                                   }
   11001           12 :                                   tree _r;
   11002           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, type, 1, res_op0);
   11003           12 :                                   if (!_r)
   11004           12 :                                     goto next_after_fail1463;
   11005            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 974, __FILE__, __LINE__, true);
   11006            0 :                                   return _r;
   11007              :                                 }
   11008           12 : next_after_fail1463:;
   11009              :                               }
   11010              :                           }
   11011              :                         }
   11012              :                       break;
   11013              :                     default:;
   11014              :                     }
   11015              :                   break;
   11016              :                 default:;
   11017              :                 }
   11018              :             }
   11019              :           break;
   11020            0 :         case CFN_BUILT_IN_SQRTF128X:
   11021            0 :           if (call_expr_nargs (_p0) == 1)
   11022              :     {
   11023            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11024            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11025              :                 {
   11026            0 :                   {
   11027            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   11028            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF128X);
   11029            0 :                     if (res) return res;
   11030              :                   }
   11031              :                 }
   11032              :             }
   11033              :           break;
   11034            0 :         case CFN_EXP2:
   11035            0 :           if (call_expr_nargs (_p0) == 1)
   11036              :     {
   11037            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11038            0 :               switch (TREE_CODE (_p1))
   11039              :                 {
   11040            0 :                 case CALL_EXPR:
   11041            0 :                   switch (get_call_combined_fn (_p1))
   11042              :                     {
   11043            0 :                     case CFN_POW:
   11044            0 :                       if (call_expr_nargs (_p1) == 2)
   11045              :     {
   11046            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11047            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11048            0 :                           switch (TREE_CODE (_q40))
   11049              :                             {
   11050            0 :                             case REAL_CST:
   11051            0 :                               {
   11052            0 :                                 {
   11053            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11054            0 :                                   if (flag_unsafe_math_optimizations
   11055              : )
   11056              :                                     {
   11057            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11058            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11059              : )
   11060              :                                         {
   11061            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1464;
   11062            0 :                                           {
   11063            0 :                                             tree res_op0;
   11064            0 :                                             {
   11065            0 :                                               tree _o1[2], _r1;
   11066            0 :                                               {
   11067            0 :                                                 tree _o2[2], _r2;
   11068            0 :                                                 {
   11069            0 :                                                   tree _o3[1], _r3;
   11070            0 :                                                   _o3[0] = captures[1];
   11071            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11072            0 :                                                   if (!_r3)
   11073            0 :                                                     goto next_after_fail1464;
   11074            0 :                                                   _o2[0] = _r3;
   11075              :                                                 }
   11076            0 :                                                 _o2[1] = captures[2];
   11077            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11078            0 :                                                 _o1[0] = _r2;
   11079              :                                               }
   11080            0 :                                               _o1[1] = captures[4];
   11081            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11082            0 :                                               res_op0 = _r1;
   11083              :                                             }
   11084            0 :                                             tree _r;
   11085            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP2, type, 1, res_op0);
   11086            0 :                                             if (!_r)
   11087            0 :                                               goto next_after_fail1464;
   11088            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
   11089            0 :                                             return _r;
   11090              :                                           }
   11091            0 : next_after_fail1464:;
   11092              :                                         }
   11093              :                                     }
   11094              :                                 }
   11095            0 :                                 break;
   11096              :                               }
   11097              :                             default:;
   11098              :                             }
   11099              :                         }
   11100              :                       break;
   11101            0 :                     case CFN_EXP2:
   11102            0 :                       if (call_expr_nargs (_p1) == 1)
   11103              :     {
   11104            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11105            0 :                           {
   11106            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11107            0 :                             if (flag_unsafe_math_optimizations
   11108              : )
   11109              :                               {
   11110            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1465;
   11111            0 :                                 {
   11112            0 :                                   tree res_op0;
   11113            0 :                                   {
   11114            0 :                                     tree _o1[2], _r1;
   11115            0 :                                     _o1[0] = captures[1];
   11116            0 :                                     _o1[1] = captures[3];
   11117            0 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11118            0 :                                     res_op0 = _r1;
   11119              :                                   }
   11120            0 :                                   tree _r;
   11121            0 :                                   _r = maybe_build_call_expr_loc (loc, CFN_EXP2, type, 1, res_op0);
   11122            0 :                                   if (!_r)
   11123            0 :                                     goto next_after_fail1465;
   11124            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 974, __FILE__, __LINE__, true);
   11125            0 :                                   return _r;
   11126              :                                 }
   11127            0 : next_after_fail1465:;
   11128              :                               }
   11129              :                           }
   11130              :                         }
   11131              :                       break;
   11132              :                     default:;
   11133              :                     }
   11134              :                   break;
   11135              :                 default:;
   11136              :                 }
   11137              :             }
   11138              :           break;
   11139            0 :         case CFN_SQRT:
   11140            0 :           if (call_expr_nargs (_p0) == 1)
   11141              :     {
   11142            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11143            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11144              :                 {
   11145            0 :                   {
   11146            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   11147            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_SQRT);
   11148            0 :                     if (res) return res;
   11149              :                   }
   11150              :                 }
   11151            0 :               switch (TREE_CODE (_p1))
   11152              :                 {
   11153            0 :                 case CALL_EXPR:
   11154            0 :                   switch (get_call_combined_fn (_p1))
   11155              :                     {
   11156            0 :                     case CFN_SQRT:
   11157            0 :                       if (call_expr_nargs (_p1) == 1)
   11158              :     {
   11159            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11160            0 :                           {
   11161            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11162            0 :                             if (flag_unsafe_math_optimizations
   11163              : )
   11164              :                               {
   11165            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1466;
   11166            0 :                                 {
   11167            0 :                                   tree res_op0;
   11168            0 :                                   {
   11169            0 :                                     tree _o1[2], _r1;
   11170            0 :                                     _o1[0] = captures[1];
   11171            0 :                                     _o1[1] = captures[3];
   11172            0 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11173            0 :                                     res_op0 = _r1;
   11174              :                                   }
   11175            0 :                                   tree _r;
   11176            0 :                                   _r = maybe_build_call_expr_loc (loc, CFN_SQRT, type, 1, res_op0);
   11177            0 :                                   if (!_r)
   11178            0 :                                     goto next_after_fail1466;
   11179            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 973, __FILE__, __LINE__, true);
   11180            0 :                                   return _r;
   11181              :                                 }
   11182            0 : next_after_fail1466:;
   11183              :                               }
   11184              :                           }
   11185              :                         }
   11186              :                       break;
   11187              :                     default:;
   11188              :                     }
   11189              :                   break;
   11190              :                 default:;
   11191              :                 }
   11192              :             }
   11193              :           break;
   11194            0 :         case CFN_EXP10:
   11195            0 :           if (call_expr_nargs (_p0) == 1)
   11196              :     {
   11197            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11198            0 :               switch (TREE_CODE (_p1))
   11199              :                 {
   11200            0 :                 case CALL_EXPR:
   11201            0 :                   switch (get_call_combined_fn (_p1))
   11202              :                     {
   11203            0 :                     case CFN_POW:
   11204            0 :                       if (call_expr_nargs (_p1) == 2)
   11205              :     {
   11206            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11207            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11208            0 :                           switch (TREE_CODE (_q40))
   11209              :                             {
   11210            0 :                             case REAL_CST:
   11211            0 :                               {
   11212            0 :                                 {
   11213            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11214            0 :                                   if (flag_unsafe_math_optimizations
   11215              : )
   11216              :                                     {
   11217            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11218            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11219              : )
   11220              :                                         {
   11221            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1467;
   11222            0 :                                           {
   11223            0 :                                             tree res_op0;
   11224            0 :                                             {
   11225            0 :                                               tree _o1[2], _r1;
   11226            0 :                                               {
   11227            0 :                                                 tree _o2[2], _r2;
   11228            0 :                                                 {
   11229            0 :                                                   tree _o3[1], _r3;
   11230            0 :                                                   _o3[0] = captures[1];
   11231            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11232            0 :                                                   if (!_r3)
   11233            0 :                                                     goto next_after_fail1467;
   11234            0 :                                                   _o2[0] = _r3;
   11235              :                                                 }
   11236            0 :                                                 _o2[1] = captures[2];
   11237            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11238            0 :                                                 _o1[0] = _r2;
   11239              :                                               }
   11240            0 :                                               _o1[1] = captures[4];
   11241            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11242            0 :                                               res_op0 = _r1;
   11243              :                                             }
   11244            0 :                                             tree _r;
   11245            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP10, type, 1, res_op0);
   11246            0 :                                             if (!_r)
   11247            0 :                                               goto next_after_fail1467;
   11248            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
   11249            0 :                                             return _r;
   11250              :                                           }
   11251            0 : next_after_fail1467:;
   11252              :                                         }
   11253              :                                     }
   11254              :                                 }
   11255            0 :                                 break;
   11256              :                               }
   11257              :                             default:;
   11258              :                             }
   11259              :                         }
   11260              :                       break;
   11261            0 :                     case CFN_EXP10:
   11262            0 :                       if (call_expr_nargs (_p1) == 1)
   11263              :     {
   11264            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11265            0 :                           {
   11266            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11267            0 :                             if (flag_unsafe_math_optimizations
   11268              : )
   11269              :                               {
   11270            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1468;
   11271            0 :                                 {
   11272            0 :                                   tree res_op0;
   11273            0 :                                   {
   11274            0 :                                     tree _o1[2], _r1;
   11275            0 :                                     _o1[0] = captures[1];
   11276            0 :                                     _o1[1] = captures[3];
   11277            0 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11278            0 :                                     res_op0 = _r1;
   11279              :                                   }
   11280            0 :                                   tree _r;
   11281            0 :                                   _r = maybe_build_call_expr_loc (loc, CFN_EXP10, type, 1, res_op0);
   11282            0 :                                   if (!_r)
   11283            0 :                                     goto next_after_fail1468;
   11284            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 974, __FILE__, __LINE__, true);
   11285            0 :                                   return _r;
   11286              :                                 }
   11287            0 : next_after_fail1468:;
   11288              :                               }
   11289              :                           }
   11290              :                         }
   11291              :                       break;
   11292              :                     default:;
   11293              :                     }
   11294              :                   break;
   11295              :                 default:;
   11296              :                 }
   11297              :             }
   11298              :           break;
   11299           12 :         case CFN_BUILT_IN_CBRTF:
   11300           12 :           if (call_expr_nargs (_p0) == 1)
   11301              :     {
   11302           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11303           12 :               switch (TREE_CODE (_p1))
   11304              :                 {
   11305           12 :                 case CALL_EXPR:
   11306           12 :                   switch (get_call_combined_fn (_p1))
   11307              :                     {
   11308           12 :                     case CFN_BUILT_IN_CBRTF:
   11309           12 :                       if (call_expr_nargs (_p1) == 1)
   11310              :     {
   11311           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11312           12 :                           {
   11313           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11314           12 :                             if (flag_unsafe_math_optimizations
   11315              : )
   11316              :                               {
   11317           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1469;
   11318           12 :                                 {
   11319           12 :                                   tree res_op0;
   11320           12 :                                   {
   11321           12 :                                     tree _o1[2], _r1;
   11322           12 :                                     _o1[0] = captures[1];
   11323           12 :                                     _o1[1] = captures[3];
   11324           12 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11325           12 :                                     res_op0 = _r1;
   11326              :                                   }
   11327           12 :                                   tree _r;
   11328           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTF, type, 1, res_op0);
   11329           12 :                                   if (!_r)
   11330            0 :                                     goto next_after_fail1469;
   11331           12 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 973, __FILE__, __LINE__, true);
   11332           12 :                                   return _r;
   11333              :                                 }
   11334            0 : next_after_fail1469:;
   11335              :                               }
   11336              :                           }
   11337              :                         }
   11338              :                       break;
   11339              :                     default:;
   11340              :                     }
   11341              :                   break;
   11342              :                 default:;
   11343              :                 }
   11344              :             }
   11345              :           break;
   11346           12 :         case CFN_BUILT_IN_CBRTL:
   11347           12 :           if (call_expr_nargs (_p0) == 1)
   11348              :     {
   11349           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11350           12 :               switch (TREE_CODE (_p1))
   11351              :                 {
   11352           12 :                 case CALL_EXPR:
   11353           12 :                   switch (get_call_combined_fn (_p1))
   11354              :                     {
   11355           12 :                     case CFN_BUILT_IN_CBRTL:
   11356           12 :                       if (call_expr_nargs (_p1) == 1)
   11357              :     {
   11358           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11359           12 :                           {
   11360           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11361           12 :                             if (flag_unsafe_math_optimizations
   11362              : )
   11363              :                               {
   11364           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1470;
   11365           12 :                                 {
   11366           12 :                                   tree res_op0;
   11367           12 :                                   {
   11368           12 :                                     tree _o1[2], _r1;
   11369           12 :                                     _o1[0] = captures[1];
   11370           12 :                                     _o1[1] = captures[3];
   11371           12 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11372           12 :                                     res_op0 = _r1;
   11373              :                                   }
   11374           12 :                                   tree _r;
   11375           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTL, type, 1, res_op0);
   11376           12 :                                   if (!_r)
   11377            0 :                                     goto next_after_fail1470;
   11378           12 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 973, __FILE__, __LINE__, true);
   11379           12 :                                   return _r;
   11380              :                                 }
   11381            0 : next_after_fail1470:;
   11382              :                               }
   11383              :                           }
   11384              :                         }
   11385              :                       break;
   11386              :                     default:;
   11387              :                     }
   11388              :                   break;
   11389              :                 default:;
   11390              :                 }
   11391              :             }
   11392              :           break;
   11393            0 :         case CFN_LDEXP:
   11394            0 :           if (call_expr_nargs (_p0) == 2)
   11395              :     {
   11396            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11397            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   11398            0 :               switch (TREE_CODE (_p1))
   11399              :                 {
   11400            0 :                 case REAL_CST:
   11401            0 :                   {
   11402            0 :                     {
   11403            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   11404            0 :                       tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_LDEXP);
   11405            0 :                       if (res) return res;
   11406              :                     }
   11407            0 :                     break;
   11408              :                   }
   11409            0 :                 default:;
   11410              :                 }
   11411            0 :               switch (TREE_CODE (_q20))
   11412              :                 {
   11413            0 :                 case REAL_CST:
   11414            0 :                   {
   11415            0 :                     {
   11416            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   11417            0 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_LDEXP);
   11418            0 :                       if (res) return res;
   11419              :                     }
   11420            0 :                     break;
   11421              :                   }
   11422              :                 default:;
   11423              :                 }
   11424              :             }
   11425              :           break;
   11426           48 :         case CFN_BUILT_IN_EXP10:
   11427           48 :           if (call_expr_nargs (_p0) == 1)
   11428              :     {
   11429           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11430           48 :               switch (TREE_CODE (_p1))
   11431              :                 {
   11432           24 :                 case CALL_EXPR:
   11433           24 :                   switch (get_call_combined_fn (_p1))
   11434              :                     {
   11435            0 :                     case CFN_BUILT_IN_POW:
   11436            0 :                       if (call_expr_nargs (_p1) == 2)
   11437              :     {
   11438            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11439            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11440            0 :                           switch (TREE_CODE (_q40))
   11441              :                             {
   11442            0 :                             case REAL_CST:
   11443            0 :                               {
   11444            0 :                                 {
   11445            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11446            0 :                                   if (flag_unsafe_math_optimizations
   11447              : )
   11448              :                                     {
   11449            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11450            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11451              : )
   11452              :                                         {
   11453            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1471;
   11454            0 :                                           {
   11455            0 :                                             tree res_op0;
   11456            0 :                                             {
   11457            0 :                                               tree _o1[2], _r1;
   11458            0 :                                               {
   11459            0 :                                                 tree _o2[2], _r2;
   11460            0 :                                                 {
   11461            0 :                                                   tree _o3[1], _r3;
   11462            0 :                                                   _o3[0] = captures[1];
   11463            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11464            0 :                                                   if (!_r3)
   11465            0 :                                                     goto next_after_fail1471;
   11466            0 :                                                   _o2[0] = _r3;
   11467              :                                                 }
   11468            0 :                                                 _o2[1] = captures[2];
   11469            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11470            0 :                                                 _o1[0] = _r2;
   11471              :                                               }
   11472            0 :                                               _o1[1] = captures[4];
   11473            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11474            0 :                                               res_op0 = _r1;
   11475              :                                             }
   11476            0 :                                             tree _r;
   11477            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, type, 1, res_op0);
   11478            0 :                                             if (!_r)
   11479            0 :                                               goto next_after_fail1471;
   11480            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
   11481            0 :                                             return _r;
   11482              :                                           }
   11483            0 : next_after_fail1471:;
   11484              :                                         }
   11485              :                                     }
   11486              :                                 }
   11487            0 :                                 break;
   11488              :                               }
   11489              :                             default:;
   11490              :                             }
   11491              :                         }
   11492              :                       break;
   11493           24 :                     case CFN_BUILT_IN_EXP10:
   11494           24 :                       if (call_expr_nargs (_p1) == 1)
   11495              :     {
   11496           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11497           24 :                           {
   11498           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11499           24 :                             if (flag_unsafe_math_optimizations
   11500              : )
   11501              :                               {
   11502           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1472;
   11503           24 :                                 {
   11504           24 :                                   tree res_op0;
   11505           24 :                                   {
   11506           24 :                                     tree _o1[2], _r1;
   11507           24 :                                     _o1[0] = captures[1];
   11508           24 :                                     _o1[1] = captures[3];
   11509           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11510           24 :                                     res_op0 = _r1;
   11511              :                                   }
   11512           24 :                                   tree _r;
   11513           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, type, 1, res_op0);
   11514           24 :                                   if (!_r)
   11515            0 :                                     goto next_after_fail1472;
   11516           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 974, __FILE__, __LINE__, true);
   11517           24 :                                   return _r;
   11518              :                                 }
   11519            0 : next_after_fail1472:;
   11520              :                               }
   11521              :                           }
   11522              :                         }
   11523              :                       break;
   11524              :                     default:;
   11525              :                     }
   11526              :                   break;
   11527              :                 default:;
   11528              :                 }
   11529              :             }
   11530              :           break;
   11531           48 :         case CFN_BUILT_IN_EXP2F:
   11532           48 :           if (call_expr_nargs (_p0) == 1)
   11533              :     {
   11534           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11535           48 :               switch (TREE_CODE (_p1))
   11536              :                 {
   11537           24 :                 case CALL_EXPR:
   11538           24 :                   switch (get_call_combined_fn (_p1))
   11539              :                     {
   11540            0 :                     case CFN_BUILT_IN_POWF:
   11541            0 :                       if (call_expr_nargs (_p1) == 2)
   11542              :     {
   11543            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11544            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11545            0 :                           switch (TREE_CODE (_q40))
   11546              :                             {
   11547            0 :                             case REAL_CST:
   11548            0 :                               {
   11549            0 :                                 {
   11550            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11551            0 :                                   if (flag_unsafe_math_optimizations
   11552              : )
   11553              :                                     {
   11554            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11555            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11556              : )
   11557              :                                         {
   11558            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1473;
   11559            0 :                                           {
   11560            0 :                                             tree res_op0;
   11561            0 :                                             {
   11562            0 :                                               tree _o1[2], _r1;
   11563            0 :                                               {
   11564            0 :                                                 tree _o2[2], _r2;
   11565            0 :                                                 {
   11566            0 :                                                   tree _o3[1], _r3;
   11567            0 :                                                   _o3[0] = captures[1];
   11568            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2F, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11569            0 :                                                   if (!_r3)
   11570            0 :                                                     goto next_after_fail1473;
   11571            0 :                                                   _o2[0] = _r3;
   11572              :                                                 }
   11573            0 :                                                 _o2[1] = captures[2];
   11574            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11575            0 :                                                 _o1[0] = _r2;
   11576              :                                               }
   11577            0 :                                               _o1[1] = captures[4];
   11578            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11579            0 :                                               res_op0 = _r1;
   11580              :                                             }
   11581            0 :                                             tree _r;
   11582            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, type, 1, res_op0);
   11583            0 :                                             if (!_r)
   11584            0 :                                               goto next_after_fail1473;
   11585            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
   11586            0 :                                             return _r;
   11587              :                                           }
   11588            0 : next_after_fail1473:;
   11589              :                                         }
   11590              :                                     }
   11591              :                                 }
   11592            0 :                                 break;
   11593              :                               }
   11594              :                             default:;
   11595              :                             }
   11596              :                         }
   11597              :                       break;
   11598           24 :                     case CFN_BUILT_IN_EXP2F:
   11599           24 :                       if (call_expr_nargs (_p1) == 1)
   11600              :     {
   11601           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11602           24 :                           {
   11603           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11604           24 :                             if (flag_unsafe_math_optimizations
   11605              : )
   11606              :                               {
   11607           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1474;
   11608           24 :                                 {
   11609           24 :                                   tree res_op0;
   11610           24 :                                   {
   11611           24 :                                     tree _o1[2], _r1;
   11612           24 :                                     _o1[0] = captures[1];
   11613           24 :                                     _o1[1] = captures[3];
   11614           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11615           24 :                                     res_op0 = _r1;
   11616              :                                   }
   11617           24 :                                   tree _r;
   11618           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, type, 1, res_op0);
   11619           24 :                                   if (!_r)
   11620            0 :                                     goto next_after_fail1474;
   11621           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 974, __FILE__, __LINE__, true);
   11622           24 :                                   return _r;
   11623              :                                 }
   11624            0 : next_after_fail1474:;
   11625              :                               }
   11626              :                           }
   11627              :                         }
   11628              :                       break;
   11629              :                     default:;
   11630              :                     }
   11631              :                   break;
   11632              :                 default:;
   11633              :                 }
   11634              :             }
   11635              :           break;
   11636           48 :         case CFN_BUILT_IN_EXP2L:
   11637           48 :           if (call_expr_nargs (_p0) == 1)
   11638              :     {
   11639           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11640           48 :               switch (TREE_CODE (_p1))
   11641              :                 {
   11642           24 :                 case CALL_EXPR:
   11643           24 :                   switch (get_call_combined_fn (_p1))
   11644              :                     {
   11645            0 :                     case CFN_BUILT_IN_POWL:
   11646            0 :                       if (call_expr_nargs (_p1) == 2)
   11647              :     {
   11648            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11649            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11650            0 :                           switch (TREE_CODE (_q40))
   11651              :                             {
   11652            0 :                             case REAL_CST:
   11653            0 :                               {
   11654            0 :                                 {
   11655            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11656            0 :                                   if (flag_unsafe_math_optimizations
   11657              : )
   11658              :                                     {
   11659            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11660            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11661              : )
   11662              :                                         {
   11663            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1475;
   11664            0 :                                           {
   11665            0 :                                             tree res_op0;
   11666            0 :                                             {
   11667            0 :                                               tree _o1[2], _r1;
   11668            0 :                                               {
   11669            0 :                                                 tree _o2[2], _r2;
   11670            0 :                                                 {
   11671            0 :                                                   tree _o3[1], _r3;
   11672            0 :                                                   _o3[0] = captures[1];
   11673            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11674            0 :                                                   if (!_r3)
   11675            0 :                                                     goto next_after_fail1475;
   11676            0 :                                                   _o2[0] = _r3;
   11677              :                                                 }
   11678            0 :                                                 _o2[1] = captures[2];
   11679            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11680            0 :                                                 _o1[0] = _r2;
   11681              :                                               }
   11682            0 :                                               _o1[1] = captures[4];
   11683            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11684            0 :                                               res_op0 = _r1;
   11685              :                                             }
   11686            0 :                                             tree _r;
   11687            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, type, 1, res_op0);
   11688            0 :                                             if (!_r)
   11689            0 :                                               goto next_after_fail1475;
   11690            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
   11691            0 :                                             return _r;
   11692              :                                           }
   11693            0 : next_after_fail1475:;
   11694              :                                         }
   11695              :                                     }
   11696              :                                 }
   11697            0 :                                 break;
   11698              :                               }
   11699              :                             default:;
   11700              :                             }
   11701              :                         }
   11702              :                       break;
   11703           24 :                     case CFN_BUILT_IN_EXP2L:
   11704           24 :                       if (call_expr_nargs (_p1) == 1)
   11705              :     {
   11706           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11707           24 :                           {
   11708           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11709           24 :                             if (flag_unsafe_math_optimizations
   11710              : )
   11711              :                               {
   11712           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1476;
   11713           24 :                                 {
   11714           24 :                                   tree res_op0;
   11715           24 :                                   {
   11716           24 :                                     tree _o1[2], _r1;
   11717           24 :                                     _o1[0] = captures[1];
   11718           24 :                                     _o1[1] = captures[3];
   11719           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11720           24 :                                     res_op0 = _r1;
   11721              :                                   }
   11722           24 :                                   tree _r;
   11723           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, type, 1, res_op0);
   11724           24 :                                   if (!_r)
   11725            0 :                                     goto next_after_fail1476;
   11726           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 974, __FILE__, __LINE__, true);
   11727           24 :                                   return _r;
   11728              :                                 }
   11729            0 : next_after_fail1476:;
   11730              :                               }
   11731              :                           }
   11732              :                         }
   11733              :                       break;
   11734              :                     default:;
   11735              :                     }
   11736              :                   break;
   11737              :                 default:;
   11738              :                 }
   11739              :             }
   11740              :           break;
   11741            5 :         case CFN_BUILT_IN_LDEXP:
   11742            5 :           if (call_expr_nargs (_p0) == 2)
   11743              :     {
   11744            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11745            5 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   11746            5 :               switch (TREE_CODE (_p1))
   11747              :                 {
   11748            2 :                 case REAL_CST:
   11749            2 :                   {
   11750            2 :                     {
   11751            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   11752            2 :                       tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXP);
   11753            2 :                       if (res) return res;
   11754              :                     }
   11755            1 :                     break;
   11756              :                   }
   11757            4 :                 default:;
   11758              :                 }
   11759            4 :               switch (TREE_CODE (_q20))
   11760              :                 {
   11761            3 :                 case REAL_CST:
   11762            3 :                   {
   11763            3 :                     {
   11764            3 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   11765            3 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXP);
   11766            3 :                       if (res) return res;
   11767              :                     }
   11768            0 :                     break;
   11769              :                   }
   11770              :                 default:;
   11771              :                 }
   11772              :             }
   11773              :           break;
   11774           24 :         case CFN_BUILT_IN_POW10:
   11775           24 :           if (call_expr_nargs (_p0) == 1)
   11776              :     {
   11777           24 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11778           24 :               switch (TREE_CODE (_p1))
   11779              :                 {
   11780           12 :                 case CALL_EXPR:
   11781           12 :                   switch (get_call_combined_fn (_p1))
   11782              :                     {
   11783            0 :                     case CFN_BUILT_IN_POW:
   11784            0 :                       if (call_expr_nargs (_p1) == 2)
   11785              :     {
   11786            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11787            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11788            0 :                           switch (TREE_CODE (_q40))
   11789              :                             {
   11790            0 :                             case REAL_CST:
   11791            0 :                               {
   11792            0 :                                 {
   11793            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11794            0 :                                   if (flag_unsafe_math_optimizations
   11795              : )
   11796              :                                     {
   11797            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11798            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11799              : )
   11800              :                                         {
   11801            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1477;
   11802            0 :                                           {
   11803            0 :                                             tree res_op0;
   11804            0 :                                             {
   11805            0 :                                               tree _o1[2], _r1;
   11806            0 :                                               {
   11807            0 :                                                 tree _o2[2], _r2;
   11808            0 :                                                 {
   11809            0 :                                                   tree _o3[1], _r3;
   11810            0 :                                                   _o3[0] = captures[1];
   11811            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11812            0 :                                                   if (!_r3)
   11813            0 :                                                     goto next_after_fail1477;
   11814            0 :                                                   _o2[0] = _r3;
   11815              :                                                 }
   11816            0 :                                                 _o2[1] = captures[2];
   11817            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11818            0 :                                                 _o1[0] = _r2;
   11819              :                                               }
   11820            0 :                                               _o1[1] = captures[4];
   11821            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11822            0 :                                               res_op0 = _r1;
   11823              :                                             }
   11824            0 :                                             tree _r;
   11825            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, type, 1, res_op0);
   11826            0 :                                             if (!_r)
   11827            0 :                                               goto next_after_fail1477;
   11828            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
   11829            0 :                                             return _r;
   11830              :                                           }
   11831            0 : next_after_fail1477:;
   11832              :                                         }
   11833              :                                     }
   11834              :                                 }
   11835            0 :                                 break;
   11836              :                               }
   11837              :                             default:;
   11838              :                             }
   11839              :                         }
   11840              :                       break;
   11841           12 :                     case CFN_BUILT_IN_POW10:
   11842           12 :                       if (call_expr_nargs (_p1) == 1)
   11843              :     {
   11844           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11845           12 :                           {
   11846           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11847           12 :                             if (flag_unsafe_math_optimizations
   11848              : )
   11849              :                               {
   11850           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1478;
   11851           12 :                                 {
   11852           12 :                                   tree res_op0;
   11853           12 :                                   {
   11854           12 :                                     tree _o1[2], _r1;
   11855           12 :                                     _o1[0] = captures[1];
   11856           12 :                                     _o1[1] = captures[3];
   11857           12 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11858           12 :                                     res_op0 = _r1;
   11859              :                                   }
   11860           12 :                                   tree _r;
   11861           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, type, 1, res_op0);
   11862           12 :                                   if (!_r)
   11863           12 :                                     goto next_after_fail1478;
   11864            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 974, __FILE__, __LINE__, true);
   11865            0 :                                   return _r;
   11866              :                                 }
   11867           12 : next_after_fail1478:;
   11868              :                               }
   11869              :                           }
   11870              :                         }
   11871              :                       break;
   11872              :                     default:;
   11873              :                     }
   11874              :                   break;
   11875              :                 default:;
   11876              :                 }
   11877              :             }
   11878              :           break;
   11879              :         default:;
   11880              :         }
   11881              :       break;
   11882     64992470 :     default:;
   11883              :     }
   11884     64992470 :   switch (TREE_CODE (_p1))
   11885              :     {
   11886       865870 :     case CALL_EXPR:
   11887       865870 :       switch (get_call_combined_fn (_p1))
   11888              :         {
   11889            0 :         case CFN_BUILT_IN_LDEXPF:
   11890            0 :           if (call_expr_nargs (_p1) == 2)
   11891              :     {
   11892            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   11893            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   11894            0 :               switch (TREE_CODE (_q30))
   11895              :                 {
   11896            0 :                 case REAL_CST:
   11897            0 :                   {
   11898            0 :                     {
   11899            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
   11900            0 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPF);
   11901            0 :                       if (res) return res;
   11902              :                     }
   11903            0 :                     break;
   11904              :                   }
   11905              :                 default:;
   11906              :                 }
   11907              :             }
   11908              :           break;
   11909            0 :         case CFN_BUILT_IN_LDEXPL:
   11910            0 :           if (call_expr_nargs (_p1) == 2)
   11911              :     {
   11912            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   11913            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   11914            0 :               switch (TREE_CODE (_q30))
   11915              :                 {
   11916            0 :                 case REAL_CST:
   11917            0 :                   {
   11918            0 :                     {
   11919            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
   11920            0 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPL);
   11921            0 :                       if (res) return res;
   11922              :                     }
   11923            0 :                     break;
   11924              :                   }
   11925              :                 default:;
   11926              :                 }
   11927              :             }
   11928              :           break;
   11929            0 :         case CFN_LDEXP:
   11930            0 :           if (call_expr_nargs (_p1) == 2)
   11931              :     {
   11932            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   11933            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   11934            0 :               switch (TREE_CODE (_q30))
   11935              :                 {
   11936            0 :                 case REAL_CST:
   11937            0 :                   {
   11938            0 :                     {
   11939            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
   11940            0 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_LDEXP);
   11941            0 :                       if (res) return res;
   11942              :                     }
   11943            0 :                     break;
   11944              :                   }
   11945              :                 default:;
   11946              :                 }
   11947              :             }
   11948              :           break;
   11949            0 :         case CFN_BUILT_IN_LDEXP:
   11950            0 :           if (call_expr_nargs (_p1) == 2)
   11951              :     {
   11952            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   11953            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   11954            0 :               switch (TREE_CODE (_q30))
   11955              :                 {
   11956            0 :                 case REAL_CST:
   11957            0 :                   {
   11958            0 :                     {
   11959            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
   11960            0 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXP);
   11961            0 :                       if (res) return res;
   11962              :                     }
   11963            0 :                     break;
   11964              :                   }
   11965              :                 default:;
   11966              :                 }
   11967              :             }
   11968              :           break;
   11969              :         default:;
   11970              :         }
   11971              :       break;
   11972     64992470 :     default:;
   11973              :     }
   11974     64992470 :   switch (TREE_CODE (_p0))
   11975              :     {
   11976      2413923 :     case CALL_EXPR:
   11977      2413923 :       switch (get_call_combined_fn (_p0))
   11978              :         {
   11979           29 :         case CFN_BUILT_IN_COS:
   11980           29 :           if (call_expr_nargs (_p0) == 1)
   11981              :     {
   11982           29 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11983           29 :               switch (TREE_CODE (_p1))
   11984              :                 {
   11985            4 :                 case CALL_EXPR:
   11986            4 :                   switch (get_call_combined_fn (_p1))
   11987              :                     {
   11988            2 :                     case CFN_BUILT_IN_TAN:
   11989            2 :                       if (call_expr_nargs (_p1) == 1)
   11990              :     {
   11991            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11992            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   11993              :                             {
   11994            2 :                               {
   11995            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
   11996            2 :                                 tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_COS, CFN_BUILT_IN_SIN);
   11997            2 :                                 if (res) return res;
   11998              :                               }
   11999              :                             }
   12000              :                         }
   12001              :                       break;
   12002              :                     default:;
   12003              :                     }
   12004              :                   break;
   12005              :                 default:;
   12006              :                 }
   12007              :             }
   12008              :           break;
   12009            2 :         case CFN_BUILT_IN_TAN:
   12010            2 :           if (call_expr_nargs (_p0) == 1)
   12011              :     {
   12012            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12013            2 :               switch (TREE_CODE (_p1))
   12014              :                 {
   12015            2 :                 case CALL_EXPR:
   12016            2 :                   switch (get_call_combined_fn (_p1))
   12017              :                     {
   12018            2 :                     case CFN_BUILT_IN_COS:
   12019            2 :                       if (call_expr_nargs (_p1) == 1)
   12020              :     {
   12021            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12022            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12023              :                             {
   12024            2 :                               {
   12025            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   12026            2 :                                 tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_COS, CFN_BUILT_IN_SIN);
   12027            2 :                                 if (res) return res;
   12028              :                               }
   12029              :                             }
   12030              :                         }
   12031              :                       break;
   12032              :                     default:;
   12033              :                     }
   12034              :                   break;
   12035              :                 default:;
   12036              :                 }
   12037              :             }
   12038              :           break;
   12039           18 :         case CFN_BUILT_IN_COSF:
   12040           18 :           if (call_expr_nargs (_p0) == 1)
   12041              :     {
   12042           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12043           18 :               switch (TREE_CODE (_p1))
   12044              :                 {
   12045            9 :                 case CALL_EXPR:
   12046            9 :                   switch (get_call_combined_fn (_p1))
   12047              :                     {
   12048            2 :                     case CFN_BUILT_IN_TANF:
   12049            2 :                       if (call_expr_nargs (_p1) == 1)
   12050              :     {
   12051            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12052            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12053              :                             {
   12054            2 :                               {
   12055            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
   12056            2 :                                 tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_SINF);
   12057            2 :                                 if (res) return res;
   12058              :                               }
   12059              :                             }
   12060              :                         }
   12061              :                       break;
   12062              :                     default:;
   12063              :                     }
   12064              :                   break;
   12065              :                 default:;
   12066              :                 }
   12067              :             }
   12068              :           break;
   12069            2 :         case CFN_BUILT_IN_COSL:
   12070            2 :           if (call_expr_nargs (_p0) == 1)
   12071              :     {
   12072            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12073            2 :               switch (TREE_CODE (_p1))
   12074              :                 {
   12075            2 :                 case CALL_EXPR:
   12076            2 :                   switch (get_call_combined_fn (_p1))
   12077              :                     {
   12078            2 :                     case CFN_BUILT_IN_TANL:
   12079            2 :                       if (call_expr_nargs (_p1) == 1)
   12080              :     {
   12081            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12082            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12083              :                             {
   12084            2 :                               {
   12085            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
   12086            2 :                                 tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_SINL);
   12087            2 :                                 if (res) return res;
   12088              :                               }
   12089              :                             }
   12090              :                         }
   12091              :                       break;
   12092              :                     default:;
   12093              :                     }
   12094              :                   break;
   12095              :                 default:;
   12096              :                 }
   12097              :             }
   12098              :           break;
   12099            2 :         case CFN_BUILT_IN_TANF:
   12100            2 :           if (call_expr_nargs (_p0) == 1)
   12101              :     {
   12102            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12103            2 :               switch (TREE_CODE (_p1))
   12104              :                 {
   12105            2 :                 case CALL_EXPR:
   12106            2 :                   switch (get_call_combined_fn (_p1))
   12107              :                     {
   12108            2 :                     case CFN_BUILT_IN_COSF:
   12109            2 :                       if (call_expr_nargs (_p1) == 1)
   12110              :     {
   12111            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12112            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12113              :                             {
   12114            2 :                               {
   12115            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   12116            2 :                                 tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_SINF);
   12117            2 :                                 if (res) return res;
   12118              :                               }
   12119              :                             }
   12120              :                         }
   12121              :                       break;
   12122              :                     default:;
   12123              :                     }
   12124              :                   break;
   12125              :                 default:;
   12126              :                 }
   12127              :             }
   12128              :           break;
   12129            2 :         case CFN_BUILT_IN_TANL:
   12130            2 :           if (call_expr_nargs (_p0) == 1)
   12131              :     {
   12132            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12133            2 :               switch (TREE_CODE (_p1))
   12134              :                 {
   12135            2 :                 case CALL_EXPR:
   12136            2 :                   switch (get_call_combined_fn (_p1))
   12137              :                     {
   12138            2 :                     case CFN_BUILT_IN_COSL:
   12139            2 :                       if (call_expr_nargs (_p1) == 1)
   12140              :     {
   12141            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12142            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12143              :                             {
   12144            2 :                               {
   12145            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   12146            2 :                                 tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_SINL);
   12147            2 :                                 if (res) return res;
   12148              :                               }
   12149              :                             }
   12150              :                         }
   12151              :                       break;
   12152              :                     default:;
   12153              :                     }
   12154              :                   break;
   12155              :                 default:;
   12156              :                 }
   12157              :             }
   12158              :           break;
   12159            0 :         case CFN_COS:
   12160            0 :           if (call_expr_nargs (_p0) == 1)
   12161              :     {
   12162            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12163            0 :               switch (TREE_CODE (_p1))
   12164              :                 {
   12165            0 :                 case CALL_EXPR:
   12166            0 :                   switch (get_call_combined_fn (_p1))
   12167              :                     {
   12168            0 :                     case CFN_TAN:
   12169            0 :                       if (call_expr_nargs (_p1) == 1)
   12170              :     {
   12171            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12172            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12173              :                             {
   12174            0 :                               {
   12175            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
   12176            0 :                                 tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_TAN, CFN_COS, CFN_SIN);
   12177            0 :                                 if (res) return res;
   12178              :                               }
   12179              :                             }
   12180              :                         }
   12181              :                       break;
   12182              :                     default:;
   12183              :                     }
   12184              :                   break;
   12185              :                 default:;
   12186              :                 }
   12187              :             }
   12188              :           break;
   12189            0 :         case CFN_TAN:
   12190            0 :           if (call_expr_nargs (_p0) == 1)
   12191              :     {
   12192            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12193            0 :               switch (TREE_CODE (_p1))
   12194              :                 {
   12195            0 :                 case CALL_EXPR:
   12196            0 :                   switch (get_call_combined_fn (_p1))
   12197              :                     {
   12198            0 :                     case CFN_COS:
   12199            0 :                       if (call_expr_nargs (_p1) == 1)
   12200              :     {
   12201            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12202            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12203              :                             {
   12204            0 :                               {
   12205            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   12206            0 :                                 tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_TAN, CFN_COS, CFN_SIN);
   12207            0 :                                 if (res) return res;
   12208              :                               }
   12209              :                             }
   12210              :                         }
   12211              :                       break;
   12212              :                     default:;
   12213              :                     }
   12214              :                   break;
   12215              :                 default:;
   12216              :                 }
   12217              :             }
   12218              :           break;
   12219              :         default:;
   12220              :         }
   12221              :       break;
   12222     64992458 :     default:;
   12223              :     }
   12224     64992458 :   switch (TREE_CODE (_p1))
   12225              :     {
   12226       865858 :     case CALL_EXPR:
   12227       865858 :       switch (get_call_combined_fn (_p1))
   12228              :         {
   12229           60 :         case CFN_BUILT_IN_POW:
   12230           60 :           if (call_expr_nargs (_p1) == 2)
   12231              :     {
   12232           60 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12233           60 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12234           60 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12235              :                 {
   12236            0 :                   switch (TREE_CODE (_q31))
   12237              :                     {
   12238            0 :                     case REAL_CST:
   12239            0 :                       {
   12240            0 :                         {
   12241            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   12242            0 :                           tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
   12243            0 :                           if (res) return res;
   12244              :                         }
   12245            0 :                         break;
   12246              :                       }
   12247              :                     default:;
   12248              :                     }
   12249              :                 }
   12250              :             }
   12251              :           break;
   12252           23 :         case CFN_BUILT_IN_POWF:
   12253           23 :           if (call_expr_nargs (_p1) == 2)
   12254              :     {
   12255           23 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12256           23 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12257           23 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12258              :                 {
   12259            0 :                   switch (TREE_CODE (_q31))
   12260              :                     {
   12261            0 :                     case REAL_CST:
   12262            0 :                       {
   12263            0 :                         {
   12264            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   12265            0 :                           tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
   12266            0 :                           if (res) return res;
   12267              :                         }
   12268            0 :                         break;
   12269              :                       }
   12270              :                     default:;
   12271              :                     }
   12272              :                 }
   12273              :             }
   12274              :           break;
   12275           12 :         case CFN_BUILT_IN_POWL:
   12276           12 :           if (call_expr_nargs (_p1) == 2)
   12277              :     {
   12278           12 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12279           12 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12280           12 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12281              :                 {
   12282            0 :                   switch (TREE_CODE (_q31))
   12283              :                     {
   12284            0 :                     case REAL_CST:
   12285            0 :                       {
   12286            0 :                         {
   12287            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   12288            0 :                           tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
   12289            0 :                           if (res) return res;
   12290              :                         }
   12291            0 :                         break;
   12292              :                       }
   12293              :                     default:;
   12294              :                     }
   12295              :                 }
   12296              :             }
   12297              :           break;
   12298            0 :         case CFN_POW:
   12299            0 :           if (call_expr_nargs (_p1) == 2)
   12300              :     {
   12301            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12302            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12303            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12304              :                 {
   12305            0 :                   switch (TREE_CODE (_q31))
   12306              :                     {
   12307            0 :                     case REAL_CST:
   12308            0 :                       {
   12309            0 :                         {
   12310            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   12311            0 :                           tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_POW);
   12312            0 :                           if (res) return res;
   12313              :                         }
   12314            0 :                         break;
   12315              :                       }
   12316              :                     default:;
   12317              :                     }
   12318              :                 }
   12319              :             }
   12320              :           break;
   12321              :         default:;
   12322              :         }
   12323              :       break;
   12324     64992458 :     default:;
   12325              :     }
   12326     64992458 :   switch (TREE_CODE (_p0))
   12327              :     {
   12328            1 :     case VEC_PERM_EXPR:
   12329            1 :       {
   12330            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12331            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12332            1 :         tree _q22 = TREE_OPERAND (_p0, 2);
   12333            1 :         if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
   12334              :           {
   12335            1 :             switch (TREE_CODE (_p1))
   12336              :               {
   12337            0 :               case VEC_PERM_EXPR:
   12338            0 :                 {
   12339            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
   12340            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
   12341            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
   12342            0 :                   if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
   12343              :                     {
   12344            0 :                       if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
   12345              :                         {
   12346            0 :                           {
   12347            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
   12348            0 :                             if (VECTOR_INTEGER_TYPE_P (type)
   12349              : )
   12350              :                               {
   12351            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1479;
   12352            0 :                                 {
   12353            0 :                                   tree res_op0;
   12354            0 :                                   {
   12355            0 :                                     tree _o1[2], _r1;
   12356            0 :                                     _o1[0] = captures[0];
   12357            0 :                                     _o1[1] = captures[2];
   12358            0 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12359            0 :                                     captures[3] = _r1;
   12360              :                                   }
   12361            0 :                                   res_op0 = unshare_expr (captures[3]);
   12362            0 :                                   tree res_op1;
   12363            0 :                                   res_op1 = captures[3];
   12364            0 :                                   tree res_op2;
   12365            0 :                                   res_op2 = captures[1];
   12366            0 :                                   tree _r;
   12367            0 :                                   _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
   12368            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
   12369            0 :                                   return _r;
   12370              :                                 }
   12371            0 : next_after_fail1479:;
   12372              :                               }
   12373              :                           }
   12374              :                         }
   12375              :                     }
   12376              :                   break;
   12377              :                 }
   12378            1 :               default:;
   12379              :               }
   12380            1 :             switch (TREE_CODE (_q22))
   12381              :               {
   12382            0 :               case VECTOR_CST:
   12383            0 :                 {
   12384            0 :                   switch (TREE_CODE (_p1))
   12385              :                     {
   12386            0 :                     case VEC_PERM_EXPR:
   12387            0 :                       {
   12388            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   12389            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   12390            0 :                         tree _q62 = TREE_OPERAND (_p1, 2);
   12391            0 :                         if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
   12392              :                           {
   12393            0 :                             if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
   12394              :                               {
   12395            0 :                                 switch (TREE_CODE (_q62))
   12396              :                                   {
   12397            0 :                                   case VECTOR_CST:
   12398            0 :                                     {
   12399            0 :                                       {
   12400            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
   12401            0 :                                         tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, MULT_EXPR);
   12402            0 :                                         if (res) return res;
   12403              :                                       }
   12404            0 :                                       break;
   12405              :                                     }
   12406              :                                   default:;
   12407              :                                   }
   12408              :                               }
   12409              :                           }
   12410              :                         break;
   12411              :                       }
   12412              :                     default:;
   12413              :                     }
   12414              :                   break;
   12415              :                 }
   12416              :               default:;
   12417              :               }
   12418              :           }
   12419              :         break;
   12420              :       }
   12421      2413911 :     case CALL_EXPR:
   12422      2413911 :       switch (get_call_combined_fn (_p0))
   12423              :         {
   12424          115 :         case CFN_BUILT_IN_POW:
   12425          115 :           if (call_expr_nargs (_p0) == 2)
   12426              :     {
   12427          115 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12428          115 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12429          115 :               switch (TREE_CODE (_p1))
   12430              :                 {
   12431           80 :                 case CALL_EXPR:
   12432           80 :                   switch (get_call_combined_fn (_p1))
   12433              :                     {
   12434           20 :                     case CFN_BUILT_IN_POW:
   12435           20 :                       if (call_expr_nargs (_p1) == 2)
   12436              :     {
   12437           20 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12438           20 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12439           20 :                           if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12440              :                             {
   12441           14 :                               {
   12442           14 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   12443           14 :                                 tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
   12444           14 :                                 if (res) return res;
   12445              :                               }
   12446              :                             }
   12447            6 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12448              :                             {
   12449            2 :                               {
   12450            2 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12451            2 :                                 tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
   12452            2 :                                 if (res) return res;
   12453              :                               }
   12454              :                             }
   12455              :                         }
   12456              :                       break;
   12457              :                     default:;
   12458              :                     }
   12459              :                   break;
   12460              :                 default:;
   12461              :                 }
   12462              :             }
   12463              :           break;
   12464           19 :         case CFN_BUILT_IN_POWF:
   12465           19 :           if (call_expr_nargs (_p0) == 2)
   12466              :     {
   12467           19 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12468           19 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12469           19 :               switch (TREE_CODE (_p1))
   12470              :                 {
   12471           13 :                 case CALL_EXPR:
   12472           13 :                   switch (get_call_combined_fn (_p1))
   12473              :                     {
   12474           13 :                     case CFN_BUILT_IN_POWF:
   12475           13 :                       if (call_expr_nargs (_p1) == 2)
   12476              :     {
   12477           13 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12478           13 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12479           13 :                           if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12480              :                             {
   12481           12 :                               {
   12482           12 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   12483           12 :                                 tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
   12484           12 :                                 if (res) return res;
   12485              :                               }
   12486              :                             }
   12487            1 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12488              :                             {
   12489            0 :                               {
   12490            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12491            0 :                                 tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
   12492            0 :                                 if (res) return res;
   12493              :                               }
   12494              :                             }
   12495              :                         }
   12496              :                       break;
   12497              :                     default:;
   12498              :                     }
   12499              :                   break;
   12500              :                 default:;
   12501              :                 }
   12502              :             }
   12503              :           break;
   12504           35 :         case CFN_BUILT_IN_POWI:
   12505           35 :           if (call_expr_nargs (_p0) == 2)
   12506              :     {
   12507           35 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12508           35 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12509           35 :               switch (TREE_CODE (_p1))
   12510              :                 {
   12511            0 :                 case CALL_EXPR:
   12512            0 :                   switch (get_call_combined_fn (_p1))
   12513              :                     {
   12514            0 :                     case CFN_BUILT_IN_POWI:
   12515            0 :                       if (call_expr_nargs (_p1) == 2)
   12516              :     {
   12517            0 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12518            0 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12519            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12520              :                             {
   12521            0 :                               {
   12522            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12523            0 :                                 if (flag_unsafe_math_optimizations && canonicalize_math_p ()
   12524              : )
   12525              :                                   {
   12526            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1480;
   12527            0 :                                     {
   12528            0 :                                       tree res_op0;
   12529            0 :                                       {
   12530            0 :                                         tree _o1[2], _r1;
   12531            0 :                                         _o1[0] = captures[1];
   12532            0 :                                         _o1[1] = captures[4];
   12533            0 :                                         _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12534            0 :                                         res_op0 = _r1;
   12535              :                                       }
   12536            0 :                                       tree res_op1;
   12537            0 :                                       res_op1 = captures[2];
   12538            0 :                                       tree _r;
   12539            0 :                                       _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POWI, type, 2, res_op0, res_op1);
   12540            0 :                                       if (!_r)
   12541            0 :                                         goto next_after_fail1480;
   12542            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 976, __FILE__, __LINE__, true);
   12543            0 :                                       return _r;
   12544              :                                     }
   12545            0 : next_after_fail1480:;
   12546              :                                   }
   12547              :                               }
   12548              :                             }
   12549              :                         }
   12550              :                       break;
   12551              :                     default:;
   12552              :                     }
   12553              :                   break;
   12554              :                 default:;
   12555              :                 }
   12556              :             }
   12557              :           break;
   12558           12 :         case CFN_BUILT_IN_POWL:
   12559           12 :           if (call_expr_nargs (_p0) == 2)
   12560              :     {
   12561           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12562           12 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12563           12 :               switch (TREE_CODE (_p1))
   12564              :                 {
   12565           12 :                 case CALL_EXPR:
   12566           12 :                   switch (get_call_combined_fn (_p1))
   12567              :                     {
   12568           12 :                     case CFN_BUILT_IN_POWL:
   12569           12 :                       if (call_expr_nargs (_p1) == 2)
   12570              :     {
   12571           12 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12572           12 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12573           12 :                           if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12574              :                             {
   12575           12 :                               {
   12576           12 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   12577           12 :                                 tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
   12578           12 :                                 if (res) return res;
   12579              :                               }
   12580              :                             }
   12581            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12582              :                             {
   12583            0 :                               {
   12584            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12585            0 :                                 tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
   12586            0 :                                 if (res) return res;
   12587              :                               }
   12588              :                             }
   12589              :                         }
   12590              :                       break;
   12591              :                     default:;
   12592              :                     }
   12593              :                   break;
   12594              :                 default:;
   12595              :                 }
   12596              :             }
   12597              :           break;
   12598            0 :         case CFN_POW:
   12599            0 :           if (call_expr_nargs (_p0) == 2)
   12600              :     {
   12601            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12602            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12603            0 :               switch (TREE_CODE (_p1))
   12604              :                 {
   12605            0 :                 case CALL_EXPR:
   12606            0 :                   switch (get_call_combined_fn (_p1))
   12607              :                     {
   12608            0 :                     case CFN_POW:
   12609            0 :                       if (call_expr_nargs (_p1) == 2)
   12610              :     {
   12611            0 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12612            0 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12613            0 :                           if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12614              :                             {
   12615            0 :                               {
   12616            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   12617            0 :                                 tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_POW);
   12618            0 :                                 if (res) return res;
   12619              :                               }
   12620              :                             }
   12621            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12622              :                             {
   12623            0 :                               {
   12624            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12625            0 :                                 tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, CFN_POW);
   12626            0 :                                 if (res) return res;
   12627              :                               }
   12628              :                             }
   12629              :                         }
   12630              :                       break;
   12631              :                     default:;
   12632              :                     }
   12633              :                   break;
   12634              :                 default:;
   12635              :                 }
   12636              :             }
   12637              :           break;
   12638           14 :         case CFN_BUILT_IN_POWIF:
   12639           14 :           if (call_expr_nargs (_p0) == 2)
   12640              :     {
   12641           14 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12642           14 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12643           14 :               switch (TREE_CODE (_p1))
   12644              :                 {
   12645            0 :                 case CALL_EXPR:
   12646            0 :                   switch (get_call_combined_fn (_p1))
   12647              :                     {
   12648            0 :                     case CFN_BUILT_IN_POWIF:
   12649            0 :                       if (call_expr_nargs (_p1) == 2)
   12650              :     {
   12651            0 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12652            0 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12653            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12654              :                             {
   12655            0 :                               {
   12656            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12657            0 :                                 if (flag_unsafe_math_optimizations && canonicalize_math_p ()
   12658              : )
   12659              :                                   {
   12660            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1481;
   12661            0 :                                     {
   12662            0 :                                       tree res_op0;
   12663            0 :                                       {
   12664            0 :                                         tree _o1[2], _r1;
   12665            0 :                                         _o1[0] = captures[1];
   12666            0 :                                         _o1[1] = captures[4];
   12667            0 :                                         _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12668            0 :                                         res_op0 = _r1;
   12669              :                                       }
   12670            0 :                                       tree res_op1;
   12671            0 :                                       res_op1 = captures[2];
   12672            0 :                                       tree _r;
   12673            0 :                                       _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POWIF, type, 2, res_op0, res_op1);
   12674            0 :                                       if (!_r)
   12675            0 :                                         goto next_after_fail1481;
   12676            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 976, __FILE__, __LINE__, true);
   12677            0 :                                       return _r;
   12678              :                                     }
   12679            0 : next_after_fail1481:;
   12680              :                                   }
   12681              :                               }
   12682              :                             }
   12683              :                         }
   12684              :                       break;
   12685              :                     default:;
   12686              :                     }
   12687              :                   break;
   12688              :                 default:;
   12689              :                 }
   12690              :             }
   12691              :           break;
   12692            5 :         case CFN_BUILT_IN_POWIL:
   12693            5 :           if (call_expr_nargs (_p0) == 2)
   12694              :     {
   12695            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12696            5 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12697            5 :               switch (TREE_CODE (_p1))
   12698              :                 {
   12699            0 :                 case CALL_EXPR:
   12700            0 :                   switch (get_call_combined_fn (_p1))
   12701              :                     {
   12702            0 :                     case CFN_BUILT_IN_POWIL:
   12703            0 :                       if (call_expr_nargs (_p1) == 2)
   12704              :     {
   12705            0 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12706            0 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12707            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12708              :                             {
   12709            0 :                               {
   12710            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12711            0 :                                 if (flag_unsafe_math_optimizations && canonicalize_math_p ()
   12712              : )
   12713              :                                   {
   12714            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1482;
   12715            0 :                                     {
   12716            0 :                                       tree res_op0;
   12717            0 :                                       {
   12718            0 :                                         tree _o1[2], _r1;
   12719            0 :                                         _o1[0] = captures[1];
   12720            0 :                                         _o1[1] = captures[4];
   12721            0 :                                         _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12722            0 :                                         res_op0 = _r1;
   12723              :                                       }
   12724            0 :                                       tree res_op1;
   12725            0 :                                       res_op1 = captures[2];
   12726            0 :                                       tree _r;
   12727            0 :                                       _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POWIL, type, 2, res_op0, res_op1);
   12728            0 :                                       if (!_r)
   12729            0 :                                         goto next_after_fail1482;
   12730            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 976, __FILE__, __LINE__, true);
   12731            0 :                                       return _r;
   12732              :                                     }
   12733            0 : next_after_fail1482:;
   12734              :                                   }
   12735              :                               }
   12736              :                             }
   12737              :                         }
   12738              :                       break;
   12739              :                     default:;
   12740              :                     }
   12741              :                   break;
   12742              :                 default:;
   12743              :                 }
   12744              :             }
   12745              :           break;
   12746              :         default:;
   12747              :         }
   12748              :       break;
   12749              :     default:;
   12750              :     }
   12751              :   return NULL_TREE;
   12752              : }
   12753              : #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.