LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-4.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 39.4 % 7743 3054
Test Date: 2026-08-01 15:33:25 Functions: 61.0 % 59 36
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    132716432 : tree_negate_expr_p (tree t)
      11              : {
      12    132716432 :   const tree type = TREE_TYPE (t);
      13    132716432 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14    132716432 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15    127605501 :   switch (TREE_CODE (t))
      16              :     {
      17      7797328 :     case INTEGER_CST:
      18      7797328 :       {
      19      7797328 :         {
      20      7797328 :           if ((INTEGRAL_TYPE_P (type)
      21      7797328 :  && TYPE_UNSIGNED (type))
      22     10013601 :  || (!TYPE_OVERFLOW_SANITIZED (type)
      23      2213488 :  && may_negate_without_overflow_p (t))
      24              : )
      25              :             {
      26      7781422 :               {
      27      7781422 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 14, __FILE__, __LINE__, false);
      28      7781422 :                 return true;
      29              :               }
      30              :             }
      31              :         }
      32              :         break;
      33              :       }
      34            0 :     case FIXED_CST:
      35            0 :       {
      36            0 :         {
      37            0 :           {
      38            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 15, __FILE__, __LINE__, false);
      39              :             return true;
      40              :           }
      41              :         }
      42       413728 :         break;
      43              :       }
      44       413728 :     case NEGATE_EXPR:
      45       413728 :       {
      46       413728 :         tree _p0 = TREE_OPERAND (t, 0);
      47       413728 :         {
      48       413728 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      49       413728 :           if (!TYPE_OVERFLOW_SANITIZED (type)
      50              : )
      51              :             {
      52       413708 :               {
      53       413708 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 16, __FILE__, __LINE__, false);
      54       413708 :                 return true;
      55              :               }
      56              :             }
      57              :         }
      58              :         break;
      59              :       }
      60       750627 :     case REAL_CST:
      61       750627 :       {
      62       750627 :         {
      63       750627 :           if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (t))
      64              : )
      65              :             {
      66          639 :               {
      67          639 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 17, __FILE__, __LINE__, false);
      68          639 :                 return true;
      69              :               }
      70              :             }
      71              :         }
      72              :         break;
      73              :       }
      74          457 :     case VECTOR_CST:
      75          457 :       {
      76          457 :         {
      77          457 :           if (FLOAT_TYPE_P (TREE_TYPE (type)) || TYPE_OVERFLOW_WRAPS (type)
      78              : )
      79              :             {
      80          329 :               {
      81          329 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 18, __FILE__, __LINE__, false);
      82          329 :                 return true;
      83              :               }
      84              :             }
      85              :         }
      86              :         break;
      87              :       }
      88      1242974 :     case MINUS_EXPR:
      89      1242974 :       {
      90      1242974 :         tree _p0 = TREE_OPERAND (t, 0);
      91      1242974 :         tree _p1 = TREE_OPERAND (t, 1);
      92      1242974 :         {
      93      1242974 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      94      1242974 :           if ((ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_WRAPS (type))
      95      2161234 :  || (FLOAT_TYPE_P (type)
      96       659631 :  && !HONOR_SIGN_DEPENDENT_ROUNDING (type)
      97       659631 :  && !HONOR_SIGNED_ZEROS (type))
      98              : )
      99              :             {
     100       325287 :               {
     101       325287 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 19, __FILE__, __LINE__, false);
     102       325287 :                 return true;
     103              :               }
     104              :             }
     105              :         }
     106       917687 :         break;
     107              :       }
     108              :     default:;
     109              :     }
     110              :   return false;
     111              : }
     112              : 
     113              : bool
     114            0 : tree_double_value_p (tree t)
     115              : {
     116            0 :   const tree type = TREE_TYPE (t);
     117            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     118            0 :   if (TREE_SIDE_EFFECTS (t)) return false;
     119            0 :   {
     120            0 :     tree captures[1] ATTRIBUTE_UNUSED = { t };
     121            0 :     if (TYPE_MAIN_VARIANT (TREE_TYPE (captures[0])) == double_type_node
     122              : )
     123              :       {
     124            0 :         {
     125            0 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 44, __FILE__, __LINE__, false);
     126            0 :           return true;
     127              :         }
     128              :       }
     129              :   }
     130              :   return false;
     131              : }
     132              : 
     133              : tree
     134            0 : generic_simplify_6 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     135              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     136              : {
     137            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     138            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail77;
     139            0 :   {
     140            0 :     tree res_op0;
     141            0 :     {
     142            0 :       tree _o1[2], _r1;
     143            0 :       _o1[0] = captures[1];
     144            0 :       _o1[1] = captures[2];
     145            0 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     146            0 :       res_op0 = _r1;
     147              :     }
     148            0 :     tree _r;
     149            0 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     150            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 54, __FILE__, __LINE__, true);
     151              :     return _r;
     152              :   }
     153            0 : next_after_fail77:;
     154            0 :   return NULL_TREE;
     155              : }
     156              : 
     157              : tree
     158            1 : generic_simplify_15 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     159              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     160              : {
     161            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     162            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail89;
     163            1 :   {
     164            1 :     tree res_op0;
     165            1 :     res_op0 = captures[0];
     166            1 :     tree _r;
     167            1 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     168            1 :     if (TREE_SIDE_EFFECTS (captures[1]))
     169            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     170            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 64, __FILE__, __LINE__, true);
     171              :     return _r;
     172              :   }
     173            0 : next_after_fail89:;
     174            0 :   return NULL_TREE;
     175              : }
     176              : 
     177              : tree
     178            8 : generic_simplify_20 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     179              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     180              : {
     181            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     182            8 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     183              : )
     184              :     {
     185            8 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail94;
     186            8 :       {
     187            8 :         tree res_op0;
     188            8 :         {
     189            8 :           tree _o1[2], _r1;
     190            8 :           _o1[0] = captures[1];
     191            8 :           {
     192            8 :             tree _o2[1], _r2;
     193            8 :             _o2[0] = captures[0];
     194            8 :             _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
     195            8 :             _o1[1] = _r2;
     196              :           }
     197            8 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     198            8 :           res_op0 = _r1;
     199              :         }
     200            8 :         tree _r;
     201            8 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     202            8 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 69, __FILE__, __LINE__, true);
     203            8 :         return _r;
     204              :       }
     205            0 : next_after_fail94:;
     206              :     }
     207              :   return NULL_TREE;
     208              : }
     209              : 
     210              : tree
     211      2130005 : generic_simplify_30 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     212              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     213              :  const enum tree_code ARG_UNUSED (bitop))
     214              : {
     215      2130005 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     216      2130005 :   if (((TREE_CODE (captures[3]) == INTEGER_CST
     217            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     218            0 :  && (int_fits_type_p (captures[3], TREE_TYPE (captures[1]))
     219            0 :  || tree_nop_conversion_p (TREE_TYPE (captures[1]), type)))
     220      2130005 :  || types_match (captures[1], captures[3]))
     221      1992131 :  && !POINTER_TYPE_P (TREE_TYPE (captures[1]))
     222      1991867 :  && !VECTOR_TYPE_P (TREE_TYPE (captures[1]))
     223      1991689 :  && TREE_CODE (TREE_TYPE (captures[1])) != OFFSET_TYPE
     224      1991689 :  && (bitop != BIT_AND_EXPR ||
     225              : 
     226              : )
     227      2130005 :  && (
     228      1159857 :  TYPE_PRECISION (TREE_TYPE (captures[1])) < TYPE_PRECISION (type)
     229              :  || (
     230              : 
     231              :  && TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (type))
     232      1067116 :  || GET_MODE_CLASS (TYPE_MODE (type)) != MODE_INT
     233      1067116 :  || !type_has_mode_precision_p (type)
     234      1067116 :  || (
     235              : 
     236              :  && TREE_CODE (captures[3]) != INTEGER_CST
     237              :  && tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     238              :  && single_use (captures[0])
     239              :  && single_use (captures[2])))
     240              : )
     241              :     {
     242        92741 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail104;
     243        92741 :       {
     244        92741 :         tree res_op0;
     245        92741 :         {
     246        92741 :           tree _o1[2], _r1;
     247        92741 :           _o1[0] = captures[1];
     248        92741 :           {
     249        92741 :             tree _o2[1], _r2;
     250        92741 :             _o2[0] = captures[3];
     251        92741 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     252              :               {
     253        53166 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     254              :               }
     255              :             else
     256              :               _r2 = _o2[0];
     257        92741 :             _o1[1] = _r2;
     258              :           }
     259        92741 :           _r1 = fold_build2_loc (loc, bitop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     260        92741 :           res_op0 = _r1;
     261              :         }
     262        92741 :         tree _r;
     263        92741 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     264        92741 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 79, __FILE__, __LINE__, true);
     265        92741 :         return _r;
     266              :       }
     267            0 : next_after_fail104:;
     268              :     }
     269              :   return NULL_TREE;
     270              : }
     271              : 
     272              : tree
     273            2 : generic_simplify_44 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     274              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     275              : {
     276            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     277            2 :   if (INTEGRAL_TYPE_P (type)
     278            2 :  && (
     279              : 
     280            2 :  || !TREE_SIDE_EFFECTS (captures[1]))
     281              : )
     282              :     {
     283            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail121;
     284            2 :       {
     285            2 :         tree res_op0;
     286            2 :         {
     287            2 :           tree _o1[1], _r1;
     288            2 :           _o1[0] = captures[2];
     289            2 :           if (TREE_TYPE (_o1[0]) != boolean_type_node)
     290              :             {
     291            2 :               _r1 = fold_build1_loc (loc, NOP_EXPR, boolean_type_node, _o1[0]);
     292              :             }
     293              :           else
     294              :             _r1 = _o1[0];
     295            2 :           res_op0 = _r1;
     296              :         }
     297            2 :         tree res_op1;
     298            2 :         res_op1 = captures[1];
     299            2 :         tree res_op2;
     300            2 :         res_op2 = captures[0];
     301            2 :         tree _r;
     302            2 :         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
     303            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 91, __FILE__, __LINE__, true);
     304            2 :         return _r;
     305              :       }
     306            0 : next_after_fail121:;
     307              :     }
     308              :   return NULL_TREE;
     309              : }
     310              : 
     311              : tree
     312           18 : generic_simplify_48 (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_fail126;
     323           18 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail126;
     324           18 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail126;
     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_fail126:;
     342              :     }
     343              :   return NULL_TREE;
     344              : }
     345              : 
     346              : tree
     347            0 : generic_simplify_58 (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            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     351            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail138;
     352            0 :   {
     353            0 :     tree res_op0;
     354            0 :     res_op0 = captures[0];
     355            0 :     tree res_op1;
     356            0 :     res_op1 = captures[1];
     357            0 :     tree _r;
     358            0 :     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     359            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 107, __FILE__, __LINE__, true);
     360              :     return _r;
     361              :   }
     362            0 : next_after_fail138:;
     363            0 :   return NULL_TREE;
     364              : }
     365              : 
     366              : tree
     367         4542 : generic_simplify_64 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     368              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     369              : {
     370         4542 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     371         4542 :   if (!TYPE_SATURATING (type)
     372              : )
     373              :     {
     374         4542 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     375         9084 :  && !FIXED_POINT_TYPE_P (type)
     376              : )
     377              :         {
     378         4542 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail152;
     379         4542 :           {
     380         4542 :             tree res_op0;
     381         4542 :             res_op0 = captures[2];
     382         4542 :             tree res_op1;
     383         4542 :             res_op1 = captures[1];
     384         4542 :             tree _r;
     385         4542 :             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     386         4542 :             if (TREE_SIDE_EFFECTS (captures[0]))
     387            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     388         4542 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 121, __FILE__, __LINE__, true);
     389         4542 :             return _r;
     390              :           }
     391            0 : next_after_fail152:;
     392              :         }
     393              :     }
     394              :   return NULL_TREE;
     395              : }
     396              : 
     397              : tree
     398         9797 : generic_simplify_71 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     399              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     400              :  const enum tree_code ARG_UNUSED (plusminus))
     401              : {
     402         9797 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     403         9797 :   if (!TYPE_SATURATING (type)
     404         9797 :  && (!FLOAT_TYPE_P (type) || flag_associative_math)
     405              : )
     406              :     {
     407         9631 :       if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
     408              : )
     409              :         {
     410            4 :           if ((!ANY_INTEGRAL_TYPE_P (type)
     411         9627 :  || TYPE_OVERFLOW_WRAPS (type)
     412         3305 :  || (INTEGRAL_TYPE_P (type)
     413         3305 :  && ((tree_expr_nonzero_p (captures[0])
     414          136 :  && expr_not_equal_to (captures[0],
     415         9767 :  wi::minus_one (TYPE_PRECISION (type)),
     416              :  gimple_match_ctx (captures[1])))
     417              :  || (plusminus == PLUS_EXPR
     418         3169 :  ? expr_not_equal_to (captures[2],
     419         9649 :  wi::max_value (TYPE_PRECISION (type), SIGNED),
     420              :  gimple_match_ctx (captures[1]))
     421         3151 :  : (expr_not_equal_to (captures[2],
     422        12782 :  wi::min_value (TYPE_PRECISION (type), SIGNED),
     423              :  gimple_match_ctx (captures[1]))
     424         3127 :  && expr_not_equal_to (captures[2],
     425         6254 :  wi::min_value (TYPE_PRECISION (type), SIGNED)
     426        19012 :  + 1, gimple_match_ctx (captures[1])))))))
     427        12800 :  && single_use (captures[1])
     428              : )
     429              :             {
     430         9607 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail160;
     431         9607 :               {
     432         9607 :                 tree res_op0;
     433         9607 :                 {
     434         9607 :                   tree _o1[2], _r1;
     435         9607 :                   _o1[0] =  build_one_cst (type);
     436         9607 :                   _o1[1] = captures[2];
     437         9607 :                   _r1 = fold_build2_loc (loc, plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     438         9607 :                   res_op0 = _r1;
     439              :                 }
     440         9607 :                 tree res_op1;
     441         9607 :                 res_op1 = captures[0];
     442         9607 :                 tree _r;
     443         9607 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     444         9607 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 129, __FILE__, __LINE__, true);
     445         9607 :                 return _r;
     446              :               }
     447            0 : next_after_fail160:;
     448              :             }
     449              :         }
     450              :     }
     451              :   return NULL_TREE;
     452              : }
     453              : 
     454              : tree
     455            4 : generic_simplify_82 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     456              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     457              :  const combined_fn ARG_UNUSED (POPCOUNT))
     458              : {
     459            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     460            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail172;
     461            4 :   {
     462            4 :     tree res_op0;
     463            4 :     {
     464            4 :       tree _o1[1], _r1;
     465            4 :       _o1[0] = captures[2];
     466            4 :       _r1 = maybe_build_call_expr_loc (loc, POPCOUNT, type, 1, _o1[0]);
     467            4 :       if (!_r1)
     468            0 :         goto next_after_fail172;
     469            4 :       res_op0 = _r1;
     470              :     }
     471            4 :     tree res_op1;
     472            4 :     {
     473            4 :       tree _o1[1], _r1;
     474            4 :       _o1[0] = captures[3];
     475            4 :       _r1 = maybe_build_call_expr_loc (loc, POPCOUNT, type, 1, _o1[0]);
     476            4 :       if (!_r1)
     477            0 :         goto next_after_fail172;
     478            4 :       res_op1 = _r1;
     479              :     }
     480            4 :     tree _r;
     481            4 :     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     482            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 141, __FILE__, __LINE__, true);
     483              :     return _r;
     484              :   }
     485              : next_after_fail172:;
     486              :   return NULL_TREE;
     487              : }
     488              : 
     489              : tree
     490            2 : generic_simplify_90 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     491              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     492              : {
     493            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     494            2 :   if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
     495            2 :  && !TYPE_SATURATING (type) && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[2]))
     496            2 :  && !TYPE_OVERFLOW_TRAPS (TREE_TYPE (captures[2]))
     497            4 :  && !TYPE_SATURATING (TREE_TYPE (captures[2]))
     498              : )
     499              :     {
     500            2 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail180;
     501            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail180;
     502            2 :       {
     503            2 :         tree res_op0;
     504            2 :         {
     505            2 :           tree _o1[1], _r1;
     506            2 :           {
     507            2 :             tree _o2[2], _r2;
     508            2 :             _o2[0] = captures[0];
     509            2 :             _o2[1] = captures[1];
     510            2 :             _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     511            2 :             _o1[0] = _r2;
     512              :           }
     513            2 :           if (TREE_TYPE (_o1[0]) != type)
     514              :             {
     515            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     516              :             }
     517              :           else
     518              :             _r1 = _o1[0];
     519            2 :           res_op0 = _r1;
     520              :         }
     521            2 :         tree _r;
     522            2 :         _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     523            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 149, __FILE__, __LINE__, true);
     524            2 :         return _r;
     525              :       }
     526              : next_after_fail180:;
     527              :     }
     528              :   return NULL_TREE;
     529              : }
     530              : 
     531              : tree
     532        43554 : generic_simplify_100 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     533              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     534              : {
     535        43554 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     536        43554 :   if (!TYPE_SATURATING (type)
     537              : )
     538              :     {
     539        43554 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     540        87108 :  && !FIXED_POINT_TYPE_P (type)
     541              : )
     542              :         {
     543            0 :           if (!ANY_INTEGRAL_TYPE_P (type)
     544        43554 :  || TYPE_OVERFLOW_WRAPS (type)
     545              : )
     546              :             {
     547        39800 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail191;
     548        39800 :               {
     549        39800 :                 tree res_op0;
     550        39800 :                 {
     551        39800 :                   tree _o1[1], _r1;
     552        39800 :                   _o1[0] = captures[1];
     553        39800 :                   if (TREE_TYPE (_o1[0]) != type)
     554              :                     {
     555          202 :                       _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     556              :                     }
     557              :                   else
     558              :                     _r1 = _o1[0];
     559        39800 :                   res_op0 = _r1;
     560              :                 }
     561        39800 :                 tree _r;
     562        39800 :                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     563        39800 :                 if (TREE_SIDE_EFFECTS (captures[0]))
     564            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     565        39800 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 159, __FILE__, __LINE__, true);
     566        39800 :                 return _r;
     567              :               }
     568            0 : next_after_fail191:;
     569              :             }
     570              :           else
     571              :             {
     572         3754 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail192;
     573         3754 :               {
     574         3754 :                 tree res_op0;
     575         3754 :                 {
     576         3754 :                   tree _o1[1], _r1;
     577         3754 :                   _o1[0] = captures[1];
     578         3754 :                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     579         3754 :                   res_op0 = _r1;
     580              :                 }
     581         3754 :                 tree _r;
     582         3754 :                 _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     583         3754 :                 if (TREE_SIDE_EFFECTS (captures[0]))
     584            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     585         3754 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 160, __FILE__, __LINE__, true);
     586         3754 :                 return _r;
     587              :               }
     588            0 : next_after_fail192:;
     589              :             }
     590              :         }
     591              :     }
     592              :   return NULL_TREE;
     593              : }
     594              : 
     595              : tree
     596            7 : generic_simplify_113 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     597              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     598              :  const enum tree_code ARG_UNUSED (bitop))
     599              : {
     600            7 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     601            7 :   if (INTEGRAL_TYPE_P (type)
     602            7 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     603            7 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     604            7 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0])) != TYPE_UNSIGNED (TREE_TYPE (captures[1]))
     605            7 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[1]))
     606           14 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) <= TYPE_PRECISION (type)
     607              : )
     608              :     {
     609            7 :       if ((bitop == BIT_AND_EXPR) == TYPE_UNSIGNED (TREE_TYPE (captures[0]))
     610              : )
     611              :         {
     612            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail209;
     613            4 :           {
     614            4 :             tree res_op0;
     615            4 :             res_op0 = captures[0];
     616            4 :             tree _r;
     617            4 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     618            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 177, __FILE__, __LINE__, true);
     619            4 :             return _r;
     620              :           }
     621            0 : next_after_fail209:;
     622              :         }
     623              :       else
     624              :         {
     625            3 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail210;
     626            3 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail210;
     627            3 :           {
     628            3 :             tree res_op0;
     629            3 :             res_op0 = captures[1];
     630            3 :             tree _r;
     631            3 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     632            3 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 178, __FILE__, __LINE__, true);
     633            3 :             return _r;
     634              :           }
     635              : next_after_fail210:;
     636              :         }
     637              :     }
     638              :   return NULL_TREE;
     639              : }
     640              : 
     641              : tree
     642            0 : generic_simplify_121 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     643              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     644              : {
     645            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     646            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail219;
     647            0 :   {
     648            0 :     tree res_op0;
     649            0 :     res_op0 = captures[0];
     650            0 :     tree res_op1;
     651            0 :     {
     652            0 :       tree _o1[1], _r1;
     653            0 :       _o1[0] = captures[2];
     654            0 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     655            0 :       res_op1 = _r1;
     656              :     }
     657            0 :     tree _r;
     658            0 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     659            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 184, __FILE__, __LINE__, true);
     660              :     return _r;
     661              :   }
     662            0 : next_after_fail219:;
     663            0 :   return NULL_TREE;
     664              : }
     665              : 
     666              : tree
     667            0 : generic_simplify_130 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     668              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     669              : {
     670            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     671            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail228;
     672            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail228;
     673            0 :   {
     674            0 :     tree _r;
     675            0 :     _r = captures[2];
     676            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 188, __FILE__, __LINE__, true);
     677              :     return _r;
     678              :   }
     679              : next_after_fail228:;
     680              :   return NULL_TREE;
     681              : }
     682              : 
     683              : tree
     684            0 : generic_simplify_138 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     685              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     686              :  const enum tree_code ARG_UNUSED (op))
     687              : {
     688            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     689            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail236;
     690            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail236;
     691            0 :   {
     692            0 :     tree _r;
     693            0 :     _r = captures[0];
     694            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 187, __FILE__, __LINE__, true);
     695              :     return _r;
     696              :   }
     697              : next_after_fail236:;
     698              :   return NULL_TREE;
     699              : }
     700              : 
     701              : tree
     702            0 : generic_simplify_147 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     703              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     704              :  const enum tree_code ARG_UNUSED (bitop),
     705              :  const enum tree_code ARG_UNUSED (rbitop))
     706              : {
     707            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     708            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail249;
     709            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail249;
     710            0 :   {
     711            0 :     tree _r;
     712            0 :     _r = captures[2];
     713            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
     714            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     715            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 200, __FILE__, __LINE__, true);
     716              :     return _r;
     717              :   }
     718              : next_after_fail249:;
     719              :   return NULL_TREE;
     720              : }
     721              : 
     722              : tree
     723            0 : generic_simplify_153 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     724              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     725              :  const enum tree_code ARG_UNUSED (op))
     726              : {
     727            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     728            0 :   if (bitwise_equal_p (captures[4], captures[7])
     729              : )
     730              :     {
     731            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail256;
     732            0 :       {
     733            0 :         tree res_op0;
     734            0 :         {
     735            0 :           tree _o1[2], _r1;
     736            0 :           {
     737            0 :             tree _o2[2], _r2;
     738            0 :             _o2[0] = captures[5];
     739            0 :             {
     740            0 :               tree _o3[1], _r3;
     741            0 :               _o3[0] = captures[6];
     742            0 :               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     743              :                 {
     744            0 :                   _r3 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     745              :                 }
     746              :               else
     747              :                 _r3 = _o3[0];
     748            0 :               _o2[1] = _r3;
     749              :             }
     750            0 :             _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     751            0 :             _o1[0] = _r2;
     752              :           }
     753            0 :           {
     754            0 :             tree _o2[1], _r2;
     755            0 :             _o2[0] = captures[4];
     756            0 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     757              :               {
     758            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     759              :               }
     760              :             else
     761              :               _r2 = _o2[0];
     762            0 :             _o1[1] = _r2;
     763              :           }
     764            0 :           _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     765            0 :           res_op0 = _r1;
     766              :         }
     767            0 :         tree _r;
     768            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     769            0 :         if (TREE_SIDE_EFFECTS (captures[7]))
     770            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[7]), _r);
     771            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 204, __FILE__, __LINE__, true);
     772            0 :         return _r;
     773              :       }
     774            0 : next_after_fail256:;
     775              :     }
     776              :   return NULL_TREE;
     777              : }
     778              : 
     779              : tree
     780            0 : generic_simplify_165 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     781              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     782              :  const enum tree_code ARG_UNUSED (cmp),
     783              :  const enum tree_code ARG_UNUSED (bitop),
     784              :  const enum tree_code ARG_UNUSED (neeq))
     785              : {
     786            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     787            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail290;
     788            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail290;
     789            0 :   {
     790            0 :     tree res_op0;
     791            0 :     {
     792            0 :       tree _o1[2], _r1;
     793            0 :       _o1[0] =  build_zero_cst (TREE_TYPE (captures[0]));
     794            0 :       _o1[1] = captures[2];
     795            0 :       _r1 = fold_build2_loc (loc, cmp, type, _o1[0], _o1[1]);
     796            0 :       res_op0 = _r1;
     797              :     }
     798            0 :     tree res_op1;
     799            0 :     res_op1 = captures[3];
     800            0 :     tree _r;
     801            0 :     _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     802            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 231, __FILE__, __LINE__, true);
     803              :     return _r;
     804              :   }
     805              : next_after_fail290:;
     806              :   return NULL_TREE;
     807              : }
     808              : 
     809              : tree
     810          414 : generic_simplify_171 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     811              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     812              :  const enum tree_code ARG_UNUSED (code2),
     813              :  const enum tree_code ARG_UNUSED (code1))
     814              : {
     815          414 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     816          414 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
     817          389 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     818          414 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     819            1 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     820            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
     821           25 :  && bitwise_equal_p (captures[2], captures[5]))
     822              : )
     823              :     {
     824          389 :       {
     825          389 :  bool one_before = false;
     826          389 :  bool one_after = false;
     827          389 :  int cmp = 0;
     828          389 :  bool allbits = true;
     829          389 :  if (TREE_CODE (captures[2]) == INTEGER_CST
     830          389 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     831              :  {
     832          389 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
     833          389 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
     834          389 :  auto t2 = wi::to_wide (captures[5]);
     835          389 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
     836          389 :  if (cmp < 0
     837          389 :  && t1 == t2 - 1)
     838              :  one_before = true;
     839          389 :  if (cmp > 0
     840          389 :  && t1 == t2 + 1)
     841              :  one_after = true;
     842              :  }
     843          389 :  bool val;
     844          389 :  switch (code2)
     845              :  {
     846          380 :  case EQ_EXPR: val = (cmp == 0); break;
     847            0 :  case NE_EXPR: val = (cmp != 0); break;
     848            0 :  case LT_EXPR: val = (cmp < 0); break;
     849            9 :  case GT_EXPR: val = (cmp > 0); break;
     850            0 :  case LE_EXPR: val = (cmp <= 0); break;
     851            0 :  case GE_EXPR: val = (cmp >= 0); break;
     852            0 :  default: gcc_unreachable ();
     853              :  }
     854          389 :           if (code1 == EQ_EXPR && val
     855              : )
     856              :             {
     857            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail303;
     858            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail303;
     859            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail303;
     860            0 :               {
     861            0 :                 tree _r;
     862            0 :                 _r = captures[3];
     863            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 214, __FILE__, __LINE__, true);
     864            0 :                 return _r;
     865              :               }
     866              : next_after_fail303:;
     867              :             }
     868              :           else
     869              :             {
     870          389 :               if (code1 == NE_EXPR && val && allbits
     871              : )
     872              :                 {
     873            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail304;
     874            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail304;
     875            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail304;
     876            0 :                   {
     877            0 :                     tree _r;
     878            0 :                     _r =  constant_boolean_node (true, type);
     879            0 :                     if (TREE_SIDE_EFFECTS (captures[4]))
     880            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
     881            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 215, __FILE__, __LINE__, true);
     882            0 :                     return _r;
     883              :                   }
     884              : next_after_fail304:;
     885              :                 }
     886              :               else
     887              :                 {
     888          389 :                   if (code1 == NE_EXPR && !val && allbits
     889              : )
     890              :                     {
     891            0 :                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail305;
     892            0 :                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail305;
     893            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail305;
     894            0 :                       {
     895            0 :                         tree _r;
     896            0 :                         _r = captures[0];
     897            0 :                         if (TREE_SIDE_EFFECTS (captures[4]))
     898            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
     899            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 216, __FILE__, __LINE__, true);
     900            0 :                         return _r;
     901              :                       }
     902              : next_after_fail305:;
     903              :                     }
     904              :                   else
     905              :                     {
     906          389 :                       if (code1 == EQ_EXPR
     907          389 :  && code2 == GT_EXPR
     908            9 :  && cmp == 0
     909            9 :  && allbits
     910          389 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     911            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     912            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     913              : )
     914              :                         {
     915            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail306;
     916            0 :                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail306;
     917            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail306;
     918            0 :                           {
     919            0 :                             tree res_op0;
     920            0 :                             res_op0 = captures[4];
     921            0 :                             tree res_op1;
     922            0 :                             res_op1 = captures[5];
     923            0 :                             tree _r;
     924            0 :                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     925            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 217, __FILE__, __LINE__, true);
     926            0 :                             return _r;
     927              :                           }
     928              : next_after_fail306:;
     929              :                         }
     930              :                       else
     931              :                         {
     932          389 :                           if (code1 == EQ_EXPR
     933          389 :  && code2 == LT_EXPR
     934            0 :  && cmp == 0
     935            0 :  && allbits
     936          389 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     937            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     938            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     939              : )
     940              :                             {
     941            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail307;
     942            0 :                               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail307;
     943            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail307;
     944            0 :                               {
     945            0 :                                 tree res_op0;
     946            0 :                                 res_op0 = captures[4];
     947            0 :                                 tree res_op1;
     948            0 :                                 res_op1 = captures[5];
     949            0 :                                 tree _r;
     950            0 :                                 _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     951            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 218, __FILE__, __LINE__, true);
     952            0 :                                 return _r;
     953              :                               }
     954              : next_after_fail307:;
     955              :                             }
     956              :                           else
     957              :                             {
     958          389 :                               if (code1 == EQ_EXPR
     959          389 :  && code2 == GE_EXPR
     960              :  && one_before
     961            0 :  && allbits
     962          389 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     963            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     964            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     965              : )
     966              :                                 {
     967            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail308;
     968            0 :                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail308;
     969            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail308;
     970            0 :                                   {
     971            0 :                                     tree res_op0;
     972            0 :                                     res_op0 = captures[4];
     973            0 :                                     tree res_op1;
     974            0 :                                     {
     975            0 :                                       tree _o1[1], _r1;
     976            0 :                                       _o1[0] = captures[2];
     977            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     978              :                                         {
     979            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     980              :                                         }
     981              :                                       else
     982              :                                         _r1 = _o1[0];
     983            0 :                                       res_op1 = _r1;
     984              :                                     }
     985            0 :                                     tree _r;
     986            0 :                                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     987            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 219, __FILE__, __LINE__, true);
     988            0 :                                     return _r;
     989              :                                   }
     990              : next_after_fail308:;
     991              :                                 }
     992              :                               else
     993              :                                 {
     994          389 :                                   if (code1 == EQ_EXPR
     995          389 :  && code2 == LE_EXPR
     996              :  && one_after
     997            0 :  && allbits
     998          389 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     999            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
    1000            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    1001              : )
    1002              :                                     {
    1003            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail309;
    1004            0 :                                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail309;
    1005            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail309;
    1006            0 :                                       {
    1007            0 :                                         tree res_op0;
    1008            0 :                                         res_op0 = captures[4];
    1009            0 :                                         tree res_op1;
    1010            0 :                                         {
    1011            0 :                                           tree _o1[1], _r1;
    1012            0 :                                           _o1[0] = captures[2];
    1013            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1014              :                                             {
    1015            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1016              :                                             }
    1017              :                                           else
    1018              :                                             _r1 = _o1[0];
    1019            0 :                                           res_op1 = _r1;
    1020              :                                         }
    1021            0 :                                         tree _r;
    1022            0 :                                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
    1023            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 220, __FILE__, __LINE__, true);
    1024            0 :                                         return _r;
    1025              :                                       }
    1026              : next_after_fail309:;
    1027              :                                     }
    1028              :                                 }
    1029              :                             }
    1030              :                         }
    1031              :                     }
    1032              :                 }
    1033              :             }
    1034              :       }
    1035              :     }
    1036              :   return NULL_TREE;
    1037              : }
    1038              : 
    1039              : tree
    1040           12 : generic_simplify_216 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1041              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1042              : {
    1043           12 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1044           24 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1045           24 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) == 1
    1046              : )
    1047              :     {
    1048            8 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail362;
    1049            8 :       {
    1050            8 :         tree res_op0;
    1051            8 :         {
    1052            8 :           tree _o1[2], _r1;
    1053            8 :           _o1[0] = captures[1];
    1054            8 :           _o1[1] = captures[2];
    1055            8 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1056            8 :           res_op0 = _r1;
    1057              :         }
    1058            8 :         tree _r;
    1059            8 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1060            8 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 274, __FILE__, __LINE__, true);
    1061            8 :         return _r;
    1062              :       }
    1063            0 : next_after_fail362:;
    1064              :     }
    1065              :   return NULL_TREE;
    1066              : }
    1067              : 
    1068              : tree
    1069         2662 : generic_simplify_220 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1070              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1071              :  const enum tree_code ARG_UNUSED (cmp))
    1072              : {
    1073         2662 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1074         5324 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1075         3498 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    1076         4432 :  && tree_expr_nonzero_p (captures[1])
    1077              : )
    1078              :     {
    1079           12 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail366;
    1080           12 :       {
    1081           12 :         tree res_op0;
    1082           12 :         res_op0 = captures[0];
    1083           12 :         tree res_op1;
    1084           12 :         res_op1 = captures[2];
    1085           12 :         tree _r;
    1086           12 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1087           12 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1088            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1089           12 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 278, __FILE__, __LINE__, true);
    1090           12 :         return _r;
    1091              :       }
    1092            0 : next_after_fail366:;
    1093              :     }
    1094              :   return NULL_TREE;
    1095              : }
    1096              : 
    1097              : tree
    1098            0 : generic_simplify_227 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1099              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1100              :  const enum tree_code ARG_UNUSED (op))
    1101              : {
    1102            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1103            0 :   if (!TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
    1104              : )
    1105              :     {
    1106            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail386;
    1107            0 :       {
    1108            0 :         tree res_op0;
    1109            0 :         res_op0 = captures[3];
    1110            0 :         tree res_op1;
    1111            0 :         res_op1 = captures[2];
    1112            0 :         tree _r;
    1113            0 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1114            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1115            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1116            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 298, __FILE__, __LINE__, true);
    1117            0 :         return _r;
    1118              :       }
    1119            0 : next_after_fail386:;
    1120              :     }
    1121              :   return NULL_TREE;
    1122              : }
    1123              : 
    1124              : tree
    1125         1063 : generic_simplify_235 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1126              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1127              :  const enum tree_code ARG_UNUSED (minmax),
    1128              :  const enum tree_code ARG_UNUSED (cmp),
    1129              :  const enum tree_code ARG_UNUSED (out))
    1130              : {
    1131         1063 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1132         2126 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1133         1208 :  && (!VECTOR_TYPE_P (TREE_TYPE (captures[0]))
    1134            1 :  || (VECTOR_TYPE_P (type)
    1135            0 :  && (!expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, cmp)
    1136            0 :  || expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, out))))
    1137              : )
    1138              :     {
    1139          144 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail394;
    1140          144 :       {
    1141          144 :         tree res_op0;
    1142          144 :         res_op0 = captures[0];
    1143          144 :         tree res_op1;
    1144          144 :         res_op1 = captures[1];
    1145          144 :         tree _r;
    1146          144 :         _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    1147          144 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 305, __FILE__, __LINE__, true);
    1148          144 :         return _r;
    1149              :       }
    1150            0 : next_after_fail394:;
    1151              :     }
    1152              :   return NULL_TREE;
    1153              : }
    1154              : 
    1155              : tree
    1156          697 : generic_simplify_243 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1157              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1158              :  const enum tree_code ARG_UNUSED (cmp))
    1159              : {
    1160          697 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1161          697 :   if (tree_fits_shwi_p (captures[3])
    1162          697 :  && tree_to_shwi (captures[3]) > 0
    1163         1380 :  && tree_to_shwi (captures[3]) < TYPE_PRECISION (TREE_TYPE (captures[2]))
    1164              : )
    1165              :     {
    1166          683 :       {
    1167          683 :  tree t0 = TREE_TYPE (captures[2]);
    1168          683 :  unsigned int prec = TYPE_PRECISION (t0);
    1169          683 :  wide_int c1 = wi::to_wide (captures[3]);
    1170          683 :  wide_int c2 = wi::to_wide (captures[4]);
    1171          683 :  wide_int c3 = wi::to_wide (captures[5]);
    1172          683 :  wide_int sb = wi::set_bit_in_zero (prec - 1, prec);
    1173          683 :           if ((c2 & c3) != c3
    1174              : )
    1175              :             {
    1176            0 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail407;
    1177            0 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail407;
    1178            0 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail407;
    1179            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail407;
    1180            0 :               {
    1181            0 :                 tree _r;
    1182            0 :                 _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1183            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1184            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1185            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 318, __FILE__, __LINE__, true);
    1186            0 :                 return _r;
    1187              :               }
    1188            0 : next_after_fail407:;
    1189              :             }
    1190              :           else
    1191              :             {
    1192          683 :               if (TYPE_UNSIGNED (t0)
    1193              : )
    1194              :                 {
    1195          561 :                   if ((c3 & wi::arshift (sb, c1 - 1)) != 0
    1196              : )
    1197              :                     {
    1198            0 :                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail408;
    1199            0 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail408;
    1200            0 :                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail408;
    1201            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail408;
    1202            0 :                       {
    1203            0 :                         tree _r;
    1204            0 :                         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1205            0 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    1206            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1207            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 319, __FILE__, __LINE__, true);
    1208            0 :                         return _r;
    1209              :                       }
    1210            0 : next_after_fail408:;
    1211              :                     }
    1212              :                   else
    1213              :                     {
    1214          561 :                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail409;
    1215          561 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail409;
    1216          561 :                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail409;
    1217          561 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail409;
    1218          561 :                       {
    1219          561 :                         tree res_op0;
    1220          561 :                         {
    1221          561 :                           tree _o1[2], _r1;
    1222          561 :                           _o1[0] = captures[2];
    1223          561 :                           _o1[1] =  wide_int_to_tree (t0, c2 << c1);
    1224          561 :                           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1225          561 :                           res_op0 = _r1;
    1226              :                         }
    1227          561 :                         tree res_op1;
    1228          561 :                         res_op1 =  wide_int_to_tree (t0, c3 << c1);
    1229          561 :                         tree _r;
    1230          561 :                         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1231          561 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 320, __FILE__, __LINE__, true);
    1232          561 :                         return _r;
    1233              :                       }
    1234            0 : next_after_fail409:;
    1235              :                     }
    1236              :                 }
    1237              :               else
    1238              :                 {
    1239          122 :                   {
    1240          122 :  wide_int smask = wi::arshift (sb, c1);
    1241          122 :                       if ((c2 & smask) == 0
    1242              : )
    1243              :                         {
    1244          120 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail410;
    1245          120 :                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail410;
    1246          120 :                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail410;
    1247          120 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail410;
    1248          120 :                           {
    1249          120 :                             tree res_op0;
    1250          120 :                             {
    1251          120 :                               tree _o1[2], _r1;
    1252          120 :                               _o1[0] = captures[2];
    1253          120 :                               _o1[1] =  wide_int_to_tree (t0, c2 << c1);
    1254          120 :                               _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1255          120 :                               res_op0 = _r1;
    1256              :                             }
    1257          120 :                             tree res_op1;
    1258          120 :                             res_op1 =  wide_int_to_tree (t0, c3 << c1);
    1259          120 :                             tree _r;
    1260          120 :                             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1261          120 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 321, __FILE__, __LINE__, true);
    1262          120 :                             return _r;
    1263              :                           }
    1264            0 : next_after_fail410:;
    1265              :                         }
    1266              :                       else
    1267              :                         {
    1268            2 :                           if ((c3 & smask) == 0
    1269              : )
    1270              :                             {
    1271            2 :                               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail411;
    1272            2 :                               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail411;
    1273            2 :                               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail411;
    1274            2 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail411;
    1275            2 :                               {
    1276            2 :                                 tree res_op0;
    1277            2 :                                 {
    1278            2 :                                   tree _o1[2], _r1;
    1279            2 :                                   _o1[0] = captures[2];
    1280            2 :                                   _o1[1] =  wide_int_to_tree (t0, (c2 << c1) | sb);
    1281            2 :                                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1282            2 :                                   res_op0 = _r1;
    1283              :                                 }
    1284            2 :                                 tree res_op1;
    1285            2 :                                 res_op1 =  wide_int_to_tree (t0, c3 << c1);
    1286            2 :                                 tree _r;
    1287            2 :                                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1288            2 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 322, __FILE__, __LINE__, true);
    1289            2 :                                 return _r;
    1290              :                               }
    1291            0 : next_after_fail411:;
    1292              :                             }
    1293              :                           else
    1294              :                             {
    1295            0 :                               if ((c2 & smask) != (c3 & smask)
    1296              : )
    1297              :                                 {
    1298            0 :                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail412;
    1299            0 :                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail412;
    1300            0 :                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail412;
    1301            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail412;
    1302            0 :                                   {
    1303            0 :                                     tree _r;
    1304            0 :                                     _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1305            0 :                                     if (TREE_SIDE_EFFECTS (captures[2]))
    1306            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1307            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 323, __FILE__, __LINE__, true);
    1308            0 :                                     return _r;
    1309              :                                   }
    1310            0 : next_after_fail412:;
    1311              :                                 }
    1312              :                               else
    1313              :                                 {
    1314            0 :                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail413;
    1315            0 :                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail413;
    1316            0 :                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail413;
    1317            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail413;
    1318            0 :                                   {
    1319            0 :                                     tree res_op0;
    1320            0 :                                     {
    1321            0 :                                       tree _o1[2], _r1;
    1322            0 :                                       _o1[0] = captures[2];
    1323            0 :                                       _o1[1] =  wide_int_to_tree (t0, (c2 << c1) | sb);
    1324            0 :                                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1325            0 :                                       res_op0 = _r1;
    1326              :                                     }
    1327            0 :                                     tree res_op1;
    1328            0 :                                     res_op1 =  wide_int_to_tree (t0, (c3 << c1) | sb);
    1329            0 :                                     tree _r;
    1330            0 :                                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1331            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 324, __FILE__, __LINE__, true);
    1332            0 :                                     return _r;
    1333              :                                   }
    1334            0 : next_after_fail413:;
    1335              :                                 }
    1336              :                             }
    1337              :                         }
    1338          122 :                   }
    1339              :                 }
    1340              :             }
    1341          683 :       }
    1342              :     }
    1343              :   return NULL_TREE;
    1344              : }
    1345              : 
    1346              : tree
    1347      1091084 : generic_simplify_275 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1348              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1349              :  const enum tree_code ARG_UNUSED (cmp))
    1350              : {
    1351      1091084 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1352      1091084 :   {
    1353      1091084 :  poly_int64 off; tree base;
    1354      1091084 :  tree addr = (TREE_CODE (captures[1]) == SSA_NAME
    1355      1091084 :  ? gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[1])) : captures[1]);
    1356      1091084 :       if (SSA_NAME_IS_DEFAULT_DEF (captures[0])
    1357        46758 :  && TREE_CODE (SSA_NAME_VAR (captures[0])) == PARM_DECL
    1358        46576 :  && (base = get_base_address (TREE_OPERAND (addr, 0)))
    1359        46576 :  && TREE_CODE (base) == VAR_DECL
    1360      1094275 :  && auto_var_in_fn_p (base, current_function_decl)
    1361              : )
    1362              :         {
    1363            0 :           if (cmp == NE_EXPR
    1364              : )
    1365              :             {
    1366            0 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail507;
    1367            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail507;
    1368            0 :               {
    1369            0 :                 tree _r;
    1370            0 :                 _r =  constant_boolean_node (true, type);
    1371            0 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    1372            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1373            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 408, __FILE__, __LINE__, true);
    1374            2 :                 return _r;
    1375              :               }
    1376      1091082 : next_after_fail507:;
    1377              :             }
    1378              :           else
    1379              :             {
    1380            0 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail508;
    1381            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail508;
    1382            0 :               {
    1383            0 :                 tree _r;
    1384            0 :                 _r =  constant_boolean_node (false, type);
    1385            0 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    1386            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1387            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 409, __FILE__, __LINE__, true);
    1388            0 :                 return _r;
    1389              :               }
    1390      1091082 : next_after_fail508:;
    1391              :             }
    1392              :         }
    1393              :       else
    1394              :         {
    1395      1091084 :           if ((base = get_addr_base_and_unit_offset (TREE_OPERAND (addr, 0), &off))
    1396      1089721 :  && TREE_CODE (base) == MEM_REF
    1397      1249633 :  && TREE_OPERAND (base, 0) == captures[0]
    1398              : )
    1399              :             {
    1400            2 :               {
    1401            2 :  off += mem_ref_offset (base).force_shwi ();
    1402            2 :                   if (known_ne (off, 0)
    1403              : )
    1404              :                     {
    1405            2 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail509;
    1406            2 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail509;
    1407            2 :                       {
    1408            2 :                         tree _r;
    1409            2 :                         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1410            2 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    1411            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1412            2 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 410, __FILE__, __LINE__, true);
    1413            2 :                         return _r;
    1414              :                       }
    1415      1091082 : next_after_fail509:;
    1416              :                     }
    1417              :                   else
    1418              :                     {
    1419            0 :                       if (known_eq (off, 0)
    1420              : )
    1421              :                         {
    1422            0 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail510;
    1423            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail510;
    1424            0 :                           {
    1425            0 :                             tree _r;
    1426            0 :                             _r =  constant_boolean_node (cmp == EQ_EXPR, type);
    1427            0 :                             if (TREE_SIDE_EFFECTS (captures[0]))
    1428            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1429            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 411, __FILE__, __LINE__, true);
    1430            0 :                             return _r;
    1431              :                           }
    1432      1091082 : next_after_fail510:;
    1433              :                         }
    1434              :                     }
    1435              :               }
    1436              :             }
    1437              :         }
    1438              :   }
    1439      1091082 :   return NULL_TREE;
    1440              : }
    1441              : 
    1442              : tree
    1443           94 : generic_simplify_287 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1444              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1445              :  const enum tree_code ARG_UNUSED (sgncmp),
    1446              :  const enum tree_code ARG_UNUSED (cmp),
    1447              :  const enum tree_code ARG_UNUSED (ncmp))
    1448              : {
    1449           94 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1450          188 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1451           94 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1452          188 :  && types_match (captures[0], captures[2])
    1453              : )
    1454              :     {
    1455           94 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail522;
    1456           94 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail522;
    1457           94 :       {
    1458           94 :         tree res_op0;
    1459           94 :         {
    1460           94 :           tree _o1[2], _r1;
    1461           94 :           _o1[0] = captures[0];
    1462           94 :           _o1[1] = captures[2];
    1463           94 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1464           94 :           res_op0 = _r1;
    1465              :         }
    1466           94 :         tree res_op1;
    1467           94 :         res_op1 = captures[1];
    1468           94 :         tree _r;
    1469           94 :         _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    1470           94 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 422, __FILE__, __LINE__, true);
    1471           94 :         return _r;
    1472              :       }
    1473              : next_after_fail522:;
    1474              :     }
    1475              :   return NULL_TREE;
    1476              : }
    1477              : 
    1478              : tree
    1479       115499 : generic_simplify_292 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1480              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1481              :  const enum tree_code ARG_UNUSED (cmp))
    1482              : {
    1483       115499 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1484       115499 :   {
    1485       115499 :  poly_int64 off0, off1;
    1486       115499 :  tree base0, base1;
    1487       115499 :  int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[2], base0, base1,
    1488              :  off0, off1,
    1489              : 1
    1490              : );
    1491       115499 :       if (equal == 1
    1492              : )
    1493              :         {
    1494       100569 :           if (cmp == EQ_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
    1495              : )
    1496              :             {
    1497         8354 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail534;
    1498         8354 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail534;
    1499         8354 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail534;
    1500         8354 :               {
    1501         8354 :                 tree _r;
    1502         8354 :                 _r =  constant_boolean_node (known_eq (off0, off1), type);
    1503         8354 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 425, __FILE__, __LINE__, true);
    1504       102529 :                 return _r;
    1505              :               }
    1506        12970 : next_after_fail534:;
    1507              :             }
    1508              :           else
    1509              :             {
    1510        51891 :               if (cmp == NE_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
    1511              : )
    1512              :                 {
    1513        51891 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail535;
    1514        51891 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail535;
    1515        51891 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail535;
    1516        51891 :                   {
    1517        51891 :                     tree _r;
    1518        51891 :                     _r =  constant_boolean_node (known_ne (off0, off1), type);
    1519        51891 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 426, __FILE__, __LINE__, true);
    1520        51891 :                     return _r;
    1521              :                   }
    1522        12970 : next_after_fail535:;
    1523              :                 }
    1524              :               else
    1525              :                 {
    1526        29176 :                   if (cmp == LT_EXPR && (known_lt (off0, off1) || known_ge (off0, off1))
    1527              : )
    1528              :                     {
    1529        29176 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail536;
    1530        29176 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail536;
    1531        29176 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail536;
    1532        29176 :                       {
    1533        29176 :                         tree _r;
    1534        29176 :                         _r =  constant_boolean_node (known_lt (off0, off1), type);
    1535        29176 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 427, __FILE__, __LINE__, true);
    1536        29176 :                         return _r;
    1537              :                       }
    1538        12970 : next_after_fail536:;
    1539              :                     }
    1540              :                   else
    1541              :                     {
    1542          393 :                       if (cmp == LE_EXPR && (known_le (off0, off1) || known_gt (off0, off1))
    1543              : )
    1544              :                         {
    1545          393 :                           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail537;
    1546          393 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail537;
    1547          393 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail537;
    1548          393 :                           {
    1549          393 :                             tree _r;
    1550          393 :                             _r =  constant_boolean_node (known_le (off0, off1), type);
    1551          393 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 428, __FILE__, __LINE__, true);
    1552          393 :                             return _r;
    1553              :                           }
    1554        12970 : next_after_fail537:;
    1555              :                         }
    1556              :                       else
    1557              :                         {
    1558         7187 :                           if (cmp == GE_EXPR && (known_ge (off0, off1) || known_lt (off0, off1))
    1559              : )
    1560              :                             {
    1561         7187 :                               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail538;
    1562         7187 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail538;
    1563         7187 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail538;
    1564         7187 :                               {
    1565         7187 :                                 tree _r;
    1566         7187 :                                 _r =  constant_boolean_node (known_ge (off0, off1), type);
    1567         7187 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 429, __FILE__, __LINE__, true);
    1568         7187 :                                 return _r;
    1569              :                               }
    1570        12970 : next_after_fail538:;
    1571              :                             }
    1572              :                           else
    1573              :                             {
    1574         3568 :                               if (cmp == GT_EXPR && (known_gt (off0, off1) || known_le (off0, off1))
    1575              : )
    1576              :                                 {
    1577         3568 :                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail539;
    1578         3568 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail539;
    1579         3568 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail539;
    1580         3568 :                                   {
    1581         3568 :                                     tree _r;
    1582         3568 :                                     _r =  constant_boolean_node (known_gt (off0, off1), type);
    1583         3568 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 430, __FILE__, __LINE__, true);
    1584         3568 :                                     return _r;
    1585              :                                   }
    1586        12970 : next_after_fail539:;
    1587              :                                 }
    1588              :                             }
    1589              :                         }
    1590              :                     }
    1591              :                 }
    1592              :             }
    1593              :         }
    1594              :       else
    1595              :         {
    1596        14930 :           if (equal == 0
    1597              : )
    1598              :             {
    1599         1960 :               if (cmp == EQ_EXPR
    1600              : )
    1601              :                 {
    1602          923 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail540;
    1603          923 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail540;
    1604          923 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail540;
    1605          923 :                   {
    1606          923 :                     tree _r;
    1607          923 :                     _r =  constant_boolean_node (false, type);
    1608          923 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 431, __FILE__, __LINE__, true);
    1609          923 :                     return _r;
    1610              :                   }
    1611        12970 : next_after_fail540:;
    1612              :                 }
    1613              :               else
    1614              :                 {
    1615         1037 :                   if (cmp == NE_EXPR
    1616              : )
    1617              :                     {
    1618         1037 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail541;
    1619         1037 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail541;
    1620         1037 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail541;
    1621         1037 :                       {
    1622         1037 :                         tree _r;
    1623         1037 :                         _r =  constant_boolean_node (true, type);
    1624         1037 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 432, __FILE__, __LINE__, true);
    1625         1037 :                         return _r;
    1626              :                       }
    1627        12970 : next_after_fail541:;
    1628              :                     }
    1629              :                 }
    1630              :             }
    1631              :         }
    1632              :   }
    1633        12970 :   return NULL_TREE;
    1634              : }
    1635              : 
    1636              : tree
    1637        28337 : generic_simplify_307 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1638              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1639              :  const enum tree_code ARG_UNUSED (cmp),
    1640              :  const enum tree_code ARG_UNUSED (icmp),
    1641              :  const enum tree_code ARG_UNUSED (ncmp))
    1642              : {
    1643        28337 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1644        28337 :   if (types_match (type, TREE_TYPE (captures[0]))
    1645              : )
    1646              :     {
    1647        27567 :       {
    1648        27567 :  enum tree_code ic = invert_tree_comparison
    1649        27567 :  (cmp, HONOR_NANS (captures[1]));
    1650        27567 :           if (ic == icmp
    1651              : )
    1652              :             {
    1653        22031 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail575;
    1654        22031 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail575;
    1655        22031 :               {
    1656        22031 :                 tree res_op0;
    1657        22031 :                 res_op0 = captures[1];
    1658        22031 :                 tree res_op1;
    1659        22031 :                 res_op1 = captures[2];
    1660        22031 :                 tree _r;
    1661        22031 :                 _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1662        22031 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 466, __FILE__, __LINE__, true);
    1663        22031 :                 return _r;
    1664              :               }
    1665              : next_after_fail575:;
    1666              :             }
    1667              :           else
    1668              :             {
    1669         5536 :               if (ic == ncmp
    1670              : )
    1671              :                 {
    1672            5 :                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail576;
    1673            5 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail576;
    1674            5 :                   {
    1675            5 :                     tree res_op0;
    1676            5 :                     res_op0 = captures[1];
    1677            5 :                     tree res_op1;
    1678            5 :                     res_op1 = captures[2];
    1679            5 :                     tree _r;
    1680            5 :                     _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    1681            5 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 467, __FILE__, __LINE__, true);
    1682            5 :                     return _r;
    1683              :                   }
    1684              : next_after_fail576:;
    1685              :                 }
    1686              :             }
    1687              :       }
    1688              :     }
    1689              :   return NULL_TREE;
    1690              : }
    1691              : 
    1692              : tree
    1693            7 : generic_simplify_315 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1694              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1695              :  const enum tree_code ARG_UNUSED (div))
    1696              : {
    1697            7 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1698           14 :   if ((TYPE_UNSIGNED (type) || tree_expr_nonnegative_p (captures[0]))
    1699            0 :  && (!VECTOR_TYPE_P (type)
    1700            0 :  || target_supports_op_p (type, RSHIFT_EXPR, optab_vector)
    1701            0 :  || target_supports_op_p (type, RSHIFT_EXPR, optab_scalar))
    1702            7 :  && (useless_type_conversion_p (type, TREE_TYPE (captures[2]))
    1703            0 :  || (element_precision (type) >= element_precision (TREE_TYPE (captures[2]))
    1704            0 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    1705            0 :  || (element_precision (type)
    1706            0 :  == element_precision (TREE_TYPE (captures[2])))
    1707            0 :  || (INTEGRAL_TYPE_P (type)
    1708            0 :  && (tree_nonzero_bits (captures[0])
    1709            7 :  & wi::mask (element_precision (TREE_TYPE (captures[2])) - 1,
    1710              :  true,
    1711            7 :  element_precision (type))) == 0))))
    1712              : )
    1713              :     {
    1714            0 :       if (!VECTOR_TYPE_P (type)
    1715            0 :  && useless_type_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    1716            0 :  && element_precision (TREE_TYPE (captures[1])) < element_precision (type)
    1717              : )
    1718              :         {
    1719            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail584;
    1720            0 :           {
    1721            0 :             tree res_op0;
    1722            0 :             {
    1723            0 :               tree _o1[2], _r1;
    1724            0 :               _o1[0] = captures[1];
    1725            0 :               _o1[1] = captures[3];
    1726            0 :               _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1727            0 :               res_op0 = _r1;
    1728              :             }
    1729            0 :             tree _r;
    1730            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1731            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1732            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1733            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 475, __FILE__, __LINE__, true);
    1734            0 :             return _r;
    1735              :           }
    1736            0 : next_after_fail584:;
    1737              :         }
    1738              :       else
    1739              :         {
    1740            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail585;
    1741            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail585;
    1742            0 :           {
    1743            0 :             tree res_op0;
    1744            0 :             res_op0 = captures[0];
    1745            0 :             tree res_op1;
    1746            0 :             res_op1 = captures[3];
    1747            0 :             tree _r;
    1748            0 :             _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
    1749            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1750            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1751            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 476, __FILE__, __LINE__, true);
    1752            0 :             return _r;
    1753              :           }
    1754              : next_after_fail585:;
    1755              :         }
    1756              :     }
    1757              :   return NULL_TREE;
    1758              : }
    1759              : 
    1760              : tree
    1761           52 : generic_simplify_333 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1762              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1763              :  const enum tree_code ARG_UNUSED (mod))
    1764              : {
    1765           52 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1766           52 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail605;
    1767           52 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail605;
    1768           52 :   {
    1769           52 :     tree _r;
    1770           52 :     _r = captures[0];
    1771           52 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 494, __FILE__, __LINE__, true);
    1772              :     return _r;
    1773              :   }
    1774              : next_after_fail605:;
    1775              :   return NULL_TREE;
    1776              : }
    1777              : 
    1778              : tree
    1779            5 : generic_simplify_341 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1780              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1781              :  const combined_fn ARG_UNUSED (SINH),
    1782              :  const combined_fn ARG_UNUSED (COSH),
    1783              :  const combined_fn ARG_UNUSED (TANH))
    1784              : {
    1785            5 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1786            5 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1787              : )
    1788              :     {
    1789            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail615;
    1790            3 :       {
    1791            3 :         tree res_op0;
    1792            3 :         res_op0 = captures[1];
    1793            3 :         tree _r;
    1794            3 :         _r = maybe_build_call_expr_loc (loc, TANH, type, 1, res_op0);
    1795            3 :         if (!_r)
    1796            0 :           goto next_after_fail615;
    1797            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 504, __FILE__, __LINE__, true);
    1798            3 :         return _r;
    1799              :       }
    1800              : next_after_fail615:;
    1801              :     }
    1802              :   return NULL_TREE;
    1803              : }
    1804              : 
    1805              : tree
    1806         7513 : generic_simplify_349 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1807              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1808              :  const enum tree_code ARG_UNUSED (cmp),
    1809              :  const enum tree_code ARG_UNUSED (op))
    1810              : {
    1811         7513 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1812         7513 :   {
    1813         7513 :  tree from_type = TREE_TYPE (captures[0]), to_type = TREE_TYPE (captures[1]);
    1814         7513 :       if (types_match (from_type, to_type)
    1815         7513 :  || (TYPE_UNSIGNED (from_type)
    1816           37 :  && !TYPE_UNSIGNED (to_type)
    1817           37 :  && TYPE_PRECISION (from_type) == TYPE_PRECISION (to_type)
    1818           37 :  && integer_zerop (captures[1])
    1819           31 :  && (cmp == LT_EXPR || cmp == GE_EXPR))
    1820              : )
    1821              :         {
    1822         7483 :           {
    1823         7483 :  wi::overflow_type overflow = wi::OVF_NONE;
    1824         7483 :  enum tree_code code, cmp_code = cmp;
    1825         7483 :  wide_int real_c1;
    1826         7483 :  wide_int c1 = wi::to_wide (captures[1]);
    1827         7483 :  wide_int c2 = wi::to_wide (captures[2]);
    1828         7483 :  wide_int c3 = wi::to_wide (captures[3]);
    1829         7483 :  signop sgn = TYPE_SIGN (from_type);
    1830         7483 :  if (!types_match (from_type, to_type))
    1831              :  {
    1832            7 :  if (cmp_code == LT_EXPR)
    1833              :  cmp_code = GT_EXPR;
    1834            0 :  if (cmp_code == GE_EXPR)
    1835            0 :  cmp_code = LE_EXPR;
    1836            7 :  c1 = wi::max_value (to_type);
    1837              :  }
    1838         7483 :  if (op == PLUS_EXPR)
    1839         7483 :  real_c1 = wi::sub (c3, c2, sgn, &overflow);
    1840              :  else
    1841            0 :  real_c1 = wi::add (c3, c2, sgn, &overflow);
    1842         7483 :  code = cmp_code;
    1843         7483 :  if (!overflow || !TYPE_OVERFLOW_UNDEFINED (from_type))
    1844              :  {
    1845        14966 :  if (!wi::cmp (wi::sub (real_c1, 1, sgn, &overflow), c1, sgn)
    1846         7483 :  && !overflow)
    1847              :  {
    1848          635 :  if (cmp_code == LE_EXPR)
    1849              :  code = LT_EXPR;
    1850          633 :  if (cmp_code == GT_EXPR)
    1851         7483 :  code = GE_EXPR;
    1852              :  }
    1853        14966 :  if (!wi::cmp (wi::add (real_c1, 1, sgn, &overflow), c1, sgn)
    1854         7483 :  && !overflow)
    1855              :  {
    1856         6425 :  if (cmp_code == LT_EXPR)
    1857              :  code = LE_EXPR;
    1858         6425 :  if (cmp_code == GE_EXPR)
    1859              :  code = GT_EXPR;
    1860              :  }
    1861         1087 :  if (code != cmp_code || !wi::cmp (real_c1, c1, sgn))
    1862              :  {
    1863         7260 :  if (cmp_code == LT_EXPR || cmp_code == LE_EXPR)
    1864              :  code = MIN_EXPR;
    1865         7258 :  if (cmp_code == GT_EXPR || cmp_code == GE_EXPR)
    1866              :  code = MAX_EXPR;
    1867              :  }
    1868              :  }
    1869          225 :               if (code == MAX_EXPR
    1870              : )
    1871              :                 {
    1872         7258 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail625;
    1873         7258 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail625;
    1874         7258 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail625;
    1875         7258 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail625;
    1876         7258 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail625;
    1877         7258 :                   {
    1878         7258 :                     tree res_op0;
    1879         7258 :                     {
    1880         7258 :                       tree _o1[2], _r1;
    1881         7258 :                       _o1[0] = captures[0];
    1882         7258 :                       _o1[1] =  wide_int_to_tree (from_type, real_c1);
    1883         7258 :                       _r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1884         7258 :                       res_op0 = _r1;
    1885              :                     }
    1886         7258 :                     tree res_op1;
    1887         7258 :                     res_op1 =  wide_int_to_tree (from_type, c2);
    1888         7258 :                     tree _r;
    1889         7258 :                     _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1890         7258 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 514, __FILE__, __LINE__, true);
    1891         7258 :                     return _r;
    1892              :                   }
    1893          223 : next_after_fail625:;
    1894              :                 }
    1895              :               else
    1896              :                 {
    1897          225 :                   if (code == MIN_EXPR
    1898              : )
    1899              :                     {
    1900            2 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail626;
    1901            2 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail626;
    1902            2 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail626;
    1903            2 :                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail626;
    1904            2 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail626;
    1905            2 :                       {
    1906            2 :                         tree res_op0;
    1907            2 :                         {
    1908            2 :                           tree _o1[2], _r1;
    1909            2 :                           _o1[0] = captures[0];
    1910            2 :                           _o1[1] =  wide_int_to_tree (from_type, real_c1);
    1911            2 :                           _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1912            2 :                           res_op0 = _r1;
    1913              :                         }
    1914            2 :                         tree res_op1;
    1915            2 :                         res_op1 =  wide_int_to_tree (from_type, c2);
    1916            2 :                         tree _r;
    1917            2 :                         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1918            2 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 515, __FILE__, __LINE__, true);
    1919            2 :                         return _r;
    1920              :                       }
    1921          223 : next_after_fail626:;
    1922              :                     }
    1923              :                 }
    1924         7483 :           }
    1925              :         }
    1926              :   }
    1927              :   return NULL_TREE;
    1928              : }
    1929              : 
    1930              : tree
    1931           17 : generic_simplify_379 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1932              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1933              :  const enum tree_code ARG_UNUSED (cmp))
    1934              : {
    1935           17 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1936           17 :   if (INTEGRAL_TYPE_P (type)
    1937           17 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1938           17 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1939           34 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (type)
    1940              : )
    1941              :     {
    1942           17 :       {
    1943           17 :  tree shifter = build_int_cst (integer_type_node, TYPE_PRECISION (type) - 1);
    1944           17 :           if (cmp == GE_EXPR
    1945              : )
    1946              :             {
    1947            9 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail661;
    1948            9 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail661;
    1949            9 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail661;
    1950            9 :               {
    1951            9 :                 tree res_op0;
    1952            9 :                 {
    1953            9 :                   tree _o1[1], _r1;
    1954            9 :                   {
    1955            9 :                     tree _o2[2], _r2;
    1956            9 :                     _o2[0] = captures[0];
    1957            9 :                     _o2[1] = shifter;
    1958            9 :                     _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1959            9 :                     _o1[0] = _r2;
    1960              :                   }
    1961            9 :                   if (TREE_TYPE (_o1[0]) != type)
    1962              :                     {
    1963            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1964              :                     }
    1965              :                   else
    1966              :                     _r1 = _o1[0];
    1967            9 :                   res_op0 = _r1;
    1968              :                 }
    1969            9 :                 tree res_op1;
    1970            9 :                 res_op1 = captures[1];
    1971            9 :                 tree _r;
    1972            9 :                 _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    1973            9 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 548, __FILE__, __LINE__, true);
    1974            9 :                 return _r;
    1975              :               }
    1976              : next_after_fail661:;
    1977              :             }
    1978              :           else
    1979              :             {
    1980            8 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail662;
    1981            8 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail662;
    1982            8 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail662;
    1983            8 :               {
    1984            8 :                 tree res_op0;
    1985            8 :                 {
    1986            8 :                   tree _o1[2], _r1;
    1987            8 :                   {
    1988            8 :                     tree _o2[1], _r2;
    1989            8 :                     {
    1990            8 :                       tree _o3[2], _r3;
    1991            8 :                       _o3[0] = captures[0];
    1992            8 :                       _o3[1] = shifter;
    1993            8 :                       _r3 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    1994            8 :                       _o2[0] = _r3;
    1995              :                     }
    1996            8 :                     if (TREE_TYPE (_o2[0]) != type)
    1997              :                       {
    1998            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    1999              :                       }
    2000              :                     else
    2001              :                       _r2 = _o2[0];
    2002            8 :                     _o1[0] = _r2;
    2003              :                   }
    2004            8 :                   _o1[1] = captures[1];
    2005            8 :                   _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2006            8 :                   res_op0 = _r1;
    2007              :                 }
    2008            8 :                 tree _r;
    2009            8 :                 _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    2010            8 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 549, __FILE__, __LINE__, true);
    2011            8 :                 return _r;
    2012              :               }
    2013              : next_after_fail662:;
    2014              :             }
    2015              :       }
    2016              :     }
    2017              :   return NULL_TREE;
    2018              : }
    2019              : 
    2020              : tree
    2021            0 : generic_simplify_398 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2022              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2023              :  const enum tree_code ARG_UNUSED (cmp),
    2024              :  const enum tree_code ARG_UNUSED (cmp2))
    2025              : {
    2026            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2027            0 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
    2028            0 :  && TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2029            0 :  && wi::gt_p (wi::to_wide (captures[1]), 0, TYPE_SIGN (TREE_TYPE (captures[1])))
    2030              : )
    2031              :     {
    2032            0 :       {
    2033            0 :  tree utype = TREE_TYPE (captures[2]);
    2034            0 :  wide_int denom = wi::to_wide (captures[1]);
    2035            0 :  wide_int right = wi::to_wide (captures[2]);
    2036            0 :  wide_int smax = wi::sdiv_trunc (wi::max_value (TREE_TYPE (captures[0])), denom);
    2037            0 :  wide_int smin = wi::sdiv_trunc (wi::min_value (TREE_TYPE (captures[0])), denom);
    2038            0 :  bool small = wi::leu_p (right, smax);
    2039            0 :  bool large = wi::geu_p (right, smin);
    2040            0 :           if (small || large
    2041              : )
    2042              :             {
    2043            0 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail685;
    2044            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail685;
    2045            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail685;
    2046            0 :               {
    2047            0 :                 tree res_op0;
    2048            0 :                 {
    2049            0 :                   tree _o1[1], _r1;
    2050            0 :                   _o1[0] = captures[0];
    2051            0 :                   if (TREE_TYPE (_o1[0]) != utype)
    2052              :                     {
    2053            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    2054              :                     }
    2055              :                   else
    2056              :                     _r1 = _o1[0];
    2057            0 :                   res_op0 = _r1;
    2058              :                 }
    2059            0 :                 tree res_op1;
    2060            0 :                 {
    2061            0 :                   tree _o1[2], _r1;
    2062            0 :                   _o1[0] = captures[2];
    2063            0 :                   {
    2064            0 :                     tree _o2[1], _r2;
    2065            0 :                     _o2[0] = captures[1];
    2066            0 :                     if (TREE_TYPE (_o2[0]) != TREE_TYPE (res_op0))
    2067              :                       {
    2068            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o2[0]);
    2069              :                       }
    2070              :                     else
    2071              :                       _r2 = _o2[0];
    2072            0 :                     _o1[1] = _r2;
    2073              :                   }
    2074            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2075            0 :                   res_op1 = _r1;
    2076              :                 }
    2077            0 :                 tree _r;
    2078            0 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2079            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 572, __FILE__, __LINE__, true);
    2080            0 :                 return _r;
    2081              :               }
    2082            0 : next_after_fail685:;
    2083              :             }
    2084              :           else
    2085              :             {
    2086            0 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail686;
    2087            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail686;
    2088            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail686;
    2089            0 :               {
    2090            0 :                 tree res_op0;
    2091            0 :                 res_op0 = captures[0];
    2092            0 :                 tree res_op1;
    2093            0 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    2094            0 :                 tree _r;
    2095            0 :                 _r = fold_build2_loc (loc, cmp2, type, res_op0, res_op1);
    2096            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 573, __FILE__, __LINE__, true);
    2097            0 :                 return _r;
    2098              :               }
    2099            0 : next_after_fail686:;
    2100              :             }
    2101            0 :       }
    2102              :     }
    2103              :   return NULL_TREE;
    2104              : }
    2105              : 
    2106              : tree
    2107            0 : generic_simplify_414 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2108              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2109              :  const enum tree_code ARG_UNUSED (cmp))
    2110              : {
    2111            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2112            0 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2113            0 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2114              : )
    2115              :     {
    2116            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail739;
    2117            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail739;
    2118            0 :       {
    2119            0 :         tree res_op0;
    2120            0 :         res_op0 = captures[1];
    2121            0 :         tree res_op1;
    2122            0 :         res_op1 = captures[0];
    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", 591, __FILE__, __LINE__, true);
    2126            0 :         return _r;
    2127              :       }
    2128              : next_after_fail739:;
    2129              :     }
    2130              :   return NULL_TREE;
    2131              : }
    2132              : 
    2133              : tree
    2134           71 : generic_simplify_418 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2135              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2136              :  const enum tree_code ARG_UNUSED (cmp),
    2137              :  const enum tree_code ARG_UNUSED (out))
    2138              : {
    2139           71 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2140          142 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2141           71 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2142           71 :  && TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2143           56 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2144           56 :  && (TYPE_PRECISION (TREE_TYPE (captures[1]))
    2145           56 :  >= 2 * TYPE_PRECISION (TREE_TYPE (captures[2])))
    2146           56 :  && TYPE_MAX_VALUE (TREE_TYPE (captures[2]))
    2147           56 :  && (wi::to_widest (captures[4])
    2148          127 :  == wi::to_widest (TYPE_MAX_VALUE (TREE_TYPE (captures[2]))))
    2149           56 :  && types_match (captures[2], captures[3])
    2150           56 :  && type_has_mode_precision_p (TREE_TYPE (captures[2]))
    2151          183 :  && (optab_handler (umulv4_optab, TYPE_MODE (TREE_TYPE (captures[2])))
    2152              :  != CODE_FOR_nothing)
    2153              : )
    2154              :     {
    2155           56 :       {
    2156           56 :  tree t = TREE_TYPE (captures[2]), cpx = build_complex_type (t);
    2157           56 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail743;
    2158           56 :           {
    2159           56 :             tree res_op0;
    2160           56 :             {
    2161           56 :               tree _o1[1], _r1;
    2162           56 :               {
    2163           56 :                 tree _o2[2], _r2;
    2164           56 :                 _o2[0] = captures[2];
    2165           56 :                 _o2[1] = captures[3];
    2166           56 :                 _r2 = maybe_build_call_expr_loc (loc, CFN_MUL_OVERFLOW, cpx, 2, _o2[0], _o2[1]);
    2167           56 :                 if (!_r2)
    2168            0 :                   goto next_after_fail743;
    2169           56 :                 _o1[0] = _r2;
    2170              :               }
    2171           56 :               _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2172           56 :               res_op0 = _r1;
    2173              :             }
    2174           56 :             tree res_op1;
    2175           56 :             res_op1 =  build_zero_cst (t);
    2176           56 :             tree _r;
    2177           56 :             _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2178           56 :             if (TREE_SIDE_EFFECTS (captures[4]))
    2179            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    2180           56 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 609, __FILE__, __LINE__, true);
    2181           56 :             return _r;
    2182              :           }
    2183              : next_after_fail743:;
    2184              :       }
    2185              :     }
    2186              :   return NULL_TREE;
    2187              : }
    2188              : 
    2189              : tree
    2190            0 : generic_simplify_429 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2191              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2192              :  const enum tree_code ARG_UNUSED (shiftrotate))
    2193              : {
    2194            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2195            0 :   {
    2196            0 :  tree tem = uniform_vector_p (captures[1]);
    2197            0 :       if (tem
    2198              : )
    2199              :         {
    2200            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail758;
    2201            0 :           {
    2202            0 :             tree res_op0;
    2203            0 :             res_op0 = captures[0];
    2204            0 :             tree res_op1;
    2205            0 :             res_op1 =  tem;
    2206            0 :             tree _r;
    2207            0 :             _r = fold_build2_loc (loc, shiftrotate, type, res_op0, res_op1);
    2208            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2209            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2210            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 623, __FILE__, __LINE__, true);
    2211            0 :             return _r;
    2212              :           }
    2213            0 : next_after_fail758:;
    2214              :         }
    2215              :   }
    2216              :   return NULL_TREE;
    2217              : }
    2218              : 
    2219              : tree
    2220      3944045 : generic_simplify_436 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2221              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2222              :  const enum tree_code ARG_UNUSED (bitop))
    2223              : {
    2224      3944045 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2225      3944045 :   if (0
    2226              :  && INTEGRAL_TYPE_P (type)
    2227              :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2228              :  && TREE_CODE (captures[3]) != INTEGER_CST
    2229              :  && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    2230              :  && TYPE_PRECISION (TREE_TYPE (captures[2])) > TYPE_PRECISION (type)
    2231              : )
    2232              :     {
    2233              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail772;
    2234              :       {
    2235              :         tree res_op0;
    2236              :         {
    2237              :           tree _o1[1], _r1;
    2238              :           _o1[0] = captures[2];
    2239              :           if (TREE_TYPE (_o1[0]) != type)
    2240              :             {
    2241              :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2242              :             }
    2243              :           else
    2244              :             _r1 = _o1[0];
    2245              :           res_op0 = _r1;
    2246              :         }
    2247              :         tree res_op1;
    2248              :         {
    2249              :           tree _o1[1], _r1;
    2250              :           _o1[0] = captures[3];
    2251              :           if (TREE_TYPE (_o1[0]) != type)
    2252              :             {
    2253              :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2254              :             }
    2255              :           else
    2256              :             _r1 = _o1[0];
    2257              :           res_op1 = _r1;
    2258              :         }
    2259              :         tree _r;
    2260              :         _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
    2261              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 636, __FILE__, __LINE__, true);
    2262              :         return _r;
    2263              :       }
    2264              : next_after_fail772:;
    2265              :     }
    2266              :   else
    2267              :     {
    2268      3944045 :       if (0
    2269              :  && INTEGRAL_TYPE_P (type)
    2270              :  && types_match (type, TREE_TYPE (captures[2]))
    2271              :  && TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (type)
    2272              : )
    2273              :         {
    2274              :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail773;
    2275              :           {
    2276              :             tree res_op0;
    2277              :             res_op0 = captures[2];
    2278              :             tree res_op1;
    2279              :             {
    2280              :               tree _o1[1], _r1;
    2281              :               _o1[0] = captures[3];
    2282              :               if (TREE_TYPE (_o1[0]) != type)
    2283              :                 {
    2284              :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2285              :                 }
    2286              :               else
    2287              :                 _r1 = _o1[0];
    2288              :               res_op1 = _r1;
    2289              :             }
    2290              :             tree _r;
    2291              :             _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
    2292              :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 637, __FILE__, __LINE__, true);
    2293              :             return _r;
    2294              :           }
    2295              : next_after_fail773:;
    2296              :         }
    2297              :     }
    2298      3944045 :   return NULL_TREE;
    2299              : }
    2300              : 
    2301              : tree
    2302     22145271 : generic_simplify_443 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2303              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2304              :  const enum tree_code ARG_UNUSED (op))
    2305              : {
    2306     22145271 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2307     22145271 :   if (INTEGRAL_TYPE_P (type)
    2308     20612275 :  && op != MULT_EXPR
    2309     20612275 :  && op != RDIV_EXPR
    2310     11435830 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2311     11435830 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2312     11435830 :  && type_has_mode_precision_p (TREE_TYPE (captures[2]))
    2313     11434522 :  && type_has_mode_precision_p (TREE_TYPE (captures[4]))
    2314     11434522 :  && type_has_mode_precision_p (type)
    2315     11400226 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
    2316            0 :  && types_match (captures[2], type)
    2317     22145271 :  && (types_match (captures[2], captures[4])
    2318            0 :  || poly_int_tree_p (captures[3]))
    2319              : )
    2320              :     {
    2321            0 :       if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
    2322              : )
    2323              :         {
    2324            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail790;
    2325            0 :           {
    2326            0 :             tree res_op0;
    2327            0 :             res_op0 = captures[2];
    2328            0 :             tree res_op1;
    2329            0 :             {
    2330            0 :               tree _o1[1], _r1;
    2331            0 :               _o1[0] = captures[4];
    2332            0 :               if (TREE_TYPE (_o1[0]) != type)
    2333              :                 {
    2334            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2335              :                 }
    2336              :               else
    2337              :                 _r1 = _o1[0];
    2338            0 :               res_op1 = _r1;
    2339              :             }
    2340            0 :             tree _r;
    2341            0 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2342            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 642, __FILE__, __LINE__, true);
    2343            0 :             return _r;
    2344              :           }
    2345            0 : next_after_fail790:;
    2346              :         }
    2347              :       else
    2348              :         {
    2349            0 :           {
    2350            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
    2351            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail791;
    2352            0 :               {
    2353            0 :                 tree res_op0;
    2354            0 :                 {
    2355            0 :                   tree _o1[2], _r1;
    2356            0 :                   {
    2357            0 :                     tree _o2[1], _r2;
    2358            0 :                     _o2[0] = captures[2];
    2359            0 :                     if (TREE_TYPE (_o2[0]) != utype)
    2360              :                       {
    2361            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2362              :                       }
    2363              :                     else
    2364              :                       _r2 = _o2[0];
    2365            0 :                     _o1[0] = _r2;
    2366              :                   }
    2367            0 :                   {
    2368            0 :                     tree _o2[1], _r2;
    2369            0 :                     _o2[0] = captures[4];
    2370            0 :                     if (TREE_TYPE (_o2[0]) != utype)
    2371              :                       {
    2372            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2373              :                       }
    2374              :                     else
    2375              :                       _r2 = _o2[0];
    2376            0 :                     _o1[1] = _r2;
    2377              :                   }
    2378            0 :                   _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2379            0 :                   res_op0 = _r1;
    2380              :                 }
    2381            0 :                 tree _r;
    2382            0 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2383            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 643, __FILE__, __LINE__, true);
    2384            0 :                 return _r;
    2385              :               }
    2386            0 : next_after_fail791:;
    2387              :           }
    2388              :         }
    2389              :     }
    2390              :   else
    2391              :     {
    2392     22093323 :       if (FLOAT_TYPE_P (type)
    2393     22197219 :  && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    2394        51948 :  == DECIMAL_FLOAT_TYPE_P (type)
    2395              : )
    2396              :         {
    2397        51908 :           {
    2398        51908 :  tree arg0 = strip_float_extensions (captures[2]);
    2399        51908 :  tree arg1 = strip_float_extensions (captures[4]);
    2400        51908 :  tree itype = TREE_TYPE (captures[0]);
    2401        51908 :  tree ty1 = TREE_TYPE (arg0);
    2402        51908 :  tree ty2 = TREE_TYPE (arg1);
    2403        51908 :  enum tree_code code = TREE_CODE (itype);
    2404            0 :               if (FLOAT_TYPE_P (ty1)
    2405        51908 :  && FLOAT_TYPE_P (ty2)
    2406              : )
    2407              :                 {
    2408        51908 :                   {
    2409        51908 :  tree newtype = type;
    2410        51908 :  if (TYPE_MODE (ty1) == SDmode
    2411        51640 :  || TYPE_MODE (ty2) == SDmode
    2412       103548 :  || TYPE_MODE (type) == SDmode)
    2413          283 :  newtype = dfloat32_type_node;
    2414        51908 :  if (TYPE_MODE (ty1) == DDmode
    2415        51762 :  || TYPE_MODE (ty2) == DDmode
    2416       103543 :  || TYPE_MODE (type) == DDmode)
    2417          275 :  newtype = dfloat64_type_node;
    2418        51908 :  if (TYPE_MODE (ty1) == TDmode
    2419        51907 :  || TYPE_MODE (ty2) == TDmode
    2420       103563 :  || TYPE_MODE (type) == TDmode)
    2421          268 :  newtype = dfloat128_type_node;
    2422        51908 :                       if ((newtype == dfloat32_type_node
    2423        51904 :  || newtype == dfloat64_type_node
    2424        51761 :  || newtype == dfloat128_type_node)
    2425          415 :  && newtype == type
    2426        51919 :  && types_match (newtype, type)
    2427              : )
    2428              :                         {
    2429           11 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail792;
    2430            5 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail792;
    2431            5 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail792;
    2432            5 :                           {
    2433            5 :                             tree res_op0;
    2434            5 :                             {
    2435            5 :                               tree _o1[1], _r1;
    2436            5 :                               _o1[0] = captures[2];
    2437            5 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2438              :                                 {
    2439            5 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2440              :                                 }
    2441              :                               else
    2442              :                                 _r1 = _o1[0];
    2443            5 :                               res_op0 = _r1;
    2444              :                             }
    2445            5 :                             tree res_op1;
    2446            5 :                             {
    2447            5 :                               tree _o1[1], _r1;
    2448            5 :                               _o1[0] = captures[4];
    2449            5 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2450              :                                 {
    2451            5 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2452              :                                 }
    2453              :                               else
    2454              :                                 _r1 = _o1[0];
    2455            5 :                               res_op1 = _r1;
    2456              :                             }
    2457            5 :                             tree _r;
    2458            5 :                             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2459            5 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 644, __FILE__, __LINE__, true);
    2460            5 :                             return _r;
    2461              :                           }
    2462              : next_after_fail792:;
    2463              :                         }
    2464              :                       else
    2465              :                         {
    2466        51897 :                           {
    2467        51897 :  if (element_precision (ty1) > element_precision (newtype))
    2468        11791 :  newtype = ty1;
    2469        51897 :  if (element_precision (ty2) > element_precision (newtype))
    2470         4879 :  newtype = ty2;
    2471        51897 :                               if (element_precision (newtype) < element_precision (itype)
    2472        14569 :  && (!VECTOR_MODE_P (TYPE_MODE (newtype))
    2473            0 :  || target_supports_op_p (newtype, op, optab_default))
    2474        14569 :  && (flag_unsafe_math_optimizations
    2475        14561 :  || (element_precision (newtype) == element_precision (type)
    2476        14532 :  && real_can_shorten_arithmetic (element_mode (itype),
    2477              :  element_mode (type))
    2478         4591 :  && !excess_precision_type (newtype)))
    2479        52052 :  && !types_match (itype, newtype)
    2480              : )
    2481              :                                 {
    2482          155 :                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail793;
    2483          154 :                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail793;
    2484          136 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail793;
    2485          136 :                                   {
    2486          136 :                                     tree res_op0;
    2487          136 :                                     {
    2488          136 :                                       tree _o1[2], _r1;
    2489          136 :                                       {
    2490          136 :                                         tree _o2[1], _r2;
    2491          136 :                                         _o2[0] = captures[2];
    2492          136 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2493              :                                           {
    2494          136 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2495              :                                           }
    2496              :                                         else
    2497              :                                           _r2 = _o2[0];
    2498          136 :                                         _o1[0] = _r2;
    2499              :                                       }
    2500          136 :                                       {
    2501          136 :                                         tree _o2[1], _r2;
    2502          136 :                                         _o2[0] = captures[4];
    2503          136 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2504              :                                           {
    2505          136 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2506              :                                           }
    2507              :                                         else
    2508              :                                           _r2 = _o2[0];
    2509          136 :                                         _o1[1] = _r2;
    2510              :                                       }
    2511          136 :                                       _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2512          136 :                                       res_op0 = _r1;
    2513              :                                     }
    2514          136 :                                     tree _r;
    2515          136 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2516          136 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 645, __FILE__, __LINE__, true);
    2517          136 :                                     return _r;
    2518              :                                   }
    2519              : next_after_fail793:;
    2520              :                                 }
    2521              :                           }
    2522              :                         }
    2523              :                   }
    2524              :                 }
    2525              :           }
    2526              :         }
    2527              :     }
    2528              :   return NULL_TREE;
    2529              : }
    2530              : 
    2531              : tree
    2532            0 : generic_simplify_475 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2533              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2534              :  const enum tree_code ARG_UNUSED (cmp))
    2535              : {
    2536            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2537            0 :   if (fold_before_rtl_expansion_p ()
    2538              : )
    2539              :     {
    2540            0 :       if (INTEGRAL_TYPE_P (type)
    2541            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2542              : )
    2543              :         {
    2544            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail825;
    2545            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail825;
    2546            0 :           {
    2547            0 :             tree res_op0;
    2548            0 :             res_op0 = captures[0];
    2549            0 :             tree res_op1;
    2550            0 :             res_op1 = captures[3];
    2551            0 :             tree res_op2;
    2552            0 :             res_op2 =  build_zero_cst (type);
    2553            0 :             tree _r;
    2554            0 :             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    2555            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 676, __FILE__, __LINE__, true);
    2556            0 :             return _r;
    2557              :           }
    2558              : next_after_fail825:;
    2559              :         }
    2560              :     }
    2561              :   return NULL_TREE;
    2562              : }
    2563              : 
    2564              : tree
    2565            0 : generic_simplify_484 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2566              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2567              : {
    2568            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2569            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail855;
    2570            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail855;
    2571            0 :   {
    2572            0 :     tree _r;
    2573            0 :     _r = captures[2];
    2574            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2575            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2576            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 696, __FILE__, __LINE__, true);
    2577              :     return _r;
    2578              :   }
    2579              : next_after_fail855:;
    2580              :   return NULL_TREE;
    2581              : }
    2582              : 
    2583              : tree
    2584          214 : generic_simplify_488 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2585              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2586              :  const enum tree_code ARG_UNUSED (code2),
    2587              :  const enum tree_code ARG_UNUSED (code1))
    2588              : {
    2589          214 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2590          214 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
    2591            6 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2592          214 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2593            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[2]))
    2594            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[2])))
    2595            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, code2))
    2596            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
    2597          208 :  && bitwise_equal_p (captures[2], captures[5]))
    2598              : )
    2599              :     {
    2600            6 :       {
    2601            6 :  bool one_before = false;
    2602            6 :  bool one_after = false;
    2603            6 :  int cmp = 0;
    2604            6 :  bool allbits = true;
    2605            6 :  if (TREE_CODE (captures[2]) == INTEGER_CST
    2606            6 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2607              :  {
    2608            6 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
    2609            6 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
    2610            6 :  auto t2 = wi::to_wide (captures[5]);
    2611            6 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
    2612            6 :  if (cmp < 0
    2613            6 :  && t1 == t2 - 1)
    2614              :  one_before = true;
    2615            6 :  if (cmp > 0
    2616            6 :  && t1 == t2 + 1)
    2617              :  one_after = true;
    2618              :  }
    2619            6 :  bool val;
    2620            6 :  switch (code2)
    2621              :  {
    2622            0 :  case EQ_EXPR: val = (cmp == 0); break;
    2623            2 :  case NE_EXPR: val = (cmp != 0); break;
    2624            0 :  case LT_EXPR: val = (cmp < 0); break;
    2625            4 :  case GT_EXPR: val = (cmp > 0); break;
    2626            0 :  case LE_EXPR: val = (cmp <= 0); break;
    2627            0 :  case GE_EXPR: val = (cmp >= 0); break;
    2628            0 :  default: gcc_unreachable ();
    2629              :  }
    2630            6 :           if (code1 == EQ_EXPR && val
    2631              : )
    2632              :             {
    2633            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail866;
    2634            0 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail866;
    2635            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail866;
    2636            0 :               {
    2637            0 :                 tree _r;
    2638            0 :                 _r = captures[0];
    2639            0 :                 if (TREE_SIDE_EFFECTS (captures[4]))
    2640            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    2641            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 682, __FILE__, __LINE__, true);
    2642            0 :                 return _r;
    2643              :               }
    2644              : next_after_fail866:;
    2645              :             }
    2646              :           else
    2647              :             {
    2648            6 :               if (code1 == EQ_EXPR && !val
    2649              : )
    2650              :                 {
    2651            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail867;
    2652            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail867;
    2653            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail867;
    2654            0 :                   {
    2655            0 :                     tree _r;
    2656            0 :                     _r =  constant_boolean_node (false, type);
    2657            0 :                     if (TREE_SIDE_EFFECTS (captures[4]))
    2658            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    2659            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 683, __FILE__, __LINE__, true);
    2660            0 :                     return _r;
    2661              :                   }
    2662              : next_after_fail867:;
    2663              :                 }
    2664              :               else
    2665              :                 {
    2666            6 :                   if (code1 == NE_EXPR && !val && allbits
    2667              : )
    2668              :                     {
    2669            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail868;
    2670            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail868;
    2671            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail868;
    2672            0 :                       {
    2673            0 :                         tree _r;
    2674            0 :                         _r = captures[3];
    2675            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 684, __FILE__, __LINE__, true);
    2676            0 :                         return _r;
    2677              :                       }
    2678              : next_after_fail868:;
    2679              :                     }
    2680              :                   else
    2681              :                     {
    2682            6 :                       if ((code1 == NE_EXPR
    2683            6 :  && code2 == GE_EXPR
    2684            0 :  && cmp == 0
    2685            0 :  && allbits)
    2686            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2687            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2688            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2689              : )
    2690              :                         {
    2691            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail869;
    2692            0 :                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail869;
    2693            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail869;
    2694            0 :                           {
    2695            0 :                             tree res_op0;
    2696            0 :                             res_op0 = captures[4];
    2697            0 :                             tree res_op1;
    2698            0 :                             {
    2699            0 :                               tree _o1[1], _r1;
    2700            0 :                               _o1[0] = captures[2];
    2701            0 :                               if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2702              :                                 {
    2703            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2704              :                                 }
    2705              :                               else
    2706              :                                 _r1 = _o1[0];
    2707            0 :                               res_op1 = _r1;
    2708              :                             }
    2709            0 :                             tree _r;
    2710            0 :                             _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2711            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 685, __FILE__, __LINE__, true);
    2712            0 :                             return _r;
    2713              :                           }
    2714              : next_after_fail869:;
    2715              :                         }
    2716              :                       else
    2717              :                         {
    2718            6 :                           if ((code1 == NE_EXPR
    2719            6 :  && code2 == LE_EXPR
    2720            0 :  && cmp == 0
    2721            0 :  && allbits)
    2722            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2723            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2724            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2725              : )
    2726              :                             {
    2727            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail870;
    2728            0 :                               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail870;
    2729            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail870;
    2730            0 :                               {
    2731            0 :                                 tree res_op0;
    2732            0 :                                 res_op0 = captures[4];
    2733            0 :                                 tree res_op1;
    2734            0 :                                 {
    2735            0 :                                   tree _o1[1], _r1;
    2736            0 :                                   _o1[0] = captures[2];
    2737            0 :                                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2738              :                                     {
    2739            0 :                                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2740              :                                     }
    2741              :                                   else
    2742              :                                     _r1 = _o1[0];
    2743            0 :                                   res_op1 = _r1;
    2744              :                                 }
    2745            0 :                                 tree _r;
    2746            0 :                                 _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2747            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 686, __FILE__, __LINE__, true);
    2748            0 :                                 return _r;
    2749              :                               }
    2750              : next_after_fail870:;
    2751              :                             }
    2752              :                           else
    2753              :                             {
    2754            6 :                               if ((code1 == NE_EXPR
    2755            6 :  && code2 == GT_EXPR
    2756              :  && one_after
    2757            4 :  && allbits)
    2758            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2759            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2760            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2761              : )
    2762              :                                 {
    2763            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail871;
    2764            0 :                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail871;
    2765            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail871;
    2766            0 :                                   {
    2767            0 :                                     tree res_op0;
    2768            0 :                                     res_op0 = captures[4];
    2769            0 :                                     tree res_op1;
    2770            0 :                                     {
    2771            0 :                                       tree _o1[1], _r1;
    2772            0 :                                       _o1[0] = captures[2];
    2773            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2774              :                                         {
    2775            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2776              :                                         }
    2777              :                                       else
    2778              :                                         _r1 = _o1[0];
    2779            0 :                                       res_op1 = _r1;
    2780              :                                     }
    2781            0 :                                     tree _r;
    2782            0 :                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2783            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 687, __FILE__, __LINE__, true);
    2784            0 :                                     return _r;
    2785              :                                   }
    2786              : next_after_fail871:;
    2787              :                                 }
    2788              :                               else
    2789              :                                 {
    2790            6 :                                   if ((code1 == NE_EXPR
    2791            6 :  && code2 == LT_EXPR
    2792              :  && one_before
    2793            0 :  && allbits)
    2794            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2795            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2796            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2797              : )
    2798              :                                     {
    2799            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail872;
    2800            0 :                                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail872;
    2801            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail872;
    2802            0 :                                       {
    2803            0 :                                         tree res_op0;
    2804            0 :                                         res_op0 = captures[4];
    2805            0 :                                         tree res_op1;
    2806            0 :                                         {
    2807            0 :                                           tree _o1[1], _r1;
    2808            0 :                                           _o1[0] = captures[2];
    2809            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2810              :                                             {
    2811            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2812              :                                             }
    2813              :                                           else
    2814              :                                             _r1 = _o1[0];
    2815            0 :                                           res_op1 = _r1;
    2816              :                                         }
    2817            0 :                                         tree _r;
    2818            0 :                                         _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2819            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 688, __FILE__, __LINE__, true);
    2820            0 :                                         return _r;
    2821              :                                       }
    2822              : next_after_fail872:;
    2823              :                                     }
    2824              :                                 }
    2825              :                             }
    2826              :                         }
    2827              :                     }
    2828              :                 }
    2829              :             }
    2830              :       }
    2831              :     }
    2832              :   return NULL_TREE;
    2833              : }
    2834              : 
    2835              : tree
    2836          147 : generic_simplify_521 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2837              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2838              : {
    2839          147 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2840          147 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail916;
    2841          147 :   {
    2842          147 :     tree res_op0;
    2843          147 :     {
    2844          147 :       tree _o1[1], _r1;
    2845          147 :       _o1[0] = captures[0];
    2846          147 :       if (TREE_TYPE (_o1[0]) != type)
    2847              :         {
    2848            0 :           _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    2849              :         }
    2850              :       else
    2851              :         _r1 = _o1[0];
    2852          147 :       res_op0 = _r1;
    2853              :     }
    2854          147 :     tree res_op1;
    2855          147 :     res_op1 =  build_each_one_cst (type);
    2856          147 :     tree _r;
    2857          147 :     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    2858          147 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 726, __FILE__, __LINE__, true);
    2859              :     return _r;
    2860              :   }
    2861            0 : next_after_fail916:;
    2862            0 :   return NULL_TREE;
    2863              : }
    2864              : 
    2865              : tree
    2866            0 : generic_simplify_527 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2867              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2868              :  const enum tree_code ARG_UNUSED (minmax))
    2869              : {
    2870            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2871            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail923;
    2872            0 :   {
    2873            0 :     tree _r;
    2874            0 :     _r = captures[0];
    2875            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 733, __FILE__, __LINE__, true);
    2876              :     return _r;
    2877              :   }
    2878            0 : next_after_fail923:;
    2879            0 :   return NULL_TREE;
    2880              : }
    2881              : 
    2882              : tree
    2883            0 : generic_simplify_534 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2884              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2885              :  const enum tree_code ARG_UNUSED (minmax))
    2886              : {
    2887            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2888            0 :   if (TYPE_UNSIGNED (type)
    2889            0 :  || (tree_int_cst_sgn (captures[2]) == tree_int_cst_sgn (captures[4]))
    2890              : )
    2891              :     {
    2892            0 :       {
    2893            0 :  auto andvalue = wi::to_wide (captures[2]) & wi::to_wide (captures[4]);
    2894            0 :           if (andvalue == ((minmax == MIN_EXPR)
    2895            0 :  ? wi::to_wide (captures[2]) : wi::to_wide (captures[4]))
    2896              : )
    2897              :             {
    2898            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail930;
    2899            0 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail930;
    2900            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail930;
    2901            0 :               {
    2902            0 :                 tree _r;
    2903            0 :                 _r = captures[0];
    2904            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 739, __FILE__, __LINE__, true);
    2905            0 :                 return _r;
    2906              :               }
    2907            0 : next_after_fail930:;
    2908              :             }
    2909              :           else
    2910              :             {
    2911            0 :               if (andvalue == ((minmax != MIN_EXPR)
    2912            0 :  ? wi::to_wide (captures[2]) : wi::to_wide (captures[4]))
    2913              : )
    2914              :                 {
    2915            0 :                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail931;
    2916            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail931;
    2917            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail931;
    2918            0 :                   {
    2919            0 :                     tree _r;
    2920            0 :                     _r = captures[3];
    2921            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 740, __FILE__, __LINE__, true);
    2922            0 :                     return _r;
    2923              :                   }
    2924            0 : next_after_fail931:;
    2925              :                 }
    2926              :             }
    2927            0 :       }
    2928              :     }
    2929              :   return NULL_TREE;
    2930              : }
    2931              : 
    2932              : tree
    2933            2 : generic_simplify_545 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2934              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2935              : {
    2936            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2937            2 :   if (TREE_CODE (type) != COMPLEX_TYPE
    2938            2 :  && (! ANY_INTEGRAL_TYPE_P (type)
    2939            1 :  || TYPE_OVERFLOW_UNDEFINED (type))
    2940              : )
    2941              :     {
    2942            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail955;
    2943            2 :       {
    2944            2 :         tree res_op0;
    2945            2 :         res_op0 = captures[0];
    2946            2 :         tree _r;
    2947            2 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    2948            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 752, __FILE__, __LINE__, true);
    2949            2 :         return _r;
    2950              :       }
    2951            0 : next_after_fail955:;
    2952              :     }
    2953              :   return NULL_TREE;
    2954              : }
    2955              : 
    2956              : tree
    2957           12 : generic_simplify_552 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2958              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2959              :  const enum tree_code ARG_UNUSED (op))
    2960              : {
    2961           12 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2962           12 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail962;
    2963           12 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail962;
    2964           12 :   {
    2965           12 :     tree _r;
    2966           12 :     _r = captures[2];
    2967           12 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 538, __FILE__, __LINE__, true);
    2968              :     return _r;
    2969              :   }
    2970              : next_after_fail962:;
    2971              :   return NULL_TREE;
    2972              : }
    2973              : 
    2974              : tree
    2975            0 : generic_simplify_562 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2976              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2977              :  const combined_fn ARG_UNUSED (cond_len_op))
    2978              : {
    2979            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2980            0 :   {
    2981            0 :  tree op_type = TREE_TYPE (captures[6]);
    2982            0 :       if (inverse_conditions_p (captures[0], captures[2])
    2983            0 :  && element_precision (type) == element_precision (op_type)
    2984              : )
    2985              :         {
    2986            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail972;
    2987            0 :           {
    2988            0 :             tree res_op0;
    2989            0 :             {
    2990            0 :               tree _o1[7], _r1;
    2991            0 :               _o1[0] = captures[2];
    2992            0 :               _o1[1] = captures[3];
    2993            0 :               _o1[2] = captures[4];
    2994            0 :               _o1[3] = captures[5];
    2995            0 :               {
    2996            0 :                 tree _o2[1], _r2;
    2997            0 :                 _o2[0] = captures[1];
    2998            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    2999              :                   {
    3000            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    3001              :                   }
    3002              :                 else
    3003              :                   _r2 = _o2[0];
    3004            0 :                 _o1[4] = _r2;
    3005              :               }
    3006            0 :               _o1[5] = captures[7];
    3007            0 :               _o1[6] = captures[8];
    3008            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]);
    3009            0 :               if (!_r1)
    3010            0 :                 goto next_after_fail972;
    3011            0 :               res_op0 = _r1;
    3012              :             }
    3013            0 :             tree _r;
    3014            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3015            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
    3016            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3017            0 :             if (TREE_SIDE_EFFECTS (captures[6]))
    3018            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[6]), _r);
    3019            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 764, __FILE__, __LINE__, true);
    3020            0 :             return _r;
    3021              :           }
    3022              : next_after_fail972:;
    3023              :         }
    3024              :   }
    3025              :   return NULL_TREE;
    3026              : }
    3027              : 
    3028              : tree
    3029           60 : generic_simplify_574 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3030              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    3031              :  const enum tree_code ARG_UNUSED (cmp))
    3032              : {
    3033           60 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3034           60 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail987;
    3035           60 :   {
    3036           60 :     tree _r;
    3037           60 :     _r =  constant_boolean_node (true, type);
    3038           60 :     if (TREE_SIDE_EFFECTS (captures[0]))
    3039            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3040           60 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 779, __FILE__, __LINE__, true);
    3041              :     return _r;
    3042              :   }
    3043            0 : next_after_fail987:;
    3044            0 :   return NULL_TREE;
    3045              : }
    3046              : 
    3047              : tree
    3048            0 : generic_simplify_581 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3049              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3050              :  const combined_fn ARG_UNUSED (sins),
    3051              :  const combined_fn ARG_UNUSED (atans),
    3052              :  const combined_fn ARG_UNUSED (sqrts),
    3053              :  const combined_fn ARG_UNUSED (copysigns))
    3054              : {
    3055            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3056            0 :   {
    3057            0 :  REAL_VALUE_TYPE r_cst;
    3058            0 :  build_sinatan_real (&r_cst, type);
    3059            0 :  tree t_cst = build_real (type, r_cst);
    3060            0 :  tree t_one = build_one_cst (type);
    3061            0 :       if (SCALAR_FLOAT_TYPE_P (type)
    3062              : )
    3063              :         {
    3064            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail994;
    3065            0 :           {
    3066            0 :             if (! tree_invariant_p (captures[1])) goto next_after_fail994;
    3067            0 :             tree res_op0;
    3068            0 :             {
    3069            0 :               tree _o1[2], _r1;
    3070            0 :               {
    3071            0 :                 tree _o2[1], _r2;
    3072            0 :                 _o2[0] = unshare_expr (captures[1]);
    3073            0 :                 _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    3074            0 :                 _o1[0] = _r2;
    3075              :               }
    3076            0 :               _o1[1] =  t_cst;
    3077            0 :               _r1 = fold_build2_loc (loc, LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3078            0 :               res_op0 = _r1;
    3079              :             }
    3080            0 :             tree res_op1;
    3081            0 :             {
    3082            0 :               tree _o1[2], _r1;
    3083            0 :               _o1[0] = unshare_expr (captures[1]);
    3084            0 :               {
    3085            0 :                 tree _o2[1], _r2;
    3086            0 :                 {
    3087            0 :                   tree _o3[2], _r3;
    3088            0 :                   {
    3089            0 :                     tree _o4[2], _r4;
    3090            0 :                     _o4[0] = unshare_expr (captures[1]);
    3091            0 :                     _o4[1] = unshare_expr (captures[1]);
    3092            0 :                     _r4 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o4[0]), _o4[0], _o4[1]);
    3093            0 :                     _o3[0] = _r4;
    3094              :                   }
    3095            0 :                   _o3[1] =  t_one;
    3096            0 :                   _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    3097            0 :                   _o2[0] = _r3;
    3098              :                 }
    3099            0 :                 _r2 = maybe_build_call_expr_loc (loc, sqrts, TREE_TYPE (_o2[0]), 1, _o2[0]);
    3100            0 :                 if (!_r2)
    3101            0 :                   goto next_after_fail994;
    3102            0 :                 _o1[1] = _r2;
    3103              :               }
    3104            0 :               _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3105            0 :               res_op1 = _r1;
    3106              :             }
    3107            0 :             tree res_op2;
    3108            0 :             {
    3109            0 :               tree _o1[2], _r1;
    3110            0 :               _o1[0] =  t_one;
    3111            0 :               _o1[1] = captures[1];
    3112            0 :               _r1 = maybe_build_call_expr_loc (loc, copysigns, TREE_TYPE (_o1[0]), 2, _o1[0], _o1[1]);
    3113            0 :               if (!_r1)
    3114            0 :                 goto next_after_fail994;
    3115            0 :               res_op2 = _r1;
    3116              :             }
    3117            0 :             tree _r;
    3118            0 :             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    3119            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 786, __FILE__, __LINE__, true);
    3120            0 :             return _r;
    3121              :           }
    3122            0 : next_after_fail994:;
    3123              :         }
    3124              :   }
    3125            0 :   return NULL_TREE;
    3126              : }
    3127              : 
    3128              : tree
    3129            0 : generic_simplify_604 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3130              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    3131              : {
    3132            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3133            0 :   if (canonicalize_math_after_vectorization_p ()
    3134              : )
    3135              :     {
    3136              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1017;
    3137              :       {
    3138              :         tree res_op0;
    3139              :         res_op0 = captures[0];
    3140              :         tree res_op1;
    3141              :         res_op1 = captures[1];
    3142              :         tree res_op2;
    3143              :         res_op2 = captures[2];
    3144              :         tree _r;
    3145              :         _r = maybe_build_call_expr_loc (loc, CFN_FNMA, type, 3, res_op0, res_op1, res_op2);
    3146              :         if (!_r)
    3147              :           goto next_after_fail1017;
    3148              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 809, __FILE__, __LINE__, true);
    3149              :         return _r;
    3150              :       }
    3151            0 : next_after_fail1017:;
    3152              :     }
    3153            0 :   return NULL_TREE;
    3154              : }
    3155              : 
    3156              : tree
    3157            0 : generic_simplify_613 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3158              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures))
    3159              : {
    3160            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3161            0 :   if (canonicalize_math_after_vectorization_p ()
    3162              : )
    3163              :     {
    3164              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1026;
    3165              :       {
    3166              :         tree res_op0;
    3167              :         res_op0 = captures[0];
    3168              :         tree res_op1;
    3169              :         res_op1 = captures[1];
    3170              :         tree res_op2;
    3171              :         res_op2 = captures[2];
    3172              :         tree res_op3;
    3173              :         res_op3 = captures[3];
    3174              :         tree res_op4;
    3175              :         res_op4 = captures[4];
    3176              :         tree _r;
    3177              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3178              :         if (!_r)
    3179              :           goto next_after_fail1026;
    3180              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 818, __FILE__, __LINE__, true);
    3181              :         return _r;
    3182              :       }
    3183            0 : next_after_fail1026:;
    3184              :     }
    3185            0 :   return NULL_TREE;
    3186              : }
    3187              : 
    3188              : tree
    3189            0 : generic_simplify_622 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3190              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3191              :  const enum tree_code ARG_UNUSED (rot),
    3192              :  const combined_fn ARG_UNUSED (popcount))
    3193              : {
    3194            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3195            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3196            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3197            0 :  && (
    3198              : 
    3199            0 :  || !TREE_SIDE_EFFECTS (captures[3]))
    3200              : )
    3201              :     {
    3202            0 :       {
    3203            0 :  tree type0 = TREE_TYPE (captures[0]);
    3204            0 :  tree type1 = TREE_TYPE (captures[1]);
    3205            0 :  unsigned int prec0 = TYPE_PRECISION (type0);
    3206            0 :  unsigned int prec1 = TYPE_PRECISION (type1);
    3207            0 :           if (prec0 == prec1 || (prec0 > prec1 && TYPE_UNSIGNED (type1))
    3208              : )
    3209              :             {
    3210            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1035;
    3211            0 :               {
    3212            0 :                 tree res_op0;
    3213            0 :                 {
    3214            0 :                   tree _o1[1], _r1;
    3215            0 :                   _o1[0] = captures[2];
    3216            0 :                   if (TREE_TYPE (_o1[0]) != type0)
    3217              :                     {
    3218            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3219              :                     }
    3220              :                   else
    3221              :                     _r1 = _o1[0];
    3222            0 :                   res_op0 = _r1;
    3223              :                 }
    3224            0 :                 tree _r;
    3225            0 :                 _r = maybe_build_call_expr_loc (loc, popcount, type, 1, res_op0);
    3226            0 :                 if (!_r)
    3227            0 :                   goto next_after_fail1035;
    3228            0 :                 if (TREE_SIDE_EFFECTS (captures[3]))
    3229            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3230            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 824, __FILE__, __LINE__, true);
    3231            0 :                 return _r;
    3232              :               }
    3233              : next_after_fail1035:;
    3234              :             }
    3235              :       }
    3236              :     }
    3237              :   return NULL_TREE;
    3238              : }
    3239              : 
    3240              : tree
    3241            0 : generic_simplify_633 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3242              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3243              :  const combined_fn ARG_UNUSED (reduc))
    3244              : {
    3245            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3246            0 :   {
    3247            0 :  tree ctor = (TREE_CODE (captures[0]) == SSA_NAME
    3248            0 :  ? gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])) : captures[0]);
    3249            0 :  tree elt = ctor_single_nonzero_element (ctor);
    3250            0 :       if (elt
    3251            0 :  && types_match (type, TREE_TYPE (elt))
    3252            0 :  && !HONOR_SNANS (type)
    3253            0 :  && !HONOR_SIGNED_ZEROS (type)
    3254              : )
    3255              :         {
    3256            0 :           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1048;
    3257            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1048;
    3258            0 :           {
    3259            0 :             tree _r;
    3260            0 :             _r =  elt;
    3261            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 833, __FILE__, __LINE__, true);
    3262            0 :             return _r;
    3263              :           }
    3264              : next_after_fail1048:;
    3265              :         }
    3266              :   }
    3267              :   return NULL_TREE;
    3268              : }
    3269              : 
    3270              : tree
    3271      6568896 : generic_simplify_FLOAT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3272              : {
    3273      6568896 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3274      6568896 :   switch (TREE_CODE (_p0))
    3275              :     {
    3276       561010 :     CASE_CONVERT:
    3277       561010 :       {
    3278       561010 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3279       561010 :         switch (TREE_CODE (_q20))
    3280              :           {
    3281            0 :           case LT_EXPR:
    3282            0 :             {
    3283            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3284            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3285            0 :               {
    3286            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3287            0 :                 tree res = generic_simplify_526 (loc, type, _p0, captures, LT_EXPR);
    3288            0 :                 if (res) return res;
    3289              :               }
    3290            0 :               break;
    3291              :             }
    3292            0 :           case LE_EXPR:
    3293            0 :             {
    3294            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3295            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3296            0 :               {
    3297            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3298            0 :                 tree res = generic_simplify_526 (loc, type, _p0, captures, LE_EXPR);
    3299            0 :                 if (res) return res;
    3300              :               }
    3301            0 :               break;
    3302              :             }
    3303            0 :           case EQ_EXPR:
    3304            0 :             {
    3305            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3306            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3307            0 :               {
    3308            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3309            0 :                 tree res = generic_simplify_526 (loc, type, _p0, captures, EQ_EXPR);
    3310            0 :                 if (res) return res;
    3311              :               }
    3312            0 :               break;
    3313              :             }
    3314            0 :           case NE_EXPR:
    3315            0 :             {
    3316            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3317            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3318            0 :               {
    3319            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3320            0 :                 tree res = generic_simplify_526 (loc, type, _p0, captures, NE_EXPR);
    3321            0 :                 if (res) return res;
    3322              :               }
    3323            0 :               break;
    3324              :             }
    3325            0 :           case GE_EXPR:
    3326            0 :             {
    3327            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3328            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3329            0 :               {
    3330            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3331            0 :                 tree res = generic_simplify_526 (loc, type, _p0, captures, GE_EXPR);
    3332            0 :                 if (res) return res;
    3333              :               }
    3334            0 :               break;
    3335              :             }
    3336            0 :           case GT_EXPR:
    3337            0 :             {
    3338            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3339            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3340            0 :               {
    3341            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3342            0 :                 tree res = generic_simplify_526 (loc, type, _p0, captures, GT_EXPR);
    3343            0 :                 if (res) return res;
    3344              :               }
    3345            0 :               break;
    3346              :             }
    3347            0 :           case UNORDERED_EXPR:
    3348            0 :             {
    3349            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3350            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3351            0 :               {
    3352            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3353            0 :                 tree res = generic_simplify_526 (loc, type, _p0, captures, UNORDERED_EXPR);
    3354            0 :                 if (res) return res;
    3355              :               }
    3356            0 :               break;
    3357              :             }
    3358            0 :           case ORDERED_EXPR:
    3359            0 :             {
    3360            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3361            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3362            0 :               {
    3363            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3364            0 :                 tree res = generic_simplify_526 (loc, type, _p0, captures, ORDERED_EXPR);
    3365            0 :                 if (res) return res;
    3366              :               }
    3367            0 :               break;
    3368              :             }
    3369            0 :           case UNLT_EXPR:
    3370            0 :             {
    3371            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3372            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3373            0 :               {
    3374            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3375            0 :                 tree res = generic_simplify_526 (loc, type, _p0, captures, UNLT_EXPR);
    3376            0 :                 if (res) return res;
    3377              :               }
    3378            0 :               break;
    3379              :             }
    3380            0 :           case UNLE_EXPR:
    3381            0 :             {
    3382            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3383            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3384            0 :               {
    3385            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3386            0 :                 tree res = generic_simplify_526 (loc, type, _p0, captures, UNLE_EXPR);
    3387            0 :                 if (res) return res;
    3388              :               }
    3389            0 :               break;
    3390              :             }
    3391            0 :           case UNGT_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 :                 tree res = generic_simplify_526 (loc, type, _p0, captures, UNGT_EXPR);
    3398            0 :                 if (res) return res;
    3399              :               }
    3400            0 :               break;
    3401              :             }
    3402            0 :           case UNGE_EXPR:
    3403            0 :             {
    3404            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3405            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3406            0 :               {
    3407            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3408            0 :                 tree res = generic_simplify_526 (loc, type, _p0, captures, UNGE_EXPR);
    3409            0 :                 if (res) return res;
    3410              :               }
    3411            0 :               break;
    3412              :             }
    3413            0 :           case UNEQ_EXPR:
    3414            0 :             {
    3415            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3416            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3417            0 :               {
    3418            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3419            0 :                 tree res = generic_simplify_526 (loc, type, _p0, captures, UNEQ_EXPR);
    3420            0 :                 if (res) return res;
    3421              :               }
    3422            0 :               break;
    3423              :             }
    3424            0 :           case LTGT_EXPR:
    3425            0 :             {
    3426            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3427            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3428            0 :               {
    3429            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3430            0 :                 tree res = generic_simplify_526 (loc, type, _p0, captures, LTGT_EXPR);
    3431            0 :                 if (res) return res;
    3432              :               }
    3433            0 :               break;
    3434              :             }
    3435              :           default:;
    3436              :           }
    3437              :         break;
    3438              :       }
    3439      6568896 :     default:;
    3440              :     }
    3441      6568896 :   {
    3442      6568896 :     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3443     13137792 :     if ((
    3444              : 
    3445              :  && useless_type_conversion_p (type, TREE_TYPE (captures[0])))
    3446              :  || (
    3447              : 1
    3448      6568896 :  && type == TREE_TYPE (captures[0]))
    3449              : )
    3450              :       {
    3451            0 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1107;
    3452            0 :         {
    3453            0 :           tree _r;
    3454            0 :           _r = captures[0];
    3455            0 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 847, __FILE__, __LINE__, true);
    3456            0 :           return _r;
    3457              :         }
    3458            0 : next_after_fail1107:;
    3459              :       }
    3460              :   }
    3461      6568896 :   switch (TREE_CODE (_p0))
    3462              :     {
    3463       561010 :     CASE_CONVERT:
    3464       561010 :       {
    3465       561010 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3466       561010 :         {
    3467       561010 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    3468       561010 :           {
    3469       561010 :  tree inside_type = TREE_TYPE (captures[1]);
    3470       561010 :  tree inter_type = TREE_TYPE (captures[0]);
    3471       561010 :  int inside_int = INTEGRAL_TYPE_P (inside_type);
    3472       561010 :  int inside_ptr = POINTER_TYPE_P (inside_type);
    3473       561010 :  int inside_float = FLOAT_TYPE_P (inside_type);
    3474       561010 :  int inside_vec = VECTOR_TYPE_P (inside_type);
    3475       561010 :  unsigned int inside_prec = element_precision (inside_type);
    3476       561010 :  int inside_unsignedp = TYPE_UNSIGNED (inside_type);
    3477       561010 :  int inter_int = INTEGRAL_TYPE_P (inter_type);
    3478       561010 :  int inter_ptr = POINTER_TYPE_P (inter_type);
    3479       561010 :  int inter_float = FLOAT_TYPE_P (inter_type);
    3480       561010 :  int inter_vec = VECTOR_TYPE_P (inter_type);
    3481       561010 :  unsigned int inter_prec = element_precision (inter_type);
    3482       561010 :  int inter_unsignedp = TYPE_UNSIGNED (inter_type);
    3483       561010 :  int final_int = INTEGRAL_TYPE_P (type);
    3484       561010 :  int final_ptr = POINTER_TYPE_P (type);
    3485       561010 :  int final_float = FLOAT_TYPE_P (type);
    3486       561010 :  int final_vec = VECTOR_TYPE_P (type);
    3487       561010 :  unsigned int final_prec = element_precision (type);
    3488       561010 :  int final_unsignedp = TYPE_UNSIGNED (type);
    3489       561010 :               if (((
    3490              : 
    3491              :  && useless_type_conversion_p (type, inside_type))
    3492              :  || (
    3493              : 1
    3494       561010 :  && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
    3495            0 :  && (((inter_int || inter_ptr) && final_int)
    3496            0 :  || (inter_float && final_float))
    3497       561010 :  && inter_prec >= final_prec
    3498              : )
    3499              :                 {
    3500            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1108;
    3501            0 :                   {
    3502            0 :                     tree res_op0;
    3503            0 :                     res_op0 = captures[1];
    3504            0 :                     tree _r;
    3505            0 :                     _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
    3506            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 848, __FILE__, __LINE__, true);
    3507            0 :                     return _r;
    3508              :                   }
    3509            0 : next_after_fail1108:;
    3510              :                 }
    3511              :               else
    3512              :                 {
    3513       561010 :                   if (((inter_int && inside_int) || (inter_float && inside_float))
    3514       561004 :  && (final_int || final_float)
    3515       561004 :  && inter_prec >= inside_prec
    3516       560009 :  && (inter_float || inter_unsignedp == inside_unsignedp)
    3517              : )
    3518              :                     {
    3519       557622 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1109;
    3520       557622 :                       {
    3521       557622 :                         tree res_op0;
    3522       557622 :                         res_op0 = captures[1];
    3523       557622 :                         tree _r;
    3524       557622 :                         _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
    3525       557622 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 849, __FILE__, __LINE__, true);
    3526       557622 :                         return _r;
    3527              :                       }
    3528            0 : next_after_fail1109:;
    3529            0 :                     }
    3530              :                   else
    3531              :                     {
    3532         3388 :                       if (inside_int && inter_int && final_int
    3533            0 :  && ((inside_prec < inter_prec && inter_prec < final_prec
    3534            0 :  && inside_unsignedp && !inter_unsignedp)
    3535            0 :  || final_prec == inter_prec
    3536            0 :  || (inside_prec < inter_prec && inter_prec > final_prec
    3537            0 :  && !inside_unsignedp && inter_unsignedp))
    3538              : )
    3539              :                         {
    3540            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1110;
    3541            0 :                           {
    3542            0 :                             tree res_op0;
    3543            0 :                             res_op0 = captures[1];
    3544            0 :                             tree _r;
    3545            0 :                             _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
    3546            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 850, __FILE__, __LINE__, true);
    3547            0 :                             return _r;
    3548              :                           }
    3549            0 : next_after_fail1110:;
    3550            0 :                         }
    3551              :                       else
    3552              :                         {
    3553         3388 :                           if (! inside_float && ! inter_float && ! final_float
    3554              :  && ! inside_vec && ! inter_vec && ! final_vec
    3555            0 :  && (inter_prec >= inside_prec || inter_prec >= final_prec)
    3556            0 :  && ! (inside_int && inter_int
    3557            0 :  && inter_unsignedp != inside_unsignedp
    3558            0 :  && inter_prec < final_prec)
    3559            0 :  && ((inter_unsignedp && inter_prec > inside_prec)
    3560            0 :  == (final_unsignedp && final_prec > inter_prec))
    3561            0 :  && ! (inside_ptr && inter_prec != final_prec)
    3562            0 :  && ! (final_ptr && inside_prec != inter_prec)
    3563              : )
    3564              :                             {
    3565            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1111;
    3566            0 :                               {
    3567            0 :                                 tree res_op0;
    3568            0 :                                 res_op0 = captures[1];
    3569            0 :                                 tree _r;
    3570            0 :                                 _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
    3571            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 851, __FILE__, __LINE__, true);
    3572            0 :                                 return _r;
    3573              :                               }
    3574            0 : next_after_fail1111:;
    3575            0 :                             }
    3576              :                           else
    3577              :                             {
    3578         3388 :                               if (inside_int && inter_int && final_int
    3579         3382 :  && final_prec <= inside_prec
    3580            0 :  && inter_prec >= inside_prec
    3581              : )
    3582              :                                 {
    3583            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1112;
    3584            0 :                                   {
    3585            0 :                                     tree res_op0;
    3586            0 :                                     res_op0 = captures[1];
    3587            0 :                                     tree _r;
    3588            0 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3589            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 852, __FILE__, __LINE__, true);
    3590            0 :                                     return _r;
    3591              :                                   }
    3592            0 : next_after_fail1112:;
    3593            0 :                                 }
    3594              :                               else
    3595              :                                 {
    3596              :                                   if (0
    3597              :  && final_int && inter_int && inside_int
    3598              :  && final_prec >= inside_prec
    3599              :  && inside_prec > inter_prec
    3600              :  && inter_unsignedp
    3601              : )
    3602              :                                     {
    3603              :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1113;
    3604              :                                       {
    3605              :                                         tree res_op0;
    3606              :                                         {
    3607              :                                           tree _o1[2], _r1;
    3608              :                                           _o1[0] = captures[1];
    3609              :                                           _o1[1] =  wide_int_to_tree
    3610              :  (inside_type,
    3611              :  wi::mask (inter_prec, false,
    3612              :  TYPE_PRECISION (inside_type)));
    3613              :                                           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3614              :                                           res_op0 = _r1;
    3615              :                                         }
    3616              :                                         tree _r;
    3617              :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3618              :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 853, __FILE__, __LINE__, true);
    3619              :                                         return _r;
    3620              :                                       }
    3621              : next_after_fail1113:;
    3622              :                                     }
    3623              :                                   else
    3624              :                                     {
    3625              :                                       if (0
    3626              :  && inside_int && inter_float && final_int &&
    3627              :  (unsigned) significand_size (TYPE_MODE (inter_type))
    3628              :  >= inside_prec - !inside_unsignedp
    3629              : )
    3630              :                                         {
    3631              :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1114;
    3632              :                                           {
    3633              :                                             tree res_op0;
    3634              :                                             res_op0 = captures[1];
    3635              :                                             tree _r;
    3636              :                                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3637              :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 854, __FILE__, __LINE__, true);
    3638              :                                             return _r;
    3639              :                                           }
    3640              : next_after_fail1114:;
    3641              :                                         }
    3642              :                                     }
    3643              :                                 }
    3644              :                             }
    3645              :                         }
    3646              :                     }
    3647              :                 }
    3648              :           }
    3649              :         }
    3650         3388 :         break;
    3651              :       }
    3652            0 :     case FLOAT_EXPR:
    3653            0 :       {
    3654            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3655            0 :         {
    3656            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    3657            0 :           {
    3658            0 :  tree inside_type = TREE_TYPE (captures[1]);
    3659            0 :  tree inter_type = TREE_TYPE (captures[0]);
    3660            0 :  int inside_int = INTEGRAL_TYPE_P (inside_type);
    3661            0 :  int inside_ptr = POINTER_TYPE_P (inside_type);
    3662            0 :  int inside_float = FLOAT_TYPE_P (inside_type);
    3663            0 :  int inside_vec = VECTOR_TYPE_P (inside_type);
    3664            0 :  unsigned int inside_prec = element_precision (inside_type);
    3665            0 :  int inside_unsignedp = TYPE_UNSIGNED (inside_type);
    3666            0 :  int inter_int = INTEGRAL_TYPE_P (inter_type);
    3667            0 :  int inter_ptr = POINTER_TYPE_P (inter_type);
    3668            0 :  int inter_float = FLOAT_TYPE_P (inter_type);
    3669            0 :  int inter_vec = VECTOR_TYPE_P (inter_type);
    3670            0 :  unsigned int inter_prec = element_precision (inter_type);
    3671            0 :  int inter_unsignedp = TYPE_UNSIGNED (inter_type);
    3672            0 :  int final_int = INTEGRAL_TYPE_P (type);
    3673            0 :  int final_ptr = POINTER_TYPE_P (type);
    3674            0 :  int final_float = FLOAT_TYPE_P (type);
    3675            0 :  int final_vec = VECTOR_TYPE_P (type);
    3676            0 :  unsigned int final_prec = element_precision (type);
    3677            0 :  int final_unsignedp = TYPE_UNSIGNED (type);
    3678            0 :               if (((
    3679              : 
    3680              :  && useless_type_conversion_p (type, inside_type))
    3681              :  || (
    3682              : 1
    3683            0 :  && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
    3684            0 :  && (((inter_int || inter_ptr) && final_int)
    3685            0 :  || (inter_float && final_float))
    3686            0 :  && inter_prec >= final_prec
    3687              : )
    3688              :                 {
    3689            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1115;
    3690            0 :                   {
    3691            0 :                     tree res_op0;
    3692            0 :                     res_op0 = captures[1];
    3693            0 :                     tree _r;
    3694            0 :                     _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
    3695            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 848, __FILE__, __LINE__, true);
    3696            0 :                     return _r;
    3697              :                   }
    3698            0 : next_after_fail1115:;
    3699              :                 }
    3700              :               else
    3701              :                 {
    3702            0 :                   if (((inter_int && inside_int) || (inter_float && inside_float))
    3703            0 :  && (final_int || final_float)
    3704            0 :  && inter_prec >= inside_prec
    3705            0 :  && (inter_float || inter_unsignedp == inside_unsignedp)
    3706              : )
    3707              :                     {
    3708            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1116;
    3709            0 :                       {
    3710            0 :                         tree res_op0;
    3711            0 :                         res_op0 = captures[1];
    3712            0 :                         tree _r;
    3713            0 :                         _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
    3714            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 849, __FILE__, __LINE__, true);
    3715            0 :                         return _r;
    3716              :                       }
    3717            0 : next_after_fail1116:;
    3718            0 :                     }
    3719              :                   else
    3720              :                     {
    3721            0 :                       if (inside_int && inter_int && final_int
    3722            0 :  && ((inside_prec < inter_prec && inter_prec < final_prec
    3723            0 :  && inside_unsignedp && !inter_unsignedp)
    3724            0 :  || final_prec == inter_prec
    3725            0 :  || (inside_prec < inter_prec && inter_prec > final_prec
    3726            0 :  && !inside_unsignedp && inter_unsignedp))
    3727              : )
    3728              :                         {
    3729            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1117;
    3730            0 :                           {
    3731            0 :                             tree res_op0;
    3732            0 :                             res_op0 = captures[1];
    3733            0 :                             tree _r;
    3734            0 :                             _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
    3735            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 850, __FILE__, __LINE__, true);
    3736            0 :                             return _r;
    3737              :                           }
    3738            0 : next_after_fail1117:;
    3739            0 :                         }
    3740              :                       else
    3741              :                         {
    3742            0 :                           if (! inside_float && ! inter_float && ! final_float
    3743              :  && ! inside_vec && ! inter_vec && ! final_vec
    3744            0 :  && (inter_prec >= inside_prec || inter_prec >= final_prec)
    3745            0 :  && ! (inside_int && inter_int
    3746            0 :  && inter_unsignedp != inside_unsignedp
    3747            0 :  && inter_prec < final_prec)
    3748            0 :  && ((inter_unsignedp && inter_prec > inside_prec)
    3749            0 :  == (final_unsignedp && final_prec > inter_prec))
    3750            0 :  && ! (inside_ptr && inter_prec != final_prec)
    3751            0 :  && ! (final_ptr && inside_prec != inter_prec)
    3752              : )
    3753              :                             {
    3754            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1118;
    3755            0 :                               {
    3756            0 :                                 tree res_op0;
    3757            0 :                                 res_op0 = captures[1];
    3758            0 :                                 tree _r;
    3759            0 :                                 _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
    3760            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 851, __FILE__, __LINE__, true);
    3761            0 :                                 return _r;
    3762              :                               }
    3763            0 : next_after_fail1118:;
    3764            0 :                             }
    3765              :                           else
    3766              :                             {
    3767            0 :                               if (inside_int && inter_int && final_int
    3768            0 :  && final_prec <= inside_prec
    3769            0 :  && inter_prec >= inside_prec
    3770              : )
    3771              :                                 {
    3772            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1119;
    3773            0 :                                   {
    3774            0 :                                     tree res_op0;
    3775            0 :                                     res_op0 = captures[1];
    3776            0 :                                     tree _r;
    3777            0 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3778            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 852, __FILE__, __LINE__, true);
    3779            0 :                                     return _r;
    3780              :                                   }
    3781            0 : next_after_fail1119:;
    3782            0 :                                 }
    3783              :                               else
    3784              :                                 {
    3785              :                                   if (0
    3786              :  && final_int && inter_int && inside_int
    3787              :  && final_prec >= inside_prec
    3788              :  && inside_prec > inter_prec
    3789              :  && inter_unsignedp
    3790              : )
    3791              :                                     {
    3792              :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1120;
    3793              :                                       {
    3794              :                                         tree res_op0;
    3795              :                                         {
    3796              :                                           tree _o1[2], _r1;
    3797              :                                           _o1[0] = captures[1];
    3798              :                                           _o1[1] =  wide_int_to_tree
    3799              :  (inside_type,
    3800              :  wi::mask (inter_prec, false,
    3801              :  TYPE_PRECISION (inside_type)));
    3802              :                                           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3803              :                                           res_op0 = _r1;
    3804              :                                         }
    3805              :                                         tree _r;
    3806              :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3807              :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 853, __FILE__, __LINE__, true);
    3808              :                                         return _r;
    3809              :                                       }
    3810              : next_after_fail1120:;
    3811              :                                     }
    3812              :                                   else
    3813              :                                     {
    3814              :                                       if (0
    3815              :  && inside_int && inter_float && final_int &&
    3816              :  (unsigned) significand_size (TYPE_MODE (inter_type))
    3817              :  >= inside_prec - !inside_unsignedp
    3818              : )
    3819              :                                         {
    3820              :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1121;
    3821              :                                           {
    3822              :                                             tree res_op0;
    3823              :                                             res_op0 = captures[1];
    3824              :                                             tree _r;
    3825              :                                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3826              :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 854, __FILE__, __LINE__, true);
    3827              :                                             return _r;
    3828              :                                           }
    3829              : next_after_fail1121:;
    3830              :                                         }
    3831              :                                     }
    3832              :                                 }
    3833              :                             }
    3834              :                         }
    3835              :                     }
    3836              :                 }
    3837              :           }
    3838              :         }
    3839            0 :         break;
    3840              :       }
    3841              :     default:;
    3842              :     }
    3843              :   return NULL_TREE;
    3844              : }
    3845              : 
    3846              : tree
    3847     72163133 : generic_simplify_MULT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    3848              : {
    3849     72163133 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3850     72163133 :   switch (TREE_CODE (_p1))
    3851              :     {
    3852          445 :     case VECTOR_CST:
    3853          445 :       {
    3854          445 :         {
    3855          445 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    3856          445 :           if (initializer_each_zero_or_onep (captures[1])
    3857            9 :  && !HONOR_SNANS (type)
    3858          454 :  && !HONOR_SIGNED_ZEROS (type)
    3859              : )
    3860              :             {
    3861            5 :               {
    3862            5 :  tree itype = FLOAT_TYPE_P (type) ? unsigned_type_for (type) : type;
    3863            5 :                   if (itype
    3864            5 :  && (!VECTOR_MODE_P (TYPE_MODE (type))
    3865            5 :  || (VECTOR_MODE_P (TYPE_MODE (itype))
    3866            5 :  && optab_handler (and_optab,
    3867            5 :  TYPE_MODE (itype)) != CODE_FOR_nothing))
    3868              : )
    3869              :                     {
    3870            5 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1414;
    3871            5 :                       {
    3872            5 :                         tree res_op0;
    3873            5 :                         {
    3874            5 :                           tree _o1[2], _r1;
    3875            5 :                           {
    3876            5 :                             tree _o2[1], _r2;
    3877            5 :                             _o2[0] = captures[0];
    3878            5 :                             if (TREE_TYPE (_o2[0]) != itype)
    3879              :                               {
    3880            1 :                                 _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, itype, _o2[0]);
    3881              :                               }
    3882              :                             else
    3883              :                               _r2 = _o2[0];
    3884            5 :                             _o1[0] = _r2;
    3885              :                           }
    3886            5 :                           {
    3887            5 :                             tree _o2[2], _r2;
    3888            5 :                             _o2[0] = captures[1];
    3889            5 :                             _o2[1] =  build_zero_cst (type);
    3890            5 :                             _r2 = fold_build2_loc (loc, NE_EXPR, itype, _o2[0], _o2[1]);
    3891            5 :                             _o1[1] = _r2;
    3892              :                           }
    3893            5 :                           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, itype, _o1[0], _o1[1]);
    3894            5 :                           res_op0 = _r1;
    3895              :                         }
    3896            5 :                         tree _r;
    3897            5 :                         _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3898            5 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 971, __FILE__, __LINE__, true);
    3899            5 :                         return _r;
    3900              :                       }
    3901            0 : next_after_fail1414:;
    3902              :                     }
    3903              :               }
    3904              :             }
    3905              :         }
    3906          440 :         break;
    3907              :       }
    3908     72163128 :     default:;
    3909              :     }
    3910     72163128 : if (integer_zerop (_p1))
    3911              :   {
    3912        33570 :     {
    3913        33570 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    3914        33570 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1415;
    3915        33570 :       {
    3916        33570 :         tree _r;
    3917        33570 :         _r = captures[1];
    3918        33570 :         if (TREE_SIDE_EFFECTS (captures[0]))
    3919         2441 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3920        33570 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 972, __FILE__, __LINE__, true);
    3921        33570 :         return _r;
    3922              :       }
    3923            0 : next_after_fail1415:;
    3924              :     }
    3925              :   }
    3926     72129558 : if (real_zerop (_p1))
    3927              :   {
    3928          426 :     {
    3929          426 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    3930          426 :       if (!tree_expr_maybe_nan_p (captures[0])
    3931          218 :  && (!HONOR_NANS (type) || !tree_expr_maybe_infinite_p (captures[0]))
    3932          436 :  && (!HONOR_SIGNED_ZEROS (type) || tree_expr_nonnegative_p (captures[0]))
    3933              : )
    3934              :         {
    3935            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1416;
    3936            4 :           {
    3937            4 :             tree _r;
    3938            4 :             _r = captures[1];
    3939            4 :             if (TREE_SIDE_EFFECTS (captures[0]))
    3940            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3941            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 973, __FILE__, __LINE__, true);
    3942            4 :             return _r;
    3943              :           }
    3944            0 : next_after_fail1416:;
    3945              :         }
    3946              :     }
    3947              :   }
    3948     72129554 : if (real_onep (_p1))
    3949              :   {
    3950         1246 :     {
    3951         1246 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3952         1246 :       if (!tree_expr_maybe_signaling_nan_p (captures[0])
    3953         1246 :  && (!HONOR_SIGNED_ZEROS (type)
    3954         1125 :  || !COMPLEX_FLOAT_TYPE_P (type))
    3955              : )
    3956              :         {
    3957          763 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1417;
    3958          763 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1417;
    3959          763 :           {
    3960          763 :             tree res_op0;
    3961          763 :             res_op0 = captures[0];
    3962          763 :             tree _r;
    3963          763 :             _r = non_lvalue_loc (loc, res_op0);
    3964          763 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 974, __FILE__, __LINE__, true);
    3965          763 :             return _r;
    3966              :           }
    3967              : next_after_fail1417:;
    3968              :         }
    3969              :     }
    3970              :   }
    3971     72128791 : if (real_minus_onep (_p1))
    3972              :   {
    3973        43497 :     {
    3974        43497 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3975        43497 :       if (!tree_expr_maybe_signaling_nan_p (captures[0])
    3976        43497 :  && (!HONOR_SIGNED_ZEROS (type)
    3977        40589 :  || !COMPLEX_FLOAT_TYPE_P (type))
    3978              : )
    3979              :         {
    3980        43113 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1418;
    3981        43113 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1418;
    3982        43113 :           {
    3983        43113 :             tree res_op0;
    3984        43113 :             res_op0 = captures[0];
    3985        43113 :             tree _r;
    3986        43113 :             _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    3987        43113 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
    3988        43113 :             return _r;
    3989              :           }
    3990              : next_after_fail1418:;
    3991              :         }
    3992              :     }
    3993              :   }
    3994     72085678 :   switch (TREE_CODE (_p0))
    3995              :     {
    3996        60550 :     case BIT_AND_EXPR:
    3997        60550 :       {
    3998        60550 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3999        60550 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4000        60550 :         switch (TREE_CODE (_q20))
    4001              :           {
    4002          275 :           case RSHIFT_EXPR:
    4003          275 :             {
    4004          275 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4005          275 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4006          275 :               if (uniform_integer_cst_p (_q31))
    4007              :                 {
    4008           14 :                   if (uniform_integer_cst_p (_q21))
    4009              :                     {
    4010           14 :                       if (uniform_integer_cst_p (_p1))
    4011              :                         {
    4012           14 :                           {
    4013           14 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
    4014           14 :                             {
    4015           14 :  tree rshift_cst = uniform_integer_cst_p (captures[1]);
    4016           14 :  tree bit_and_cst = uniform_integer_cst_p (captures[2]);
    4017           14 :  tree mult_cst = uniform_integer_cst_p (captures[3]);
    4018           14 :                                 if (VECTOR_TYPE_P (type)
    4019            0 :  && tree_fits_uhwi_p (rshift_cst)
    4020            0 :  && tree_fits_uhwi_p (mult_cst)
    4021            0 :  && tree_fits_uhwi_p (bit_and_cst)
    4022              : )
    4023              :                                   {
    4024            0 :                                     {
    4025            0 :  HOST_WIDE_INT vec_elem_bits = vector_element_bits (type);
    4026            0 :  poly_int64 vec_nelts = TYPE_VECTOR_SUBPARTS (type);
    4027            0 :  poly_int64 vec_bits = vec_elem_bits * vec_nelts;
    4028            0 :  unsigned HOST_WIDE_INT cmp_bits_i, bit_and_i, mult_i;
    4029            0 :  unsigned HOST_WIDE_INT target_mult_i, target_bit_and_i;
    4030            0 :  cmp_bits_i = tree_to_uhwi (rshift_cst) + 1;
    4031            0 :  mult_i = tree_to_uhwi (mult_cst);
    4032            0 :  target_mult_i = (HOST_WIDE_INT_1U << cmp_bits_i) - 1;
    4033            0 :  bit_and_i = tree_to_uhwi (bit_and_cst);
    4034            0 :  target_bit_and_i = 0;
    4035            0 :  for (unsigned i = 0; i < vec_elem_bits / cmp_bits_i; i++)
    4036            0 :  target_bit_and_i = (target_bit_and_i << cmp_bits_i) | 1U;
    4037            0 :                                         if ((exact_log2 (cmp_bits_i)) >= 0
    4038            0 :  && cmp_bits_i < HOST_BITS_PER_WIDE_INT
    4039            0 :  && multiple_p (vec_bits, cmp_bits_i)
    4040            0 :  && vec_elem_bits <= HOST_BITS_PER_WIDE_INT
    4041            0 :  && target_mult_i == mult_i
    4042            0 :  && target_bit_and_i == bit_and_i
    4043              : )
    4044              :                                           {
    4045            0 :                                             {
    4046            0 :  tree cmp_type = build_nonstandard_integer_type (cmp_bits_i, 0);
    4047            0 :  poly_int64 vector_type_nelts = exact_div (vec_bits, cmp_bits_i);
    4048            0 :  tree vec_cmp_type = build_vector_type (cmp_type, vector_type_nelts);
    4049            0 :  tree vec_truth_type = truth_type_for (vec_cmp_type);
    4050            0 :  tree zeros = build_zero_cst (vec_cmp_type);
    4051            0 :  tree ones = build_all_ones_cst (vec_cmp_type);
    4052            0 :                                                 if (expand_vec_cmp_expr_p (vec_cmp_type, vec_truth_type, LT_EXPR)
    4053            0 :  && expand_vec_cond_expr_p (vec_cmp_type, vec_truth_type)
    4054              : )
    4055              :                                                   {
    4056            0 :                                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1419;
    4057            0 :                                                     {
    4058            0 :                                                       tree res_op0;
    4059            0 :                                                       {
    4060            0 :                                                         tree _o1[3], _r1;
    4061            0 :                                                         {
    4062            0 :                                                           tree _o2[2], _r2;
    4063            0 :                                                           {
    4064            0 :                                                             tree _o3[1], _r3;
    4065            0 :                                                             _o3[0] = captures[0];
    4066            0 :                                                             if (TREE_TYPE (_o3[0]) != vec_cmp_type)
    4067              :                                                               {
    4068            0 :                                                                 _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, vec_cmp_type, _o3[0]);
    4069              :                                                               }
    4070              :                                                             else
    4071              :                                                               _r3 = _o3[0];
    4072            0 :                                                             _o2[0] = _r3;
    4073              :                                                           }
    4074            0 :                                                           _o2[1] =  zeros;
    4075            0 :                                                           _r2 = fold_build2_loc (loc, LT_EXPR, vec_truth_type, _o2[0], _o2[1]);
    4076            0 :                                                           _o1[0] = _r2;
    4077              :                                                         }
    4078            0 :                                                         _o1[1] =  ones;
    4079            0 :                                                         _o1[2] =  zeros;
    4080            0 :                                                         _r1 = fold_build3_loc (loc, VEC_COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
    4081            0 :                                                         res_op0 = _r1;
    4082              :                                                       }
    4083            0 :                                                       tree _r;
    4084            0 :                                                       _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    4085            0 :                                                       if (TREE_SIDE_EFFECTS (captures[1]))
    4086            0 :                                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4087            0 :                                                       if (TREE_SIDE_EFFECTS (captures[2]))
    4088            0 :                                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4089            0 :                                                       if (TREE_SIDE_EFFECTS (captures[3]))
    4090            0 :                                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    4091            0 :                                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 976, __FILE__, __LINE__, true);
    4092            0 :                                                       return _r;
    4093              :                                                     }
    4094            0 : next_after_fail1419:;
    4095              :                                                   }
    4096              :                                             }
    4097              :                                           }
    4098              :                                     }
    4099              :                                   }
    4100              :                             }
    4101              :                           }
    4102              :                         }
    4103              :                     }
    4104              :                 }
    4105              :               break;
    4106              :             }
    4107              :           default:;
    4108              :           }
    4109              :         break;
    4110              :       }
    4111     72085678 :     default:;
    4112              :     }
    4113     72085678 :   switch (TREE_CODE (_p1))
    4114              :     {
    4115         3118 :     case COND_EXPR:
    4116         3118 :       {
    4117         3118 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4118         3118 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4119         3118 :         tree _q32 = TREE_OPERAND (_p1, 2);
    4120         3118 :         switch (TREE_CODE (_q30))
    4121              :           {
    4122          530 :           case GT_EXPR:
    4123          530 :             {
    4124          530 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4125          530 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4126          530 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4127              :                 {
    4128            0 :                   if (real_zerop (_q41))
    4129              :                     {
    4130            0 :                       if (real_onep (_q31))
    4131              :                         {
    4132            0 :                           if (real_minus_onep (_q32))
    4133              :                             {
    4134            0 :                               {
    4135            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    4136            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4137              : )
    4138              :                                   {
    4139            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1420;
    4140            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1420;
    4141            0 :                                     {
    4142            0 :                                       tree res_op0;
    4143            0 :                                       {
    4144            0 :                                         tree _o1[1], _r1;
    4145            0 :                                         _o1[0] = captures[0];
    4146            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4147            0 :                                         res_op0 = _r1;
    4148              :                                       }
    4149            0 :                                       tree _r;
    4150            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4151            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
    4152            0 :                                       return _r;
    4153              :                                     }
    4154            0 : next_after_fail1420:;
    4155              :                                   }
    4156              :                               }
    4157              :                             }
    4158              :                         }
    4159              :                     }
    4160              :                 }
    4161              :               break;
    4162              :             }
    4163           20 :           case GE_EXPR:
    4164           20 :             {
    4165           20 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4166           20 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4167           20 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4168              :                 {
    4169            0 :                   if (real_zerop (_q41))
    4170              :                     {
    4171            0 :                       if (real_onep (_q31))
    4172              :                         {
    4173            0 :                           if (real_minus_onep (_q32))
    4174              :                             {
    4175            0 :                               {
    4176            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    4177            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4178              : )
    4179              :                                   {
    4180            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1421;
    4181            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1421;
    4182            0 :                                     {
    4183            0 :                                       tree res_op0;
    4184            0 :                                       {
    4185            0 :                                         tree _o1[1], _r1;
    4186            0 :                                         _o1[0] = captures[0];
    4187            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4188            0 :                                         res_op0 = _r1;
    4189              :                                       }
    4190            0 :                                       tree _r;
    4191            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4192            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
    4193            0 :                                       return _r;
    4194              :                                     }
    4195            0 : next_after_fail1421:;
    4196              :                                   }
    4197              :                               }
    4198              :                             }
    4199              :                         }
    4200              :                     }
    4201              :                 }
    4202              :               break;
    4203              :             }
    4204           51 :           case LT_EXPR:
    4205           51 :             {
    4206           51 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4207           51 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4208           51 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4209              :                 {
    4210            0 :                   if (real_zerop (_q41))
    4211              :                     {
    4212            0 :                       if (real_onep (_q31))
    4213              :                         {
    4214            0 :                           if (real_minus_onep (_q32))
    4215              :                             {
    4216            0 :                               {
    4217            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    4218            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4219              : )
    4220              :                                   {
    4221            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1422;
    4222            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1422;
    4223            0 :                                     {
    4224            0 :                                       tree res_op0;
    4225            0 :                                       {
    4226            0 :                                         tree _o1[1], _r1;
    4227            0 :                                         _o1[0] = captures[0];
    4228            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4229            0 :                                         res_op0 = _r1;
    4230              :                                       }
    4231            0 :                                       tree _r;
    4232            0 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4233            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
    4234            0 :                                       return _r;
    4235              :                                     }
    4236            0 : next_after_fail1422:;
    4237              :                                   }
    4238              :                               }
    4239              :                             }
    4240              :                         }
    4241              :                     }
    4242              :                 }
    4243              :               break;
    4244              :             }
    4245            5 :           case LE_EXPR:
    4246            5 :             {
    4247            5 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4248            5 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4249            5 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4250              :                 {
    4251            0 :                   if (real_zerop (_q41))
    4252              :                     {
    4253            0 :                       if (real_onep (_q31))
    4254              :                         {
    4255            0 :                           if (real_minus_onep (_q32))
    4256              :                             {
    4257            0 :                               {
    4258            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    4259            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4260              : )
    4261              :                                   {
    4262            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1423;
    4263            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1423;
    4264            0 :                                     {
    4265            0 :                                       tree res_op0;
    4266            0 :                                       {
    4267            0 :                                         tree _o1[1], _r1;
    4268            0 :                                         _o1[0] = captures[0];
    4269            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4270            0 :                                         res_op0 = _r1;
    4271              :                                       }
    4272            0 :                                       tree _r;
    4273            0 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4274            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
    4275            0 :                                       return _r;
    4276              :                                     }
    4277            0 : next_after_fail1423:;
    4278              :                                   }
    4279              :                               }
    4280              :                             }
    4281              :                         }
    4282              :                     }
    4283              :                 }
    4284              :               break;
    4285              :             }
    4286              :           default:;
    4287              :           }
    4288              :         break;
    4289              :       }
    4290     72085678 :     default:;
    4291              :     }
    4292     72085678 :   switch (TREE_CODE (_p0))
    4293              :     {
    4294        87528 :     case COND_EXPR:
    4295        87528 :       {
    4296        87528 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4297        87528 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4298        87528 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4299        87528 :         switch (TREE_CODE (_q20))
    4300              :           {
    4301        22281 :           case GT_EXPR:
    4302        22281 :             {
    4303        22281 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4304        22281 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4305        22281 :               if (real_zerop (_q31))
    4306              :                 {
    4307            4 :                   if (real_onep (_q21))
    4308              :                     {
    4309            3 :                       if (real_minus_onep (_q22))
    4310              :                         {
    4311            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4312              :                             {
    4313            1 :                               {
    4314            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4315            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4316              : )
    4317              :                                   {
    4318            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1424;
    4319            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1424;
    4320            1 :                                     {
    4321            1 :                                       tree res_op0;
    4322            1 :                                       {
    4323            1 :                                         tree _o1[1], _r1;
    4324            1 :                                         _o1[0] = captures[0];
    4325            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4326            1 :                                         res_op0 = _r1;
    4327              :                                       }
    4328            1 :                                       tree _r;
    4329            1 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4330            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
    4331            1 :                                       return _r;
    4332              :                                     }
    4333            0 : next_after_fail1424:;
    4334              :                                   }
    4335              :                               }
    4336              :                             }
    4337              :                         }
    4338              :                     }
    4339            3 :                   if (real_minus_onep (_q21))
    4340              :                     {
    4341            1 :                       if (real_onep (_q22))
    4342              :                         {
    4343            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4344              :                             {
    4345            1 :                               {
    4346            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
    4347            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4348              : )
    4349              :                                   {
    4350            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1425;
    4351            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1425;
    4352            1 :                                     {
    4353            1 :                                       tree res_op0;
    4354            1 :                                       {
    4355            1 :                                         tree _o1[1], _r1;
    4356            1 :                                         _o1[0] = captures[0];
    4357            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4358            1 :                                         res_op0 = _r1;
    4359              :                                       }
    4360            1 :                                       tree _r;
    4361            1 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4362            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    4363            1 :                                       return _r;
    4364              :                                     }
    4365            0 : next_after_fail1425:;
    4366              :                                   }
    4367              :                               }
    4368              :                             }
    4369              :                         }
    4370              :                     }
    4371              :                 }
    4372              :               break;
    4373              :             }
    4374         8256 :           case GE_EXPR:
    4375         8256 :             {
    4376         8256 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4377         8256 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4378         8256 :               if (real_zerop (_q31))
    4379              :                 {
    4380            2 :                   if (real_onep (_q21))
    4381              :                     {
    4382            1 :                       if (real_minus_onep (_q22))
    4383              :                         {
    4384            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4385              :                             {
    4386            1 :                               {
    4387            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4388            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4389              : )
    4390              :                                   {
    4391            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1426;
    4392            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1426;
    4393            1 :                                     {
    4394            1 :                                       tree res_op0;
    4395            1 :                                       {
    4396            1 :                                         tree _o1[1], _r1;
    4397            1 :                                         _o1[0] = captures[0];
    4398            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4399            1 :                                         res_op0 = _r1;
    4400              :                                       }
    4401            1 :                                       tree _r;
    4402            1 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4403            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
    4404            1 :                                       return _r;
    4405              :                                     }
    4406            0 : next_after_fail1426:;
    4407              :                                   }
    4408              :                               }
    4409              :                             }
    4410              :                         }
    4411              :                     }
    4412            1 :                   if (real_minus_onep (_q21))
    4413              :                     {
    4414            1 :                       if (real_onep (_q22))
    4415              :                         {
    4416            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4417              :                             {
    4418            1 :                               {
    4419            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
    4420            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4421              : )
    4422              :                                   {
    4423            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1427;
    4424            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1427;
    4425            1 :                                     {
    4426            1 :                                       tree res_op0;
    4427            1 :                                       {
    4428            1 :                                         tree _o1[1], _r1;
    4429            1 :                                         _o1[0] = captures[0];
    4430            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4431            1 :                                         res_op0 = _r1;
    4432              :                                       }
    4433            1 :                                       tree _r;
    4434            1 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4435            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    4436            1 :                                       return _r;
    4437              :                                     }
    4438            0 : next_after_fail1427:;
    4439              :                                   }
    4440              :                               }
    4441              :                             }
    4442              :                         }
    4443              :                     }
    4444              :                 }
    4445              :               break;
    4446              :             }
    4447         7714 :           case LT_EXPR:
    4448         7714 :             {
    4449         7714 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4450         7714 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4451         7714 :               if (real_zerop (_q31))
    4452              :                 {
    4453            2 :                   if (real_onep (_q21))
    4454              :                     {
    4455            1 :                       if (real_minus_onep (_q22))
    4456              :                         {
    4457            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4458              :                             {
    4459            1 :                               {
    4460            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4461            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4462              : )
    4463              :                                   {
    4464            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1428;
    4465            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1428;
    4466            1 :                                     {
    4467            1 :                                       tree res_op0;
    4468            1 :                                       {
    4469            1 :                                         tree _o1[1], _r1;
    4470            1 :                                         _o1[0] = captures[0];
    4471            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4472            1 :                                         res_op0 = _r1;
    4473              :                                       }
    4474            1 :                                       tree _r;
    4475            1 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4476            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
    4477            1 :                                       return _r;
    4478              :                                     }
    4479            0 : next_after_fail1428:;
    4480              :                                   }
    4481              :                               }
    4482              :                             }
    4483              :                         }
    4484              :                     }
    4485            1 :                   if (real_minus_onep (_q21))
    4486              :                     {
    4487            1 :                       if (real_onep (_q22))
    4488              :                         {
    4489            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4490              :                             {
    4491            1 :                               {
    4492            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
    4493            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4494              : )
    4495              :                                   {
    4496            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1429;
    4497            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1429;
    4498            1 :                                     {
    4499            1 :                                       tree res_op0;
    4500            1 :                                       {
    4501            1 :                                         tree _o1[1], _r1;
    4502            1 :                                         _o1[0] = captures[0];
    4503            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4504            1 :                                         res_op0 = _r1;
    4505              :                                       }
    4506            1 :                                       tree _r;
    4507            1 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4508            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    4509            1 :                                       return _r;
    4510              :                                     }
    4511            0 : next_after_fail1429:;
    4512              :                                   }
    4513              :                               }
    4514              :                             }
    4515              :                         }
    4516              :                     }
    4517              :                 }
    4518              :               break;
    4519              :             }
    4520         2973 :           case LE_EXPR:
    4521         2973 :             {
    4522         2973 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4523         2973 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4524         2973 :               if (real_zerop (_q31))
    4525              :                 {
    4526            2 :                   if (real_onep (_q21))
    4527              :                     {
    4528            1 :                       if (real_minus_onep (_q22))
    4529              :                         {
    4530            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4531              :                             {
    4532            1 :                               {
    4533            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4534            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4535              : )
    4536              :                                   {
    4537            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1430;
    4538            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1430;
    4539            1 :                                     {
    4540            1 :                                       tree res_op0;
    4541            1 :                                       {
    4542            1 :                                         tree _o1[1], _r1;
    4543            1 :                                         _o1[0] = captures[0];
    4544            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4545            1 :                                         res_op0 = _r1;
    4546              :                                       }
    4547            1 :                                       tree _r;
    4548            1 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4549            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
    4550            1 :                                       return _r;
    4551              :                                     }
    4552            0 : next_after_fail1430:;
    4553              :                                   }
    4554              :                               }
    4555              :                             }
    4556              :                         }
    4557              :                     }
    4558            1 :                   if (real_minus_onep (_q21))
    4559              :                     {
    4560            1 :                       if (real_onep (_q22))
    4561              :                         {
    4562            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4563              :                             {
    4564            1 :                               {
    4565            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
    4566            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4567              : )
    4568              :                                   {
    4569            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1431;
    4570            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1431;
    4571            1 :                                     {
    4572            1 :                                       tree res_op0;
    4573            1 :                                       {
    4574            1 :                                         tree _o1[1], _r1;
    4575            1 :                                         _o1[0] = captures[0];
    4576            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4577            1 :                                         res_op0 = _r1;
    4578              :                                       }
    4579            1 :                                       tree _r;
    4580            1 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4581            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    4582            1 :                                       return _r;
    4583              :                                     }
    4584            0 : next_after_fail1431:;
    4585              :                                   }
    4586              :                               }
    4587              :                             }
    4588              :                         }
    4589              :                     }
    4590              :                 }
    4591              :               break;
    4592              :             }
    4593              :           default:;
    4594              :           }
    4595              :         break;
    4596              :       }
    4597     72085670 :     default:;
    4598              :     }
    4599     72085670 :   switch (TREE_CODE (_p1))
    4600              :     {
    4601         3118 :     case COND_EXPR:
    4602         3118 :       {
    4603         3118 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4604         3118 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4605         3118 :         tree _q32 = TREE_OPERAND (_p1, 2);
    4606         3118 :         switch (TREE_CODE (_q30))
    4607              :           {
    4608          530 :           case GT_EXPR:
    4609          530 :             {
    4610          530 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4611          530 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4612          530 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4613              :                 {
    4614            0 :                   if (real_zerop (_q41))
    4615              :                     {
    4616            0 :                       if (real_minus_onep (_q31))
    4617              :                         {
    4618            0 :                           if (real_onep (_q32))
    4619              :                             {
    4620            0 :                               {
    4621            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
    4622            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4623              : )
    4624              :                                   {
    4625            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1432;
    4626            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1432;
    4627            0 :                                     {
    4628            0 :                                       tree res_op0;
    4629            0 :                                       {
    4630            0 :                                         tree _o1[1], _r1;
    4631            0 :                                         _o1[0] = captures[0];
    4632            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4633            0 :                                         res_op0 = _r1;
    4634              :                                       }
    4635            0 :                                       tree _r;
    4636            0 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4637            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    4638            0 :                                       return _r;
    4639              :                                     }
    4640            0 : next_after_fail1432:;
    4641              :                                   }
    4642              :                               }
    4643              :                             }
    4644              :                         }
    4645              :                     }
    4646              :                 }
    4647              :               break;
    4648              :             }
    4649           20 :           case GE_EXPR:
    4650           20 :             {
    4651           20 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4652           20 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4653           20 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4654              :                 {
    4655            0 :                   if (real_zerop (_q41))
    4656              :                     {
    4657            0 :                       if (real_minus_onep (_q31))
    4658              :                         {
    4659            0 :                           if (real_onep (_q32))
    4660              :                             {
    4661            0 :                               {
    4662            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
    4663            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4664              : )
    4665              :                                   {
    4666            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1433;
    4667            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1433;
    4668            0 :                                     {
    4669            0 :                                       tree res_op0;
    4670            0 :                                       {
    4671            0 :                                         tree _o1[1], _r1;
    4672            0 :                                         _o1[0] = captures[0];
    4673            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4674            0 :                                         res_op0 = _r1;
    4675              :                                       }
    4676            0 :                                       tree _r;
    4677            0 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4678            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    4679            0 :                                       return _r;
    4680              :                                     }
    4681            0 : next_after_fail1433:;
    4682              :                                   }
    4683              :                               }
    4684              :                             }
    4685              :                         }
    4686              :                     }
    4687              :                 }
    4688              :               break;
    4689              :             }
    4690           51 :           case LT_EXPR:
    4691           51 :             {
    4692           51 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4693           51 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4694           51 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4695              :                 {
    4696            0 :                   if (real_zerop (_q41))
    4697              :                     {
    4698            0 :                       if (real_minus_onep (_q31))
    4699              :                         {
    4700            0 :                           if (real_onep (_q32))
    4701              :                             {
    4702            0 :                               {
    4703            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
    4704            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4705              : )
    4706              :                                   {
    4707            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1434;
    4708            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1434;
    4709            0 :                                     {
    4710            0 :                                       tree res_op0;
    4711            0 :                                       {
    4712            0 :                                         tree _o1[1], _r1;
    4713            0 :                                         _o1[0] = captures[0];
    4714            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4715            0 :                                         res_op0 = _r1;
    4716              :                                       }
    4717            0 :                                       tree _r;
    4718            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4719            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    4720            0 :                                       return _r;
    4721              :                                     }
    4722            0 : next_after_fail1434:;
    4723              :                                   }
    4724              :                               }
    4725              :                             }
    4726              :                         }
    4727              :                     }
    4728              :                 }
    4729              :               break;
    4730              :             }
    4731            5 :           case LE_EXPR:
    4732            5 :             {
    4733            5 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4734            5 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4735            5 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4736              :                 {
    4737            0 :                   if (real_zerop (_q41))
    4738              :                     {
    4739            0 :                       if (real_minus_onep (_q31))
    4740              :                         {
    4741            0 :                           if (real_onep (_q32))
    4742              :                             {
    4743            0 :                               {
    4744            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
    4745            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4746              : )
    4747              :                                   {
    4748            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1435;
    4749            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1435;
    4750            0 :                                     {
    4751            0 :                                       tree res_op0;
    4752            0 :                                       {
    4753            0 :                                         tree _o1[1], _r1;
    4754            0 :                                         _o1[0] = captures[0];
    4755            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4756            0 :                                         res_op0 = _r1;
    4757              :                                       }
    4758            0 :                                       tree _r;
    4759            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4760            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    4761            0 :                                       return _r;
    4762              :                                     }
    4763            0 : next_after_fail1435:;
    4764              :                                   }
    4765              :                               }
    4766              :                             }
    4767              :                         }
    4768              :                     }
    4769              :                 }
    4770              :               break;
    4771              :             }
    4772              :           default:;
    4773              :           }
    4774              :         break;
    4775              :       }
    4776       893199 :     case CALL_EXPR:
    4777       893199 :       switch (get_call_combined_fn (_p1))
    4778              :         {
    4779           20 :         case CFN_BUILT_IN_COPYSIGNF16:
    4780           20 :           if (call_expr_nargs (_p1) == 2)
    4781              :     {
    4782           20 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4783           20 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4784           20 :               if (real_onep (_q30))
    4785              :                 {
    4786           20 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4787              :                     {
    4788            0 :                       {
    4789            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4790            0 :                         tree res = generic_simplify_183 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    4791            0 :                         if (res) return res;
    4792              :                       }
    4793              :                     }
    4794              :                 }
    4795              :             }
    4796              :           break;
    4797            0 :         case CFN_BUILT_IN_COPYSIGNF32:
    4798            0 :           if (call_expr_nargs (_p1) == 2)
    4799              :     {
    4800            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4801            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4802            0 :               if (real_onep (_q30))
    4803              :                 {
    4804            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4805              :                     {
    4806            0 :                       {
    4807            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4808            0 :                         tree res = generic_simplify_183 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    4809            0 :                         if (res) return res;
    4810              :                       }
    4811              :                     }
    4812              :                 }
    4813              :             }
    4814              :           break;
    4815            0 :         case CFN_BUILT_IN_COPYSIGNF64:
    4816            0 :           if (call_expr_nargs (_p1) == 2)
    4817              :     {
    4818            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4819            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4820            0 :               if (real_onep (_q30))
    4821              :                 {
    4822            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4823              :                     {
    4824            0 :                       {
    4825            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4826            0 :                         tree res = generic_simplify_183 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    4827            0 :                         if (res) return res;
    4828              :                       }
    4829              :                     }
    4830              :                 }
    4831              :             }
    4832              :           break;
    4833            0 :         case CFN_BUILT_IN_COPYSIGNF128X:
    4834            0 :           if (call_expr_nargs (_p1) == 2)
    4835              :     {
    4836            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4837            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4838            0 :               if (real_onep (_q30))
    4839              :                 {
    4840            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4841              :                     {
    4842            0 :                       {
    4843            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4844            0 :                         tree res = generic_simplify_183 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    4845            0 :                         if (res) return res;
    4846              :                       }
    4847              :                     }
    4848              :                 }
    4849              :             }
    4850              :           break;
    4851            0 :         case CFN_BUILT_IN_COPYSIGNF128:
    4852            0 :           if (call_expr_nargs (_p1) == 2)
    4853              :     {
    4854            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4855            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4856            0 :               if (real_onep (_q30))
    4857              :                 {
    4858            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4859              :                     {
    4860            0 :                       {
    4861            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4862            0 :                         tree res = generic_simplify_183 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    4863            0 :                         if (res) return res;
    4864              :                       }
    4865              :                     }
    4866              :                 }
    4867              :             }
    4868              :           break;
    4869            0 :         case CFN_BUILT_IN_COPYSIGNF32X:
    4870            0 :           if (call_expr_nargs (_p1) == 2)
    4871              :     {
    4872            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4873            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4874            0 :               if (real_onep (_q30))
    4875              :                 {
    4876            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4877              :                     {
    4878            0 :                       {
    4879            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4880            0 :                         tree res = generic_simplify_183 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    4881            0 :                         if (res) return res;
    4882              :                       }
    4883              :                     }
    4884              :                 }
    4885              :             }
    4886              :           break;
    4887            0 :         case CFN_BUILT_IN_COPYSIGNF64X:
    4888            0 :           if (call_expr_nargs (_p1) == 2)
    4889              :     {
    4890            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4891            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4892            0 :               if (real_onep (_q30))
    4893              :                 {
    4894            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4895              :                     {
    4896            0 :                       {
    4897            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4898            0 :                         tree res = generic_simplify_183 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    4899            0 :                         if (res) return res;
    4900              :                       }
    4901              :                     }
    4902              :                 }
    4903              :             }
    4904              :           break;
    4905           18 :         case CFN_BUILT_IN_COPYSIGN:
    4906           18 :           if (call_expr_nargs (_p1) == 2)
    4907              :     {
    4908           18 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4909           18 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4910           18 :               if (real_onep (_q30))
    4911              :                 {
    4912           14 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4913              :                     {
    4914            0 :                       {
    4915            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4916            0 :                         tree res = generic_simplify_183 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    4917            0 :                         if (res) return res;
    4918              :                       }
    4919              :                     }
    4920              :                 }
    4921              :             }
    4922              :           break;
    4923           14 :         case CFN_BUILT_IN_COPYSIGNF:
    4924           14 :           if (call_expr_nargs (_p1) == 2)
    4925              :     {
    4926           14 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4927           14 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4928           14 :               if (real_onep (_q30))
    4929              :                 {
    4930           12 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4931              :                     {
    4932            0 :                       {
    4933            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4934            0 :                         tree res = generic_simplify_183 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    4935            0 :                         if (res) return res;
    4936              :                       }
    4937              :                     }
    4938              :                 }
    4939              :             }
    4940              :           break;
    4941            0 :         case CFN_BUILT_IN_COPYSIGNL:
    4942            0 :           if (call_expr_nargs (_p1) == 2)
    4943              :     {
    4944            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4945            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4946            0 :               if (real_onep (_q30))
    4947              :                 {
    4948            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4949              :                     {
    4950            0 :                       {
    4951            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4952            0 :                         tree res = generic_simplify_183 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    4953            0 :                         if (res) return res;
    4954              :                       }
    4955              :                     }
    4956              :                 }
    4957              :             }
    4958              :           break;
    4959            0 :         case CFN_COPYSIGN:
    4960            0 :           if (call_expr_nargs (_p1) == 2)
    4961              :     {
    4962            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4963            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4964            0 :               if (real_onep (_q30))
    4965              :                 {
    4966            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4967              :                     {
    4968            0 :                       {
    4969            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4970            0 :                         tree res = generic_simplify_183 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    4971            0 :                         if (res) return res;
    4972              :                       }
    4973              :                     }
    4974              :                 }
    4975              :             }
    4976              :           break;
    4977              :         default:;
    4978              :         }
    4979              :       break;
    4980     72085670 :     default:;
    4981              :     }
    4982     72085670 :   switch (TREE_CODE (_p0))
    4983              :     {
    4984      2731392 :     case CALL_EXPR:
    4985      2731392 :       switch (get_call_combined_fn (_p0))
    4986              :         {
    4987            1 :         case CFN_BUILT_IN_COPYSIGNF16:
    4988            1 :           if (call_expr_nargs (_p0) == 2)
    4989              :     {
    4990            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    4991            1 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    4992            1 :               if (real_onep (_q20))
    4993              :                 {
    4994            1 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4995              :                     {
    4996            0 :                       {
    4997            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    4998            0 :                         tree res = generic_simplify_184 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    4999            0 :                         if (res) return res;
    5000              :                       }
    5001              :                     }
    5002            1 :                   switch (TREE_CODE (_q21))
    5003              :                     {
    5004            0 :                     case NEGATE_EXPR:
    5005            0 :                       {
    5006            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5007            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5008              :                           {
    5009            0 :                             {
    5010            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5011            0 :                               tree res = generic_simplify_185 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    5012            0 :                               if (res) return res;
    5013              :                             }
    5014              :                           }
    5015              :                         break;
    5016              :                       }
    5017              :                     default:;
    5018              :                     }
    5019              :                 }
    5020              :             }
    5021              :           break;
    5022            0 :         case CFN_BUILT_IN_COPYSIGNF32:
    5023            0 :           if (call_expr_nargs (_p0) == 2)
    5024              :     {
    5025            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5026            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5027            0 :               if (real_onep (_q20))
    5028              :                 {
    5029            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5030              :                     {
    5031            0 :                       {
    5032            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5033            0 :                         tree res = generic_simplify_184 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    5034            0 :                         if (res) return res;
    5035              :                       }
    5036              :                     }
    5037            0 :                   switch (TREE_CODE (_q21))
    5038              :                     {
    5039            0 :                     case NEGATE_EXPR:
    5040            0 :                       {
    5041            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5042            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5043              :                           {
    5044            0 :                             {
    5045            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5046            0 :                               tree res = generic_simplify_185 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    5047            0 :                               if (res) return res;
    5048              :                             }
    5049              :                           }
    5050              :                         break;
    5051              :                       }
    5052              :                     default:;
    5053              :                     }
    5054              :                 }
    5055              :             }
    5056              :           break;
    5057            0 :         case CFN_BUILT_IN_COPYSIGNF64:
    5058            0 :           if (call_expr_nargs (_p0) == 2)
    5059              :     {
    5060            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5061            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5062            0 :               if (real_onep (_q20))
    5063              :                 {
    5064            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5065              :                     {
    5066            0 :                       {
    5067            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5068            0 :                         tree res = generic_simplify_184 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    5069            0 :                         if (res) return res;
    5070              :                       }
    5071              :                     }
    5072            0 :                   switch (TREE_CODE (_q21))
    5073              :                     {
    5074            0 :                     case NEGATE_EXPR:
    5075            0 :                       {
    5076            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5077            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5078              :                           {
    5079            0 :                             {
    5080            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5081            0 :                               tree res = generic_simplify_185 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    5082            0 :                               if (res) return res;
    5083              :                             }
    5084              :                           }
    5085              :                         break;
    5086              :                       }
    5087              :                     default:;
    5088              :                     }
    5089              :                 }
    5090              :             }
    5091              :           break;
    5092            0 :         case CFN_BUILT_IN_COPYSIGNF128X:
    5093            0 :           if (call_expr_nargs (_p0) == 2)
    5094              :     {
    5095            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5096            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5097            0 :               if (real_onep (_q20))
    5098              :                 {
    5099            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5100              :                     {
    5101            0 :                       {
    5102            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5103            0 :                         tree res = generic_simplify_184 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    5104            0 :                         if (res) return res;
    5105              :                       }
    5106              :                     }
    5107            0 :                   switch (TREE_CODE (_q21))
    5108              :                     {
    5109            0 :                     case NEGATE_EXPR:
    5110            0 :                       {
    5111            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5112            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5113              :                           {
    5114            0 :                             {
    5115            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5116            0 :                               tree res = generic_simplify_185 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    5117            0 :                               if (res) return res;
    5118              :                             }
    5119              :                           }
    5120              :                         break;
    5121              :                       }
    5122              :                     default:;
    5123              :                     }
    5124              :                 }
    5125              :             }
    5126              :           break;
    5127            8 :         case CFN_BUILT_IN_COPYSIGNF128:
    5128            8 :           if (call_expr_nargs (_p0) == 2)
    5129              :     {
    5130            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5131            8 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5132            8 :               if (real_onep (_q20))
    5133              :                 {
    5134            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5135              :                     {
    5136            0 :                       {
    5137            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5138            0 :                         tree res = generic_simplify_184 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    5139            0 :                         if (res) return res;
    5140              :                       }
    5141              :                     }
    5142            0 :                   switch (TREE_CODE (_q21))
    5143              :                     {
    5144            0 :                     case NEGATE_EXPR:
    5145            0 :                       {
    5146            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5147            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5148              :                           {
    5149            0 :                             {
    5150            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5151            0 :                               tree res = generic_simplify_185 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    5152            0 :                               if (res) return res;
    5153              :                             }
    5154              :                           }
    5155              :                         break;
    5156              :                       }
    5157              :                     default:;
    5158              :                     }
    5159              :                 }
    5160              :             }
    5161              :           break;
    5162            0 :         case CFN_BUILT_IN_COPYSIGNF32X:
    5163            0 :           if (call_expr_nargs (_p0) == 2)
    5164              :     {
    5165            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5166            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5167            0 :               if (real_onep (_q20))
    5168              :                 {
    5169            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5170              :                     {
    5171            0 :                       {
    5172            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5173            0 :                         tree res = generic_simplify_184 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    5174            0 :                         if (res) return res;
    5175              :                       }
    5176              :                     }
    5177            0 :                   switch (TREE_CODE (_q21))
    5178              :                     {
    5179            0 :                     case NEGATE_EXPR:
    5180            0 :                       {
    5181            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5182            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5183              :                           {
    5184            0 :                             {
    5185            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5186            0 :                               tree res = generic_simplify_185 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    5187            0 :                               if (res) return res;
    5188              :                             }
    5189              :                           }
    5190              :                         break;
    5191              :                       }
    5192              :                     default:;
    5193              :                     }
    5194              :                 }
    5195              :             }
    5196              :           break;
    5197            0 :         case CFN_BUILT_IN_COPYSIGNF64X:
    5198            0 :           if (call_expr_nargs (_p0) == 2)
    5199              :     {
    5200            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5201            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5202            0 :               if (real_onep (_q20))
    5203              :                 {
    5204            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5205              :                     {
    5206            0 :                       {
    5207            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5208            0 :                         tree res = generic_simplify_184 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    5209            0 :                         if (res) return res;
    5210              :                       }
    5211              :                     }
    5212            0 :                   switch (TREE_CODE (_q21))
    5213              :                     {
    5214            0 :                     case NEGATE_EXPR:
    5215            0 :                       {
    5216            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5217            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5218              :                           {
    5219            0 :                             {
    5220            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5221            0 :                               tree res = generic_simplify_185 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    5222            0 :                               if (res) return res;
    5223              :                             }
    5224              :                           }
    5225              :                         break;
    5226              :                       }
    5227              :                     default:;
    5228              :                     }
    5229              :                 }
    5230              :             }
    5231              :           break;
    5232           18 :         case CFN_BUILT_IN_COPYSIGN:
    5233           18 :           if (call_expr_nargs (_p0) == 2)
    5234              :     {
    5235           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5236           18 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5237           18 :               if (real_onep (_q20))
    5238              :                 {
    5239            3 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5240              :                     {
    5241            0 :                       {
    5242            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5243            0 :                         tree res = generic_simplify_184 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    5244            0 :                         if (res) return res;
    5245              :                       }
    5246              :                     }
    5247            3 :                   switch (TREE_CODE (_q21))
    5248              :                     {
    5249            0 :                     case NEGATE_EXPR:
    5250            0 :                       {
    5251            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5252            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5253              :                           {
    5254            0 :                             {
    5255            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5256            0 :                               tree res = generic_simplify_185 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    5257            0 :                               if (res) return res;
    5258              :                             }
    5259              :                           }
    5260              :                         break;
    5261              :                       }
    5262              :                     default:;
    5263              :                     }
    5264              :                 }
    5265              :             }
    5266              :           break;
    5267           36 :         case CFN_BUILT_IN_COPYSIGNF:
    5268           36 :           if (call_expr_nargs (_p0) == 2)
    5269              :     {
    5270           36 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5271           36 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5272           36 :               if (real_onep (_q20))
    5273              :                 {
    5274           12 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5275              :                     {
    5276            4 :                       {
    5277            4 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5278            4 :                         tree res = generic_simplify_184 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    5279            4 :                         if (res) return res;
    5280              :                       }
    5281              :                     }
    5282           12 :                   switch (TREE_CODE (_q21))
    5283              :                     {
    5284            0 :                     case NEGATE_EXPR:
    5285            0 :                       {
    5286            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5287            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5288              :                           {
    5289            0 :                             {
    5290            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5291            0 :                               tree res = generic_simplify_185 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    5292            0 :                               if (res) return res;
    5293              :                             }
    5294              :                           }
    5295              :                         break;
    5296              :                       }
    5297              :                     default:;
    5298              :                     }
    5299              :                 }
    5300              :             }
    5301              :           break;
    5302            8 :         case CFN_BUILT_IN_COPYSIGNL:
    5303            8 :           if (call_expr_nargs (_p0) == 2)
    5304              :     {
    5305            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5306            8 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5307            8 :               if (real_onep (_q20))
    5308              :                 {
    5309            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5310              :                     {
    5311            0 :                       {
    5312            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5313            0 :                         tree res = generic_simplify_184 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    5314            0 :                         if (res) return res;
    5315              :                       }
    5316              :                     }
    5317            0 :                   switch (TREE_CODE (_q21))
    5318              :                     {
    5319            0 :                     case NEGATE_EXPR:
    5320            0 :                       {
    5321            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5322            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5323              :                           {
    5324            0 :                             {
    5325            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5326            0 :                               tree res = generic_simplify_185 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    5327            0 :                               if (res) return res;
    5328              :                             }
    5329              :                           }
    5330              :                         break;
    5331              :                       }
    5332              :                     default:;
    5333              :                     }
    5334              :                 }
    5335              :             }
    5336              :           break;
    5337            0 :         case CFN_COPYSIGN:
    5338            0 :           if (call_expr_nargs (_p0) == 2)
    5339              :     {
    5340            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5341            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5342            0 :               if (real_onep (_q20))
    5343              :                 {
    5344            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5345              :                     {
    5346            0 :                       {
    5347            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5348            0 :                         tree res = generic_simplify_184 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    5349            0 :                         if (res) return res;
    5350              :                       }
    5351              :                     }
    5352            0 :                   switch (TREE_CODE (_q21))
    5353              :                     {
    5354            0 :                     case NEGATE_EXPR:
    5355            0 :                       {
    5356            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5357            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5358              :                           {
    5359            0 :                             {
    5360            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5361            0 :                               tree res = generic_simplify_185 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    5362            0 :                               if (res) return res;
    5363              :                             }
    5364              :                           }
    5365              :                         break;
    5366              :                       }
    5367              :                     default:;
    5368              :                     }
    5369              :                 }
    5370              :             }
    5371              :           break;
    5372              :         default:;
    5373              :         }
    5374              :       break;
    5375     72085670 :     default:;
    5376              :     }
    5377     72085670 :   switch (TREE_CODE (_p1))
    5378              :     {
    5379       893199 :     case CALL_EXPR:
    5380       893199 :       switch (get_call_combined_fn (_p1))
    5381              :         {
    5382           20 :         case CFN_BUILT_IN_COPYSIGNF16:
    5383           20 :           if (call_expr_nargs (_p1) == 2)
    5384              :     {
    5385           20 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5386           20 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5387           20 :               if (real_onep (_q30))
    5388              :                 {
    5389           20 :                   switch (TREE_CODE (_q31))
    5390              :                     {
    5391            0 :                     case NEGATE_EXPR:
    5392            0 :                       {
    5393            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5394            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5395              :                           {
    5396            0 :                             {
    5397            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5398            0 :                               tree res = generic_simplify_186 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    5399            0 :                               if (res) return res;
    5400              :                             }
    5401              :                           }
    5402              :                         break;
    5403              :                       }
    5404              :                     default:;
    5405              :                     }
    5406              :                 }
    5407              :             }
    5408              :           break;
    5409            0 :         case CFN_BUILT_IN_COPYSIGNF32:
    5410            0 :           if (call_expr_nargs (_p1) == 2)
    5411              :     {
    5412            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5413            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5414            0 :               if (real_onep (_q30))
    5415              :                 {
    5416            0 :                   switch (TREE_CODE (_q31))
    5417              :                     {
    5418            0 :                     case NEGATE_EXPR:
    5419            0 :                       {
    5420            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5421            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5422              :                           {
    5423            0 :                             {
    5424            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5425            0 :                               tree res = generic_simplify_186 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    5426            0 :                               if (res) return res;
    5427              :                             }
    5428              :                           }
    5429              :                         break;
    5430              :                       }
    5431              :                     default:;
    5432              :                     }
    5433              :                 }
    5434              :             }
    5435              :           break;
    5436            0 :         case CFN_BUILT_IN_COPYSIGNF64:
    5437            0 :           if (call_expr_nargs (_p1) == 2)
    5438              :     {
    5439            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5440            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5441            0 :               if (real_onep (_q30))
    5442              :                 {
    5443            0 :                   switch (TREE_CODE (_q31))
    5444              :                     {
    5445            0 :                     case NEGATE_EXPR:
    5446            0 :                       {
    5447            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5448            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5449              :                           {
    5450            0 :                             {
    5451            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5452            0 :                               tree res = generic_simplify_186 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    5453            0 :                               if (res) return res;
    5454              :                             }
    5455              :                           }
    5456              :                         break;
    5457              :                       }
    5458              :                     default:;
    5459              :                     }
    5460              :                 }
    5461              :             }
    5462              :           break;
    5463            0 :         case CFN_BUILT_IN_COPYSIGNF128X:
    5464            0 :           if (call_expr_nargs (_p1) == 2)
    5465              :     {
    5466            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5467            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5468            0 :               if (real_onep (_q30))
    5469              :                 {
    5470            0 :                   switch (TREE_CODE (_q31))
    5471              :                     {
    5472            0 :                     case NEGATE_EXPR:
    5473            0 :                       {
    5474            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5475            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5476              :                           {
    5477            0 :                             {
    5478            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5479            0 :                               tree res = generic_simplify_186 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    5480            0 :                               if (res) return res;
    5481              :                             }
    5482              :                           }
    5483              :                         break;
    5484              :                       }
    5485              :                     default:;
    5486              :                     }
    5487              :                 }
    5488              :             }
    5489              :           break;
    5490            0 :         case CFN_BUILT_IN_COPYSIGNF128:
    5491            0 :           if (call_expr_nargs (_p1) == 2)
    5492              :     {
    5493            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5494            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5495            0 :               if (real_onep (_q30))
    5496              :                 {
    5497            0 :                   switch (TREE_CODE (_q31))
    5498              :                     {
    5499            0 :                     case NEGATE_EXPR:
    5500            0 :                       {
    5501            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5502            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5503              :                           {
    5504            0 :                             {
    5505            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5506            0 :                               tree res = generic_simplify_186 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    5507            0 :                               if (res) return res;
    5508              :                             }
    5509              :                           }
    5510              :                         break;
    5511              :                       }
    5512              :                     default:;
    5513              :                     }
    5514              :                 }
    5515              :             }
    5516              :           break;
    5517            0 :         case CFN_BUILT_IN_COPYSIGNF32X:
    5518            0 :           if (call_expr_nargs (_p1) == 2)
    5519              :     {
    5520            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5521            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5522            0 :               if (real_onep (_q30))
    5523              :                 {
    5524            0 :                   switch (TREE_CODE (_q31))
    5525              :                     {
    5526            0 :                     case NEGATE_EXPR:
    5527            0 :                       {
    5528            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5529            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5530              :                           {
    5531            0 :                             {
    5532            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5533            0 :                               tree res = generic_simplify_186 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    5534            0 :                               if (res) return res;
    5535              :                             }
    5536              :                           }
    5537              :                         break;
    5538              :                       }
    5539              :                     default:;
    5540              :                     }
    5541              :                 }
    5542              :             }
    5543              :           break;
    5544            0 :         case CFN_BUILT_IN_COPYSIGNF64X:
    5545            0 :           if (call_expr_nargs (_p1) == 2)
    5546              :     {
    5547            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5548            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5549            0 :               if (real_onep (_q30))
    5550              :                 {
    5551            0 :                   switch (TREE_CODE (_q31))
    5552              :                     {
    5553            0 :                     case NEGATE_EXPR:
    5554            0 :                       {
    5555            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5556            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5557              :                           {
    5558            0 :                             {
    5559            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5560            0 :                               tree res = generic_simplify_186 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    5561            0 :                               if (res) return res;
    5562              :                             }
    5563              :                           }
    5564              :                         break;
    5565              :                       }
    5566              :                     default:;
    5567              :                     }
    5568              :                 }
    5569              :             }
    5570              :           break;
    5571           18 :         case CFN_BUILT_IN_COPYSIGN:
    5572           18 :           if (call_expr_nargs (_p1) == 2)
    5573              :     {
    5574           18 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5575           18 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5576           18 :               if (real_onep (_q30))
    5577              :                 {
    5578           14 :                   switch (TREE_CODE (_q31))
    5579              :                     {
    5580            0 :                     case NEGATE_EXPR:
    5581            0 :                       {
    5582            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5583            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5584              :                           {
    5585            0 :                             {
    5586            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5587            0 :                               tree res = generic_simplify_186 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    5588            0 :                               if (res) return res;
    5589              :                             }
    5590              :                           }
    5591              :                         break;
    5592              :                       }
    5593              :                     default:;
    5594              :                     }
    5595              :                 }
    5596              :             }
    5597              :           break;
    5598           14 :         case CFN_BUILT_IN_COPYSIGNF:
    5599           14 :           if (call_expr_nargs (_p1) == 2)
    5600              :     {
    5601           14 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5602           14 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5603           14 :               if (real_onep (_q30))
    5604              :                 {
    5605           12 :                   switch (TREE_CODE (_q31))
    5606              :                     {
    5607            0 :                     case NEGATE_EXPR:
    5608            0 :                       {
    5609            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5610            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5611              :                           {
    5612            0 :                             {
    5613            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5614            0 :                               tree res = generic_simplify_186 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    5615            0 :                               if (res) return res;
    5616              :                             }
    5617              :                           }
    5618              :                         break;
    5619              :                       }
    5620              :                     default:;
    5621              :                     }
    5622              :                 }
    5623              :             }
    5624              :           break;
    5625            0 :         case CFN_BUILT_IN_COPYSIGNL:
    5626            0 :           if (call_expr_nargs (_p1) == 2)
    5627              :     {
    5628            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5629            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5630            0 :               if (real_onep (_q30))
    5631              :                 {
    5632            0 :                   switch (TREE_CODE (_q31))
    5633              :                     {
    5634            0 :                     case NEGATE_EXPR:
    5635            0 :                       {
    5636            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5637            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5638              :                           {
    5639            0 :                             {
    5640            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5641            0 :                               tree res = generic_simplify_186 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    5642            0 :                               if (res) return res;
    5643              :                             }
    5644              :                           }
    5645              :                         break;
    5646              :                       }
    5647              :                     default:;
    5648              :                     }
    5649              :                 }
    5650              :             }
    5651              :           break;
    5652            0 :         case CFN_COPYSIGN:
    5653            0 :           if (call_expr_nargs (_p1) == 2)
    5654              :     {
    5655            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5656            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5657            0 :               if (real_onep (_q30))
    5658              :                 {
    5659            0 :                   switch (TREE_CODE (_q31))
    5660              :                     {
    5661            0 :                     case NEGATE_EXPR:
    5662            0 :                       {
    5663            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5664            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5665              :                           {
    5666            0 :                             {
    5667            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5668            0 :                               tree res = generic_simplify_186 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    5669            0 :                               if (res) return res;
    5670              :                             }
    5671              :                           }
    5672              :                         break;
    5673              :                       }
    5674              :                     default:;
    5675              :                     }
    5676              :                 }
    5677              :             }
    5678              :           break;
    5679              :         default:;
    5680              :         }
    5681              :       break;
    5682     72085670 :     default:;
    5683              :     }
    5684     72085670 : if (integer_onep (_p1))
    5685              :   {
    5686      3530650 :     {
    5687      3530650 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5688      3530650 :       tree res = generic_simplify_187 (loc, type, _p0, _p1, captures, MULT_EXPR);
    5689      3530650 :       if (res) return res;
    5690              :     }
    5691              :   }
    5692     68555020 :   switch (TREE_CODE (_p0))
    5693              :     {
    5694      5842132 :     case MULT_EXPR:
    5695      5842132 :       {
    5696      5842132 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5697      5842132 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5698      5842132 :         switch (TREE_CODE (_q21))
    5699              :           {
    5700      1161523 :           case INTEGER_CST:
    5701      1161523 :             {
    5702      1161523 :               switch (TREE_CODE (_p1))
    5703              :                 {
    5704       992503 :                 case INTEGER_CST:
    5705       992503 :                   {
    5706       992503 :                     {
    5707       992503 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5708       992503 :                       {
    5709       992503 :  wi::overflow_type overflow;
    5710       992503 :  wide_int mul = wi::mul (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    5711      1985006 :  TYPE_SIGN (type), &overflow);
    5712       992503 :                           if (!overflow || TYPE_OVERFLOW_WRAPS (type)
    5713              : )
    5714              :                             {
    5715       992473 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1436;
    5716       992473 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1436;
    5717       992473 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1436;
    5718       992473 :                               {
    5719       992473 :                                 tree res_op0;
    5720       992473 :                                 res_op0 = captures[0];
    5721       992473 :                                 tree res_op1;
    5722       992473 :                                 res_op1 =  wide_int_to_tree (type, mul);
    5723       992473 :                                 tree _r;
    5724       992473 :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5725       992473 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 979, __FILE__, __LINE__, true);
    5726       992473 :                                 return _r;
    5727              :                               }
    5728           30 : next_after_fail1436:;
    5729              :                             }
    5730       992473 :                       }
    5731              :                     }
    5732           30 :                     break;
    5733              :                   }
    5734              :                 default:;
    5735              :                 }
    5736              :               break;
    5737              :             }
    5738              :           default:;
    5739              :           }
    5740              :         break;
    5741              :       }
    5742      7631355 :     case PLUS_EXPR:
    5743      7631355 :       {
    5744      7631355 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5745      7631355 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5746      7631355 :         switch (TREE_CODE (_q20))
    5747              :           {
    5748      1145936 :           case MULT_EXPR:
    5749      1145936 :             {
    5750      1145936 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5751      1145936 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5752      1145936 :               switch (TREE_CODE (_q31))
    5753              :                 {
    5754       304538 :                 case INTEGER_CST:
    5755       304538 :                   {
    5756       304538 :                     switch (TREE_CODE (_q21))
    5757              :                       {
    5758        35439 :                       case INTEGER_CST:
    5759        35439 :                         {
    5760        35439 :                           switch (TREE_CODE (_p1))
    5761              :                             {
    5762        11991 :                             case INTEGER_CST:
    5763        11991 :                               {
    5764        11991 :                                 {
    5765        11991 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    5766        11991 :                                   {
    5767        11991 :  bool overflowed = true;
    5768        11991 :  wi::overflow_type ovf1, ovf2;
    5769        11991 :  wide_int mul = wi::mul (wi::to_wide (captures[3]), wi::to_wide (captures[5]),
    5770        23982 :  TYPE_SIGN (type), &ovf1);
    5771        11991 :  wide_int add = wi::mul (wi::to_wide (captures[4]), wi::to_wide (captures[5]),
    5772        23982 :  TYPE_SIGN (type), &ovf2);
    5773        11991 :  if (TYPE_OVERFLOW_UNDEFINED (type))
    5774              :  {
    5775              :  }
    5776              :  else
    5777         4000 :  overflowed = false;
    5778         4000 :                                       if (!overflowed
    5779              : )
    5780              :                                         {
    5781         4000 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1437;
    5782         4000 :                                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1437;
    5783         4000 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1437;
    5784         4000 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1437;
    5785         4000 :                                           {
    5786         4000 :                                             tree res_op0;
    5787         4000 :                                             {
    5788         4000 :                                               tree _o1[2], _r1;
    5789         4000 :                                               _o1[0] = captures[2];
    5790         4000 :                                               _o1[1] =  wide_int_to_tree (type, mul);
    5791         4000 :                                               _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5792         4000 :                                               res_op0 = _r1;
    5793              :                                             }
    5794         4000 :                                             tree res_op1;
    5795         4000 :                                             res_op1 =  wide_int_to_tree (type, add);
    5796         4000 :                                             tree _r;
    5797         4000 :                                             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    5798         4000 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 980, __FILE__, __LINE__, true);
    5799         4000 :                                             return _r;
    5800              :                                           }
    5801         7991 : next_after_fail1437:;
    5802              :                                         }
    5803        11991 :                                   }
    5804              :                                 }
    5805         7991 :                                 break;
    5806              :                               }
    5807              :                             default:;
    5808              :                             }
    5809              :                           break;
    5810              :                         }
    5811              :                       default:;
    5812              :                       }
    5813              :                     break;
    5814              :                   }
    5815              :                 default:;
    5816              :                 }
    5817              :               break;
    5818              :             }
    5819              :           default:;
    5820              :           }
    5821              :         break;
    5822              :       }
    5823        77981 :     case TRUNC_DIV_EXPR:
    5824        77981 :       {
    5825        77981 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5826        77981 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5827        77981 :         if (integer_pow2p (_q21))
    5828              :           {
    5829        56090 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5830              :               {
    5831        37103 :                 {
    5832        37103 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5833        37103 :                   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    5834              : )
    5835              :                     {
    5836        37039 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1438;
    5837        37039 :                       {
    5838        37039 :                         tree res_op0;
    5839        37039 :                         res_op0 = captures[0];
    5840        37039 :                         tree res_op1;
    5841        37039 :                         {
    5842        37039 :                           tree _o1[1], _r1;
    5843        37039 :                           _o1[0] = captures[1];
    5844        37039 :                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    5845        37039 :                           res_op1 = _r1;
    5846              :                         }
    5847        37039 :                         tree _r;
    5848        37039 :                         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    5849        37039 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 981, __FILE__, __LINE__, true);
    5850        37039 :                         return _r;
    5851              :                       }
    5852            0 : next_after_fail1438:;
    5853              :                     }
    5854              :                 }
    5855              :               }
    5856              :           }
    5857              :         break;
    5858              :       }
    5859          260 :     case ABS_EXPR:
    5860          260 :       {
    5861          260 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5862          260 :         if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5863              :           {
    5864            2 :             {
    5865            2 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    5866            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1439;
    5867            2 :               {
    5868            2 :                 if (! tree_invariant_p (captures[1])) goto next_after_fail1439;
    5869            0 :                 tree res_op0;
    5870            0 :                 res_op0 = unshare_expr (captures[1]);
    5871            0 :                 tree res_op1;
    5872            0 :                 res_op1 = captures[1];
    5873            0 :                 tree _r;
    5874            0 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5875            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
    5876            0 :                 return _r;
    5877              :               }
    5878            2 : next_after_fail1439:;
    5879              :             }
    5880              :           }
    5881              :         break;
    5882              :       }
    5883            0 :     case ABSU_EXPR:
    5884            0 :       {
    5885            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5886            0 :         if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5887              :           {
    5888            0 :             {
    5889            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20 };
    5890            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1440;
    5891            0 :               {
    5892            0 :                 tree res_op0;
    5893            0 :                 {
    5894            0 :                   tree _o1[1], _r1;
    5895            0 :                   _o1[0] = captures[1];
    5896            0 :                   if (TREE_TYPE (_o1[0]) != type)
    5897              :                     {
    5898            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    5899              :                     }
    5900              :                   else
    5901              :                     _r1 = _o1[0];
    5902            0 :                   captures[2] = _r1;
    5903              :                 }
    5904            0 :                 res_op0 = unshare_expr (captures[2]);
    5905            0 :                 tree res_op1;
    5906            0 :                 res_op1 = captures[2];
    5907            0 :                 tree _r;
    5908            0 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5909            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 983, __FILE__, __LINE__, true);
    5910            0 :                 return _r;
    5911              :               }
    5912            0 : next_after_fail1440:;
    5913              :             }
    5914              :           }
    5915              :         break;
    5916              :       }
    5917      2501775 :     case CALL_EXPR:
    5918      2501775 :       switch (get_call_combined_fn (_p0))
    5919              :         {
    5920            1 :         case CFN_BUILT_IN_COPYSIGNF16:
    5921            1 :           if (call_expr_nargs (_p0) == 2)
    5922              :     {
    5923            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5924            1 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5925            1 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5926              :                 {
    5927            0 :                   {
    5928            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5929            0 :                     tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    5930            0 :                     if (res) return res;
    5931              :                   }
    5932              :                 }
    5933              :             }
    5934              :           break;
    5935            0 :         case CFN_BUILT_IN_COPYSIGNF32:
    5936            0 :           if (call_expr_nargs (_p0) == 2)
    5937              :     {
    5938            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5939            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5940            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5941              :                 {
    5942            0 :                   {
    5943            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5944            0 :                     tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    5945            0 :                     if (res) return res;
    5946              :                   }
    5947              :                 }
    5948              :             }
    5949              :           break;
    5950            0 :         case CFN_BUILT_IN_COPYSIGNF64:
    5951            0 :           if (call_expr_nargs (_p0) == 2)
    5952              :     {
    5953            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5954            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5955            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5956              :                 {
    5957            0 :                   {
    5958            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5959            0 :                     tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    5960            0 :                     if (res) return res;
    5961              :                   }
    5962              :                 }
    5963              :             }
    5964              :           break;
    5965            0 :         case CFN_BUILT_IN_COPYSIGNF128X:
    5966            0 :           if (call_expr_nargs (_p0) == 2)
    5967              :     {
    5968            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5969            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5970            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5971              :                 {
    5972            0 :                   {
    5973            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5974            0 :                     tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    5975            0 :                     if (res) return res;
    5976              :                   }
    5977              :                 }
    5978              :             }
    5979              :           break;
    5980            8 :         case CFN_BUILT_IN_COPYSIGNF128:
    5981            8 :           if (call_expr_nargs (_p0) == 2)
    5982              :     {
    5983            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5984            8 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5985            8 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5986              :                 {
    5987            0 :                   {
    5988            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5989            0 :                     tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    5990            0 :                     if (res) return res;
    5991              :                   }
    5992              :                 }
    5993              :             }
    5994              :           break;
    5995            0 :         case CFN_BUILT_IN_COPYSIGNF32X:
    5996            0 :           if (call_expr_nargs (_p0) == 2)
    5997              :     {
    5998            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5999            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    6000            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    6001              :                 {
    6002            0 :                   {
    6003            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    6004            0 :                     tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    6005            0 :                     if (res) return res;
    6006              :                   }
    6007              :                 }
    6008              :             }
    6009              :           break;
    6010            0 :         case CFN_BUILT_IN_COPYSIGNF64X:
    6011            0 :           if (call_expr_nargs (_p0) == 2)
    6012              :     {
    6013            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6014            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    6015            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    6016              :                 {
    6017            0 :                   {
    6018            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    6019            0 :                     tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    6020            0 :                     if (res) return res;
    6021              :                   }
    6022              :                 }
    6023              :             }
    6024              :           break;
    6025           18 :         case CFN_BUILT_IN_COPYSIGN:
    6026           18 :           if (call_expr_nargs (_p0) == 2)
    6027              :     {
    6028           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6029           18 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    6030           18 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    6031              :                 {
    6032            0 :                   {
    6033            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    6034            0 :                     tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    6035            0 :                     if (res) return res;
    6036              :                   }
    6037              :                 }
    6038              :             }
    6039              :           break;
    6040           36 :         case CFN_BUILT_IN_COPYSIGNF:
    6041           36 :           if (call_expr_nargs (_p0) == 2)
    6042              :     {
    6043           36 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6044           36 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    6045           36 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    6046              :                 {
    6047            0 :                   {
    6048            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    6049            0 :                     tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    6050            0 :                     if (res) return res;
    6051              :                   }
    6052              :                 }
    6053              :             }
    6054              :           break;
    6055            8 :         case CFN_BUILT_IN_COPYSIGNL:
    6056            8 :           if (call_expr_nargs (_p0) == 2)
    6057              :     {
    6058            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6059            8 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    6060            8 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    6061              :                 {
    6062            0 :                   {
    6063            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    6064            0 :                     tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    6065            0 :                     if (res) return res;
    6066              :                   }
    6067              :                 }
    6068              :             }
    6069              :           break;
    6070            0 :         case CFN_COPYSIGN:
    6071            0 :           if (call_expr_nargs (_p0) == 2)
    6072              :     {
    6073            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6074            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    6075            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    6076              :                 {
    6077            0 :                   {
    6078            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    6079            0 :                     tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    6080            0 :                     if (res) return res;
    6081              :                   }
    6082              :                 }
    6083              :             }
    6084              :           break;
    6085              :         default:;
    6086              :         }
    6087              :       break;
    6088     67521508 :     default:;
    6089              :     }
    6090     67521508 :   switch (TREE_CODE (_p1))
    6091              :     {
    6092      7357998 :     CASE_CONVERT:
    6093      7357998 :       {
    6094      7357998 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6095      7357998 :         switch (TREE_CODE (_q30))
    6096              :           {
    6097            0 :           case LSHIFT_EXPR:
    6098            0 :             {
    6099            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6100            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6101            0 :               if (integer_onep (_q40))
    6102              :                 {
    6103            0 :                   {
    6104            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    6105            0 :                     tree res = generic_simplify_189 (loc, type, _p0, _p1, captures);
    6106            0 :                     if (res) return res;
    6107              :                   }
    6108              :                 }
    6109              :               break;
    6110              :             }
    6111              :           default:;
    6112              :           }
    6113              :         break;
    6114              :       }
    6115     67521508 :     default:;
    6116              :     }
    6117     67521508 :   switch (TREE_CODE (_p0))
    6118              :     {
    6119     32110537 :     CASE_CONVERT:
    6120     32110537 :       {
    6121     32110537 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6122     32110537 :         switch (TREE_CODE (_q20))
    6123              :           {
    6124           20 :           case LSHIFT_EXPR:
    6125           20 :             {
    6126           20 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6127           20 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6128           20 :               if (integer_onep (_q30))
    6129              :                 {
    6130            1 :                   {
    6131            1 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _q31 };
    6132            1 :                     tree res = generic_simplify_189 (loc, type, _p0, _p1, captures);
    6133            1 :                     if (res) return res;
    6134              :                   }
    6135              :                 }
    6136              :               break;
    6137              :             }
    6138            1 :           case EQ_EXPR:
    6139            1 :             {
    6140            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6141            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6142            1 :               if (integer_zerop (_q31))
    6143              :                 {
    6144            1 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6145              :                     {
    6146            0 :                       {
    6147            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6148            0 :                         tree res = generic_simplify_190 (loc, type, _p0, _p1, captures);
    6149            0 :                         if (res) return res;
    6150              :                       }
    6151              :                     }
    6152              :                 }
    6153              :               break;
    6154              :             }
    6155              :           default:;
    6156              :           }
    6157              :         break;
    6158              :       }
    6159     67521508 :     default:;
    6160              :     }
    6161     67521508 :   switch (TREE_CODE (_p1))
    6162              :     {
    6163         1094 :     case LSHIFT_EXPR:
    6164         1094 :       {
    6165         1094 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6166         1094 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6167         1094 :         if (integer_onep (_q30))
    6168              :           {
    6169          415 :             {
    6170          415 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    6171          415 :               tree res = generic_simplify_189 (loc, type, _p0, _p1, captures);
    6172          415 :               if (res) return res;
    6173              :             }
    6174              :           }
    6175              :         break;
    6176              :       }
    6177     67521093 :     default:;
    6178              :     }
    6179     67521093 :   switch (TREE_CODE (_p0))
    6180              :     {
    6181         4229 :     case LSHIFT_EXPR:
    6182         4229 :       {
    6183         4229 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6184         4229 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6185         4229 :         if (integer_onep (_q20))
    6186              :           {
    6187         4007 :             {
    6188         4007 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
    6189         4007 :               tree res = generic_simplify_189 (loc, type, _p0, _p1, captures);
    6190         4007 :               if (res) return res;
    6191              :             }
    6192              :           }
    6193              :         break;
    6194              :       }
    6195     67517086 :     default:;
    6196              :     }
    6197     67517086 :   switch (TREE_CODE (_p1))
    6198              :     {
    6199      7357575 :     CASE_CONVERT:
    6200      7357575 :       {
    6201      7357575 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6202      7357575 :         switch (TREE_CODE (_q30))
    6203              :           {
    6204            0 :           case EQ_EXPR:
    6205            0 :             {
    6206            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6207            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6208            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6209              :                 {
    6210            0 :                   if (integer_zerop (_q41))
    6211              :                     {
    6212            0 :                       {
    6213            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
    6214            0 :                         tree res = generic_simplify_190 (loc, type, _p0, _p1, captures);
    6215            0 :                         if (res) return res;
    6216              :                       }
    6217              :                     }
    6218              :                 }
    6219              :               break;
    6220              :             }
    6221              :           default:;
    6222              :           }
    6223              :         break;
    6224              :       }
    6225            0 :     case EQ_EXPR:
    6226            0 :       {
    6227            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6228            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6229            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6230              :           {
    6231            0 :             if (integer_zerop (_q31))
    6232              :               {
    6233            0 :                 {
    6234            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    6235            0 :                   tree res = generic_simplify_190 (loc, type, _p0, _p1, captures);
    6236            0 :                   if (res) return res;
    6237              :                 }
    6238              :               }
    6239              :           }
    6240              :         break;
    6241              :       }
    6242     67517086 :     default:;
    6243              :     }
    6244     67517086 :   switch (TREE_CODE (_p0))
    6245              :     {
    6246          183 :     case EQ_EXPR:
    6247          183 :       {
    6248          183 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6249          183 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6250          183 :         if (integer_zerop (_q21))
    6251              :           {
    6252           59 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6253              :               {
    6254            3 :                 {
    6255            3 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6256            3 :                   tree res = generic_simplify_190 (loc, type, _p0, _p1, captures);
    6257            3 :                   if (res) return res;
    6258              :                 }
    6259              :               }
    6260              :           }
    6261              :         break;
    6262              :       }
    6263     67517083 :     default:;
    6264              :     }
    6265     67517083 :   switch (TREE_CODE (_p1))
    6266              :     {
    6267            0 :     case VEC_COND_EXPR:
    6268            0 :       {
    6269            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6270            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6271            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    6272            0 :         switch (TREE_CODE (_q30))
    6273              :           {
    6274            0 :           case EQ_EXPR:
    6275            0 :             {
    6276            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6277            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6278            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6279              :                 {
    6280            0 :                   if (integer_zerop (_q41))
    6281              :                     {
    6282            0 :                       if (integer_zerop (_q32))
    6283              :                         {
    6284            0 :                           {
    6285            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q32 };
    6286            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1441;
    6287            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1441;
    6288            0 :                             {
    6289            0 :                               tree _r;
    6290            0 :                               _r = captures[2];
    6291            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
    6292            0 :                               return _r;
    6293              :                             }
    6294            0 : next_after_fail1441:;
    6295              :                           }
    6296              :                         }
    6297              :                     }
    6298              :                 }
    6299              :               break;
    6300              :             }
    6301              :           default:;
    6302              :           }
    6303              :         break;
    6304              :       }
    6305     67517083 :     default:;
    6306              :     }
    6307     67517083 :   switch (TREE_CODE (_p0))
    6308              :     {
    6309           37 :     case VEC_COND_EXPR:
    6310           37 :       {
    6311           37 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6312           37 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6313           37 :         tree _q22 = TREE_OPERAND (_p0, 2);
    6314           37 :         switch (TREE_CODE (_q20))
    6315              :           {
    6316            1 :           case EQ_EXPR:
    6317            1 :             {
    6318            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6319            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6320            1 :               if (integer_zerop (_q31))
    6321              :                 {
    6322            1 :                   if (integer_zerop (_q22))
    6323              :                     {
    6324            1 :                       if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6325              :                         {
    6326            1 :                           {
    6327            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _q22 };
    6328            1 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1442;
    6329            1 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1442;
    6330            1 :                             {
    6331            1 :                               tree _r;
    6332            1 :                               _r = captures[2];
    6333            1 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
    6334            1 :                               return _r;
    6335              :                             }
    6336            0 : next_after_fail1442:;
    6337              :                           }
    6338              :                         }
    6339              :                     }
    6340              :                 }
    6341              :               break;
    6342              :             }
    6343            0 :           case NE_EXPR:
    6344            0 :             {
    6345            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6346            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6347            0 :               if (integer_zerop (_q31))
    6348              :                 {
    6349            0 :                   if (integer_zerop (_q21))
    6350              :                     {
    6351            0 :                       if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6352              :                         {
    6353            0 :                           {
    6354            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _q22 };
    6355            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1443;
    6356            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1443;
    6357            0 :                             {
    6358            0 :                               tree _r;
    6359            0 :                               _r = captures[1];
    6360            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 985, __FILE__, __LINE__, true);
    6361            0 :                               return _r;
    6362              :                             }
    6363            0 : next_after_fail1443:;
    6364              :                           }
    6365              :                         }
    6366              :                     }
    6367              :                 }
    6368              :               break;
    6369              :             }
    6370              :           default:;
    6371              :           }
    6372              :         break;
    6373              :       }
    6374     67517082 :     default:;
    6375              :     }
    6376     67517082 :   switch (TREE_CODE (_p1))
    6377              :     {
    6378            0 :     case VEC_COND_EXPR:
    6379            0 :       {
    6380            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6381            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6382            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    6383            0 :         switch (TREE_CODE (_q30))
    6384              :           {
    6385            0 :           case NE_EXPR:
    6386            0 :             {
    6387            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6388            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6389            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6390              :                 {
    6391            0 :                   if (integer_zerop (_q41))
    6392              :                     {
    6393            0 :                       if (integer_zerop (_q31))
    6394              :                         {
    6395            0 :                           {
    6396            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q32 };
    6397            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1444;
    6398            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1444;
    6399            0 :                             {
    6400            0 :                               tree _r;
    6401            0 :                               _r = captures[1];
    6402            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 985, __FILE__, __LINE__, true);
    6403            0 :                               return _r;
    6404              :                             }
    6405            0 : next_after_fail1444:;
    6406              :                           }
    6407              :                         }
    6408              :                     }
    6409              :                 }
    6410              :               break;
    6411              :             }
    6412              :           default:;
    6413              :           }
    6414              :         break;
    6415              :       }
    6416     67517082 :     default:;
    6417              :     }
    6418     67517082 :   switch (TREE_CODE (_p0))
    6419              :     {
    6420       769534 :     case RDIV_EXPR:
    6421       769534 :       {
    6422       769534 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6423       769534 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6424       769534 :         switch (TREE_CODE (_q20))
    6425              :           {
    6426        57967 :           case REAL_CST:
    6427        57967 :             {
    6428        57967 :               switch (TREE_CODE (_p1))
    6429              :                 {
    6430            1 :                 case REAL_CST:
    6431            1 :                   {
    6432            1 :                     {
    6433            1 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    6434            1 :                       if (flag_associative_math
    6435            1 :  && single_use (captures[0])
    6436              : )
    6437              :                         {
    6438            1 :                           {
    6439            1 :  tree tem = const_binop (MULT_EXPR, type, captures[1], captures[3]);
    6440            1 :                               if (tem
    6441              : )
    6442              :                                 {
    6443            1 :                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1445;
    6444            1 :                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1445;
    6445            1 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1445;
    6446            1 :                                   {
    6447            1 :                                     tree res_op0;
    6448            1 :                                     res_op0 =  tem;
    6449            1 :                                     tree res_op1;
    6450            1 :                                     res_op1 = captures[2];
    6451            1 :                                     tree _r;
    6452            1 :                                     _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    6453            1 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
    6454            1 :                                     return _r;
    6455              :                                   }
    6456            0 : next_after_fail1445:;
    6457              :                                 }
    6458              :                           }
    6459              :                         }
    6460              :                     }
    6461            0 :                     break;
    6462              :                   }
    6463              :                 default:;
    6464              :                 }
    6465              :               break;
    6466              :             }
    6467              :           default:;
    6468              :           }
    6469              :         break;
    6470              :       }
    6471     67517081 :     default:;
    6472              :     }
    6473     67517081 : {
    6474     67517081 :   tree _p0_pops[1];
    6475     67517081 :   if (tree_nop_convert (_p0, _p0_pops))
    6476              :     {
    6477     23319973 :       tree _q20 = _p0_pops[0];
    6478     23319973 :       switch (TREE_CODE (_q20))
    6479              :         {
    6480            4 :         case BIT_IOR_EXPR:
    6481            4 :           {
    6482            4 :             tree _q30 = TREE_OPERAND (_q20, 0);
    6483            4 :             tree _q31 = TREE_OPERAND (_q20, 1);
    6484            4 :             switch (TREE_CODE (_q30))
    6485              :               {
    6486            4 :               case NEGATE_EXPR:
    6487            4 :                 {
    6488            4 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    6489            4 :                   switch (TREE_CODE (_q40))
    6490              :                     {
    6491            0 :                     CASE_CONVERT:
    6492            0 :                       {
    6493            0 :                         tree _q50 = TREE_OPERAND (_q40, 0);
    6494            0 :                         switch (TREE_CODE (_q50))
    6495              :                           {
    6496            0 :                           case LT_EXPR:
    6497            0 :                             {
    6498            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
    6499            0 :                               tree _q61 = TREE_OPERAND (_q50, 1);
    6500            0 :                               if (integer_zerop (_q61))
    6501              :                                 {
    6502            0 :                                   if (integer_onep (_q31))
    6503              :                                     {
    6504            0 :                                       {
    6505            0 :                                         tree _p1_pops[1];
    6506            0 :                                         if (tree_nop_convert (_p1, _p1_pops))
    6507              :                                           {
    6508            0 :                                             tree _q100 = _p1_pops[0];
    6509            0 :                                             if ((_q100 == _q60 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q60, 0) && types_match (_q100, _q60)))
    6510              :                                               {
    6511            0 :                                                 {
    6512            0 :                                                   tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    6513            0 :                                                   tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    6514            0 :                                                   if (res) return res;
    6515              :                                                 }
    6516              :                                               }
    6517              :                                           }
    6518              :                                       }
    6519            0 :                                       if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
    6520              :                                         {
    6521            0 :                                           {
    6522            0 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    6523            0 :                                             tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    6524            0 :                                             if (res) return res;
    6525              :                                           }
    6526              :                                         }
    6527              :                                     }
    6528              :                                 }
    6529              :                               break;
    6530              :                             }
    6531              :                           default:;
    6532              :                           }
    6533              :                         break;
    6534              :                       }
    6535            4 :                     case LT_EXPR:
    6536            4 :                       {
    6537            4 :                         tree _q50 = TREE_OPERAND (_q40, 0);
    6538            4 :                         tree _q51 = TREE_OPERAND (_q40, 1);
    6539            4 :                         if (integer_zerop (_q51))
    6540              :                           {
    6541            4 :                             if (integer_onep (_q31))
    6542              :                               {
    6543            4 :                                 {
    6544            4 :                                   tree _p1_pops[1];
    6545            4 :                                   if (tree_nop_convert (_p1, _p1_pops))
    6546              :                                     {
    6547            4 :                                       tree _q90 = _p1_pops[0];
    6548            4 :                                       if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
    6549              :                                         {
    6550            4 :                                           {
    6551            4 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    6552            4 :                                             tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    6553            4 :                                             if (res) return res;
    6554              :                                           }
    6555              :                                         }
    6556              :                                     }
    6557              :                                 }
    6558            0 :                                 if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    6559              :                                   {
    6560            0 :                                     {
    6561            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    6562            0 :                                       tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    6563            0 :                                       if (res) return res;
    6564              :                                     }
    6565              :                                   }
    6566              :                               }
    6567              :                           }
    6568              :                         break;
    6569              :                       }
    6570              :                     default:;
    6571              :                     }
    6572              :                   break;
    6573              :                 }
    6574            0 :               default:;
    6575              :               }
    6576            0 :           {
    6577            0 :             tree _q30_pops[1];
    6578            0 :             if (tree_nop_convert (_q30, _q30_pops))
    6579              :               {
    6580            0 :                 tree _q40 = _q30_pops[0];
    6581            0 :                 switch (TREE_CODE (_q40))
    6582              :                   {
    6583            0 :                   case NEGATE_EXPR:
    6584            0 :                     {
    6585            0 :                       tree _q50 = TREE_OPERAND (_q40, 0);
    6586            0 :                       switch (TREE_CODE (_q50))
    6587              :                         {
    6588            0 :                         CASE_CONVERT:
    6589            0 :                           {
    6590            0 :                             tree _q60 = TREE_OPERAND (_q50, 0);
    6591            0 :                             switch (TREE_CODE (_q60))
    6592              :                               {
    6593            0 :                               case LT_EXPR:
    6594            0 :                                 {
    6595            0 :                                   tree _q70 = TREE_OPERAND (_q60, 0);
    6596            0 :                                   tree _q71 = TREE_OPERAND (_q60, 1);
    6597            0 :                                   if (integer_zerop (_q71))
    6598              :                                     {
    6599            0 :                                       if (integer_onep (_q31))
    6600              :                                         {
    6601            0 :                                           {
    6602            0 :                                             tree _p1_pops[1];
    6603            0 :                                             if (tree_nop_convert (_p1, _p1_pops))
    6604              :                                               {
    6605            0 :                                                 tree _q110 = _p1_pops[0];
    6606            0 :                                                 if ((_q110 == _q70 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q70, 0) && types_match (_q110, _q70)))
    6607              :                                                   {
    6608            0 :                                                     {
    6609            0 :                                                       tree captures[1] ATTRIBUTE_UNUSED = { _q70 };
    6610            0 :                                                       tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    6611            0 :                                                       if (res) return res;
    6612              :                                                     }
    6613              :                                                   }
    6614              :                                               }
    6615              :                                           }
    6616            0 :                                           if ((_p1 == _q70 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q70, 0) && types_match (_p1, _q70)))
    6617              :                                             {
    6618            0 :                                               {
    6619            0 :                                                 tree captures[1] ATTRIBUTE_UNUSED = { _q70 };
    6620            0 :                                                 tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    6621            0 :                                                 if (res) return res;
    6622              :                                               }
    6623              :                                             }
    6624              :                                         }
    6625              :                                     }
    6626              :                                   break;
    6627              :                                 }
    6628              :                               default:;
    6629              :                               }
    6630              :                             break;
    6631              :                           }
    6632            0 :                         case LT_EXPR:
    6633            0 :                           {
    6634            0 :                             tree _q60 = TREE_OPERAND (_q50, 0);
    6635            0 :                             tree _q61 = TREE_OPERAND (_q50, 1);
    6636            0 :                             if (integer_zerop (_q61))
    6637              :                               {
    6638            0 :                                 if (integer_onep (_q31))
    6639              :                                   {
    6640            0 :                                     {
    6641            0 :                                       tree _p1_pops[1];
    6642            0 :                                       if (tree_nop_convert (_p1, _p1_pops))
    6643              :                                         {
    6644            0 :                                           tree _q100 = _p1_pops[0];
    6645            0 :                                           if ((_q100 == _q60 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q60, 0) && types_match (_q100, _q60)))
    6646              :                                             {
    6647            0 :                                               {
    6648            0 :                                                 tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    6649            0 :                                                 tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    6650            0 :                                                 if (res) return res;
    6651              :                                               }
    6652              :                                             }
    6653              :                                         }
    6654              :                                     }
    6655            0 :                                     if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
    6656              :                                       {
    6657            0 :                                         {
    6658            0 :                                           tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    6659            0 :                                           tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    6660            0 :                                           if (res) return res;
    6661              :                                         }
    6662              :                                       }
    6663              :                                   }
    6664              :                               }
    6665              :                             break;
    6666              :                           }
    6667              :                         default:;
    6668              :                         }
    6669              :                       break;
    6670              :                     }
    6671              :                   default:;
    6672              :                   }
    6673              :               }
    6674              :           }
    6675            0 :             break;
    6676              :           }
    6677     23319969 :         default:;
    6678              :         }
    6679     23319969 :       switch (TREE_CODE (_p1))
    6680              :         {
    6681            0 :         case BIT_IOR_EXPR:
    6682            0 :           {
    6683            0 :             tree _q40 = TREE_OPERAND (_p1, 0);
    6684            0 :             tree _q41 = TREE_OPERAND (_p1, 1);
    6685            0 :             switch (TREE_CODE (_q40))
    6686              :               {
    6687            0 :               case NEGATE_EXPR:
    6688            0 :                 {
    6689            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    6690            0 :                   switch (TREE_CODE (_q50))
    6691              :                     {
    6692            0 :                     CASE_CONVERT:
    6693            0 :                       {
    6694            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    6695            0 :                         switch (TREE_CODE (_q60))
    6696              :                           {
    6697            0 :                           case LT_EXPR:
    6698            0 :                             {
    6699            0 :                               tree _q70 = TREE_OPERAND (_q60, 0);
    6700            0 :                               tree _q71 = TREE_OPERAND (_q60, 1);
    6701            0 :                               if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6702              :                                 {
    6703            0 :                                   if (integer_zerop (_q71))
    6704              :                                     {
    6705            0 :                                       if (integer_onep (_q41))
    6706              :                                         {
    6707            0 :                                           {
    6708            0 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6709            0 :                                             tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    6710            0 :                                             if (res) return res;
    6711              :                                           }
    6712              :                                         }
    6713              :                                     }
    6714              :                                 }
    6715              :                               break;
    6716              :                             }
    6717              :                           default:;
    6718              :                           }
    6719              :                         break;
    6720              :                       }
    6721            0 :                     case LT_EXPR:
    6722            0 :                       {
    6723            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    6724            0 :                         tree _q61 = TREE_OPERAND (_q50, 1);
    6725            0 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6726              :                           {
    6727            0 :                             if (integer_zerop (_q61))
    6728              :                               {
    6729            0 :                                 if (integer_onep (_q41))
    6730              :                                   {
    6731            0 :                                     {
    6732            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6733            0 :                                       tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    6734            0 :                                       if (res) return res;
    6735              :                                     }
    6736              :                                   }
    6737              :                               }
    6738              :                           }
    6739              :                         break;
    6740              :                       }
    6741              :                     default:;
    6742              :                     }
    6743              :                   break;
    6744              :                 }
    6745            0 :               default:;
    6746              :               }
    6747            0 :           {
    6748            0 :             tree _q40_pops[1];
    6749            0 :             if (tree_nop_convert (_q40, _q40_pops))
    6750              :               {
    6751            0 :                 tree _q50 = _q40_pops[0];
    6752            0 :                 switch (TREE_CODE (_q50))
    6753              :                   {
    6754            0 :                   case NEGATE_EXPR:
    6755            0 :                     {
    6756            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    6757            0 :                       switch (TREE_CODE (_q60))
    6758              :                         {
    6759            0 :                         CASE_CONVERT:
    6760            0 :                           {
    6761            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    6762            0 :                             switch (TREE_CODE (_q70))
    6763              :                               {
    6764            0 :                               case LT_EXPR:
    6765            0 :                                 {
    6766            0 :                                   tree _q80 = TREE_OPERAND (_q70, 0);
    6767            0 :                                   tree _q81 = TREE_OPERAND (_q70, 1);
    6768            0 :                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    6769              :                                     {
    6770            0 :                                       if (integer_zerop (_q81))
    6771              :                                         {
    6772            0 :                                           if (integer_onep (_q41))
    6773              :                                             {
    6774            0 :                                               {
    6775            0 :                                                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6776            0 :                                                 tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    6777            0 :                                                 if (res) return res;
    6778              :                                               }
    6779              :                                             }
    6780              :                                         }
    6781              :                                     }
    6782              :                                   break;
    6783              :                                 }
    6784              :                               default:;
    6785              :                               }
    6786              :                             break;
    6787              :                           }
    6788            0 :                         case LT_EXPR:
    6789            0 :                           {
    6790            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    6791            0 :                             tree _q71 = TREE_OPERAND (_q60, 1);
    6792            0 :                             if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6793              :                               {
    6794            0 :                                 if (integer_zerop (_q71))
    6795              :                                   {
    6796            0 :                                     if (integer_onep (_q41))
    6797              :                                       {
    6798            0 :                                         {
    6799            0 :                                           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6800            0 :                                           tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    6801            0 :                                           if (res) return res;
    6802              :                                         }
    6803              :                                       }
    6804              :                                   }
    6805              :                               }
    6806              :                             break;
    6807              :                           }
    6808              :                         default:;
    6809              :                         }
    6810              :                       break;
    6811              :                     }
    6812              :                   default:;
    6813              :                   }
    6814              :               }
    6815              :           }
    6816            0 :             break;
    6817              :           }
    6818     23319969 :         default:;
    6819              :         }
    6820     23319969 :     {
    6821     23319969 :       tree _p1_pops[1];
    6822     23319969 :       if (tree_nop_convert (_p1, _p1_pops))
    6823              :         {
    6824      2494274 :           tree _q40 = _p1_pops[0];
    6825      2494274 :           switch (TREE_CODE (_q40))
    6826              :             {
    6827            0 :             case BIT_IOR_EXPR:
    6828            0 :               {
    6829            0 :                 tree _q50 = TREE_OPERAND (_q40, 0);
    6830            0 :                 tree _q51 = TREE_OPERAND (_q40, 1);
    6831            0 :                 switch (TREE_CODE (_q50))
    6832              :                   {
    6833            0 :                   case NEGATE_EXPR:
    6834            0 :                     {
    6835            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    6836            0 :                       switch (TREE_CODE (_q60))
    6837              :                         {
    6838            0 :                         CASE_CONVERT:
    6839            0 :                           {
    6840            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    6841            0 :                             switch (TREE_CODE (_q70))
    6842              :                               {
    6843            0 :                               case LT_EXPR:
    6844            0 :                                 {
    6845            0 :                                   tree _q80 = TREE_OPERAND (_q70, 0);
    6846            0 :                                   tree _q81 = TREE_OPERAND (_q70, 1);
    6847            0 :                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    6848              :                                     {
    6849            0 :                                       if (integer_zerop (_q81))
    6850              :                                         {
    6851            0 :                                           if (integer_onep (_q51))
    6852              :                                             {
    6853            0 :                                               {
    6854            0 :                                                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6855            0 :                                                 tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    6856            0 :                                                 if (res) return res;
    6857              :                                               }
    6858              :                                             }
    6859              :                                         }
    6860              :                                     }
    6861              :                                   break;
    6862              :                                 }
    6863              :                               default:;
    6864              :                               }
    6865              :                             break;
    6866              :                           }
    6867            0 :                         case LT_EXPR:
    6868            0 :                           {
    6869            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    6870            0 :                             tree _q71 = TREE_OPERAND (_q60, 1);
    6871            0 :                             if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6872              :                               {
    6873            0 :                                 if (integer_zerop (_q71))
    6874              :                                   {
    6875            0 :                                     if (integer_onep (_q51))
    6876              :                                       {
    6877            0 :                                         {
    6878            0 :                                           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6879            0 :                                           tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    6880            0 :                                           if (res) return res;
    6881              :                                         }
    6882              :                                       }
    6883              :                                   }
    6884              :                               }
    6885              :                             break;
    6886              :                           }
    6887              :                         default:;
    6888              :                         }
    6889              :                       break;
    6890              :                     }
    6891            0 :                   default:;
    6892              :                   }
    6893            0 :               {
    6894            0 :                 tree _q50_pops[1];
    6895            0 :                 if (tree_nop_convert (_q50, _q50_pops))
    6896              :                   {
    6897            0 :                     tree _q60 = _q50_pops[0];
    6898            0 :                     switch (TREE_CODE (_q60))
    6899              :                       {
    6900            0 :                       case NEGATE_EXPR:
    6901            0 :                         {
    6902            0 :                           tree _q70 = TREE_OPERAND (_q60, 0);
    6903            0 :                           switch (TREE_CODE (_q70))
    6904              :                             {
    6905            0 :                             CASE_CONVERT:
    6906            0 :                               {
    6907            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    6908            0 :                                 switch (TREE_CODE (_q80))
    6909              :                                   {
    6910            0 :                                   case LT_EXPR:
    6911            0 :                                     {
    6912            0 :                                       tree _q90 = TREE_OPERAND (_q80, 0);
    6913            0 :                                       tree _q91 = TREE_OPERAND (_q80, 1);
    6914            0 :                                       if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
    6915              :                                         {
    6916            0 :                                           if (integer_zerop (_q91))
    6917              :                                             {
    6918            0 :                                               if (integer_onep (_q51))
    6919              :                                                 {
    6920            0 :                                                   {
    6921            0 :                                                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6922            0 :                                                     tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    6923            0 :                                                     if (res) return res;
    6924              :                                                   }
    6925              :                                                 }
    6926              :                                             }
    6927              :                                         }
    6928              :                                       break;
    6929              :                                     }
    6930              :                                   default:;
    6931              :                                   }
    6932              :                                 break;
    6933              :                               }
    6934            0 :                             case LT_EXPR:
    6935            0 :                               {
    6936            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    6937            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    6938            0 :                                 if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    6939              :                                   {
    6940            0 :                                     if (integer_zerop (_q81))
    6941              :                                       {
    6942            0 :                                         if (integer_onep (_q51))
    6943              :                                           {
    6944            0 :                                             {
    6945            0 :                                               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6946            0 :                                               tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    6947            0 :                                               if (res) return res;
    6948              :                                             }
    6949              :                                           }
    6950              :                                       }
    6951              :                                   }
    6952              :                                 break;
    6953              :                               }
    6954              :                             default:;
    6955              :                             }
    6956              :                           break;
    6957              :                         }
    6958              :                       default:;
    6959              :                       }
    6960              :                   }
    6961              :               }
    6962            0 :                 break;
    6963              :               }
    6964              :             default:;
    6965              :             }
    6966              :         }
    6967              :     }
    6968              :     }
    6969              : }
    6970     67517077 :   {
    6971     67517077 :     tree _p1_pops[1];
    6972     67517077 :     if (tree_nop_convert (_p1, _p1_pops))
    6973              :       {
    6974      7263164 :         tree _q30 = _p1_pops[0];
    6975      7263164 :         switch (TREE_CODE (_q30))
    6976              :           {
    6977            0 :           case BIT_IOR_EXPR:
    6978            0 :             {
    6979            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6980            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6981            0 :               switch (TREE_CODE (_q40))
    6982              :                 {
    6983            0 :                 case NEGATE_EXPR:
    6984            0 :                   {
    6985            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6986            0 :                     switch (TREE_CODE (_q50))
    6987              :                       {
    6988            0 :                       CASE_CONVERT:
    6989            0 :                         {
    6990            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    6991            0 :                           switch (TREE_CODE (_q60))
    6992              :                             {
    6993            0 :                             case LT_EXPR:
    6994            0 :                               {
    6995            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    6996            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    6997            0 :                                 if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
    6998              :                                   {
    6999            0 :                                     if (integer_zerop (_q71))
    7000              :                                       {
    7001            0 :                                         if (integer_onep (_q41))
    7002              :                                           {
    7003            0 :                                             {
    7004            0 :                                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7005            0 :                                               tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    7006            0 :                                               if (res) return res;
    7007              :                                             }
    7008              :                                           }
    7009              :                                       }
    7010              :                                   }
    7011              :                                 break;
    7012              :                               }
    7013              :                             default:;
    7014              :                             }
    7015              :                           break;
    7016              :                         }
    7017              :                       default:;
    7018              :                       }
    7019              :                     break;
    7020              :                   }
    7021            0 :                 default:;
    7022              :                 }
    7023            0 :             {
    7024            0 :               tree _q40_pops[1];
    7025            0 :               if (tree_nop_convert (_q40, _q40_pops))
    7026              :                 {
    7027            0 :                   tree _q50 = _q40_pops[0];
    7028            0 :                   switch (TREE_CODE (_q50))
    7029              :                     {
    7030            0 :                     case NEGATE_EXPR:
    7031            0 :                       {
    7032            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    7033            0 :                         switch (TREE_CODE (_q60))
    7034              :                           {
    7035            0 :                           CASE_CONVERT:
    7036            0 :                             {
    7037            0 :                               tree _q70 = TREE_OPERAND (_q60, 0);
    7038            0 :                               switch (TREE_CODE (_q70))
    7039              :                                 {
    7040            0 :                                 case LT_EXPR:
    7041            0 :                                   {
    7042            0 :                                     tree _q80 = TREE_OPERAND (_q70, 0);
    7043            0 :                                     tree _q81 = TREE_OPERAND (_q70, 1);
    7044            0 :                                     if ((_q80 == _p0 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _p0, 0) && types_match (_q80, _p0)))
    7045              :                                       {
    7046            0 :                                         if (integer_zerop (_q81))
    7047              :                                           {
    7048            0 :                                             if (integer_onep (_q41))
    7049              :                                               {
    7050            0 :                                                 {
    7051            0 :                                                   tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7052            0 :                                                   tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    7053            0 :                                                   if (res) return res;
    7054              :                                                 }
    7055              :                                               }
    7056              :                                           }
    7057              :                                       }
    7058              :                                     break;
    7059              :                                   }
    7060              :                                 default:;
    7061              :                                 }
    7062              :                               break;
    7063              :                             }
    7064              :                           default:;
    7065              :                           }
    7066              :                         break;
    7067              :                       }
    7068              :                     default:;
    7069              :                     }
    7070              :                 }
    7071              :             }
    7072            0 :               break;
    7073              :             }
    7074              :           default:;
    7075              :           }
    7076              :       }
    7077              :   }
    7078     67517077 :   switch (TREE_CODE (_p0))
    7079              :     {
    7080          299 :     case BIT_IOR_EXPR:
    7081          299 :       {
    7082          299 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7083          299 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7084          299 :         switch (TREE_CODE (_q20))
    7085              :           {
    7086            1 :           case NEGATE_EXPR:
    7087            1 :             {
    7088            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7089            1 :               switch (TREE_CODE (_q30))
    7090              :                 {
    7091            0 :                 CASE_CONVERT:
    7092            0 :                   {
    7093            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    7094            0 :                     switch (TREE_CODE (_q40))
    7095              :                       {
    7096            0 :                       case LT_EXPR:
    7097            0 :                         {
    7098            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    7099            0 :                           tree _q51 = TREE_OPERAND (_q40, 1);
    7100            0 :                           if (integer_zerop (_q51))
    7101              :                             {
    7102            0 :                               if (integer_onep (_q21))
    7103              :                                 {
    7104            0 :                                   {
    7105            0 :                                     tree _p1_pops[1];
    7106            0 :                                     if (tree_nop_convert (_p1, _p1_pops))
    7107              :                                       {
    7108            0 :                                         tree _q90 = _p1_pops[0];
    7109            0 :                                         if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
    7110              :                                           {
    7111            0 :                                             {
    7112            0 :                                               tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    7113            0 :                                               tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    7114            0 :                                               if (res) return res;
    7115              :                                             }
    7116              :                                           }
    7117              :                                       }
    7118              :                                   }
    7119            0 :                                   if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    7120              :                                     {
    7121            0 :                                       {
    7122            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    7123            0 :                                         tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    7124            0 :                                         if (res) return res;
    7125              :                                       }
    7126              :                                     }
    7127              :                                 }
    7128              :                             }
    7129              :                           break;
    7130              :                         }
    7131              :                       default:;
    7132              :                       }
    7133              :                     break;
    7134              :                   }
    7135            1 :                 case LT_EXPR:
    7136            1 :                   {
    7137            1 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    7138            1 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    7139            1 :                     if (integer_zerop (_q41))
    7140              :                       {
    7141            1 :                         if (integer_onep (_q21))
    7142              :                           {
    7143            1 :                             {
    7144            1 :                               tree _p1_pops[1];
    7145            1 :                               if (tree_nop_convert (_p1, _p1_pops))
    7146              :                                 {
    7147            0 :                                   tree _q80 = _p1_pops[0];
    7148            0 :                                   if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    7149              :                                     {
    7150            0 :                                       {
    7151            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    7152            0 :                                         tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    7153            0 :                                         if (res) return res;
    7154              :                                       }
    7155              :                                     }
    7156              :                                 }
    7157              :                             }
    7158            1 :                             if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    7159              :                               {
    7160            1 :                                 {
    7161            1 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    7162            1 :                                   tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    7163            1 :                                   if (res) return res;
    7164              :                                 }
    7165              :                               }
    7166              :                           }
    7167              :                       }
    7168              :                     break;
    7169              :                   }
    7170              :                 default:;
    7171              :                 }
    7172              :               break;
    7173              :             }
    7174          298 :           default:;
    7175              :           }
    7176          298 :       {
    7177          298 :         tree _q20_pops[1];
    7178          298 :         if (tree_nop_convert (_q20, _q20_pops))
    7179              :           {
    7180            1 :             tree _q30 = _q20_pops[0];
    7181            1 :             switch (TREE_CODE (_q30))
    7182              :               {
    7183            1 :               case NEGATE_EXPR:
    7184            1 :                 {
    7185            1 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    7186            1 :                   switch (TREE_CODE (_q40))
    7187              :                     {
    7188            0 :                     CASE_CONVERT:
    7189            0 :                       {
    7190            0 :                         tree _q50 = TREE_OPERAND (_q40, 0);
    7191            0 :                         switch (TREE_CODE (_q50))
    7192              :                           {
    7193            0 :                           case LT_EXPR:
    7194            0 :                             {
    7195            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
    7196            0 :                               tree _q61 = TREE_OPERAND (_q50, 1);
    7197            0 :                               if (integer_zerop (_q61))
    7198              :                                 {
    7199            0 :                                   if (integer_onep (_q21))
    7200              :                                     {
    7201            0 :                                       {
    7202            0 :                                         tree _p1_pops[1];
    7203            0 :                                         if (tree_nop_convert (_p1, _p1_pops))
    7204              :                                           {
    7205            0 :                                             tree _q100 = _p1_pops[0];
    7206            0 :                                             if ((_q100 == _q60 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q60, 0) && types_match (_q100, _q60)))
    7207              :                                               {
    7208            0 :                                                 {
    7209            0 :                                                   tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    7210            0 :                                                   tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    7211            0 :                                                   if (res) return res;
    7212              :                                                 }
    7213              :                                               }
    7214              :                                           }
    7215              :                                       }
    7216            0 :                                       if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
    7217              :                                         {
    7218            0 :                                           {
    7219            0 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    7220            0 :                                             tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    7221            0 :                                             if (res) return res;
    7222              :                                           }
    7223              :                                         }
    7224              :                                     }
    7225              :                                 }
    7226              :                               break;
    7227              :                             }
    7228              :                           default:;
    7229              :                           }
    7230              :                         break;
    7231              :                       }
    7232            1 :                     case LT_EXPR:
    7233            1 :                       {
    7234            1 :                         tree _q50 = TREE_OPERAND (_q40, 0);
    7235            1 :                         tree _q51 = TREE_OPERAND (_q40, 1);
    7236            1 :                         if (integer_zerop (_q51))
    7237              :                           {
    7238            1 :                             if (integer_onep (_q21))
    7239              :                               {
    7240            1 :                                 {
    7241            1 :                                   tree _p1_pops[1];
    7242            1 :                                   if (tree_nop_convert (_p1, _p1_pops))
    7243              :                                     {
    7244            1 :                                       tree _q90 = _p1_pops[0];
    7245            1 :                                       if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
    7246              :                                         {
    7247            1 :                                           {
    7248            1 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    7249            1 :                                             tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    7250            1 :                                             if (res) return res;
    7251              :                                           }
    7252              :                                         }
    7253              :                                     }
    7254              :                                 }
    7255            0 :                                 if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    7256              :                                   {
    7257            0 :                                     {
    7258            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    7259            0 :                                       tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    7260            0 :                                       if (res) return res;
    7261              :                                     }
    7262              :                                   }
    7263              :                               }
    7264              :                           }
    7265              :                         break;
    7266              :                       }
    7267              :                     default:;
    7268              :                     }
    7269              :                   break;
    7270              :                 }
    7271              :               default:;
    7272              :               }
    7273              :           }
    7274              :       }
    7275          297 :         break;
    7276              :       }
    7277     67517075 :     default:;
    7278              :     }
    7279     67517075 :   switch (TREE_CODE (_p1))
    7280              :     {
    7281            1 :     case BIT_IOR_EXPR:
    7282            1 :       {
    7283            1 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7284            1 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7285            1 :         switch (TREE_CODE (_q30))
    7286              :           {
    7287            0 :           case NEGATE_EXPR:
    7288            0 :             {
    7289            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7290            0 :               switch (TREE_CODE (_q40))
    7291              :                 {
    7292            0 :                 CASE_CONVERT:
    7293            0 :                   {
    7294            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    7295            0 :                     switch (TREE_CODE (_q50))
    7296              :                       {
    7297            0 :                       case LT_EXPR:
    7298            0 :                         {
    7299            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    7300            0 :                           tree _q61 = TREE_OPERAND (_q50, 1);
    7301            0 :                           if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    7302              :                             {
    7303            0 :                               if (integer_zerop (_q61))
    7304              :                                 {
    7305            0 :                                   if (integer_onep (_q31))
    7306              :                                     {
    7307            0 :                                       {
    7308            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7309            0 :                                         tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    7310            0 :                                         if (res) return res;
    7311              :                                       }
    7312              :                                     }
    7313              :                                 }
    7314              :                             }
    7315              :                           break;
    7316              :                         }
    7317              :                       default:;
    7318              :                       }
    7319              :                     break;
    7320              :                   }
    7321            0 :                 case LT_EXPR:
    7322            0 :                   {
    7323            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    7324            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    7325            0 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    7326              :                       {
    7327            0 :                         if (integer_zerop (_q51))
    7328              :                           {
    7329            0 :                             if (integer_onep (_q31))
    7330              :                               {
    7331            0 :                                 {
    7332            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7333            0 :                                   tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    7334            0 :                                   if (res) return res;
    7335              :                                 }
    7336              :                               }
    7337              :                           }
    7338              :                       }
    7339              :                     break;
    7340              :                   }
    7341              :                 default:;
    7342              :                 }
    7343              :               break;
    7344              :             }
    7345            1 :           default:;
    7346              :           }
    7347            1 :       {
    7348            1 :         tree _q30_pops[1];
    7349            1 :         if (tree_nop_convert (_q30, _q30_pops))
    7350              :           {
    7351            0 :             tree _q40 = _q30_pops[0];
    7352            0 :             switch (TREE_CODE (_q40))
    7353              :               {
    7354            0 :               case NEGATE_EXPR:
    7355            0 :                 {
    7356            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    7357            0 :                   switch (TREE_CODE (_q50))
    7358              :                     {
    7359            0 :                     CASE_CONVERT:
    7360            0 :                       {
    7361            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    7362            0 :                         switch (TREE_CODE (_q60))
    7363              :                           {
    7364            0 :                           case LT_EXPR:
    7365            0 :                             {
    7366            0 :                               tree _q70 = TREE_OPERAND (_q60, 0);
    7367            0 :                               tree _q71 = TREE_OPERAND (_q60, 1);
    7368            0 :                               if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
    7369              :                                 {
    7370            0 :                                   if (integer_zerop (_q71))
    7371              :                                     {
    7372            0 :                                       if (integer_onep (_q31))
    7373              :                                         {
    7374            0 :                                           {
    7375            0 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7376            0 :                                             tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    7377            0 :                                             if (res) return res;
    7378              :                                           }
    7379              :                                         }
    7380              :                                     }
    7381              :                                 }
    7382              :                               break;
    7383              :                             }
    7384              :                           default:;
    7385              :                           }
    7386              :                         break;
    7387              :                       }
    7388            0 :                     case LT_EXPR:
    7389            0 :                       {
    7390            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    7391            0 :                         tree _q61 = TREE_OPERAND (_q50, 1);
    7392            0 :                         if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    7393              :                           {
    7394            0 :                             if (integer_zerop (_q61))
    7395              :                               {
    7396            0 :                                 if (integer_onep (_q31))
    7397              :                                   {
    7398            0 :                                     {
    7399            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7400            0 :                                       tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    7401            0 :                                       if (res) return res;
    7402              :                                     }
    7403              :                                   }
    7404              :                               }
    7405              :                           }
    7406              :                         break;
    7407              :                       }
    7408              :                     default:;
    7409              :                     }
    7410              :                   break;
    7411              :                 }
    7412              :               default:;
    7413              :               }
    7414              :           }
    7415              :       }
    7416            1 :         break;
    7417              :       }
    7418     67517075 :     default:;
    7419              :     }
    7420     67517075 : {
    7421     67517075 :   tree _p1_pops[1];
    7422     67517075 :   if (tree_nop_convert (_p1, _p1_pops))
    7423              :     {
    7424      7263163 :       tree _q30 = _p1_pops[0];
    7425      7263163 :       switch (TREE_CODE (_q30))
    7426              :         {
    7427            0 :         case BIT_IOR_EXPR:
    7428            0 :           {
    7429            0 :             tree _q40 = TREE_OPERAND (_q30, 0);
    7430            0 :             tree _q41 = TREE_OPERAND (_q30, 1);
    7431            0 :             switch (TREE_CODE (_q40))
    7432              :               {
    7433            0 :               case NEGATE_EXPR:
    7434            0 :                 {
    7435            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    7436            0 :                   switch (TREE_CODE (_q50))
    7437              :                     {
    7438            0 :                     case LT_EXPR:
    7439            0 :                       {
    7440            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    7441            0 :                         tree _q61 = TREE_OPERAND (_q50, 1);
    7442            0 :                         if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    7443              :                           {
    7444            0 :                             if (integer_zerop (_q61))
    7445              :                               {
    7446            0 :                                 if (integer_onep (_q41))
    7447              :                                   {
    7448            0 :                                     {
    7449            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7450            0 :                                       tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    7451            0 :                                       if (res) return res;
    7452              :                                     }
    7453              :                                   }
    7454              :                               }
    7455              :                           }
    7456              :                         break;
    7457              :                       }
    7458              :                     default:;
    7459              :                     }
    7460              :                   break;
    7461              :                 }
    7462            0 :               default:;
    7463              :               }
    7464            0 :           {
    7465            0 :             tree _q40_pops[1];
    7466            0 :             if (tree_nop_convert (_q40, _q40_pops))
    7467              :               {
    7468            0 :                 tree _q50 = _q40_pops[0];
    7469            0 :                 switch (TREE_CODE (_q50))
    7470              :                   {
    7471            0 :                   case NEGATE_EXPR:
    7472            0 :                     {
    7473            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    7474            0 :                       switch (TREE_CODE (_q60))
    7475              :                         {
    7476            0 :                         case LT_EXPR:
    7477            0 :                           {
    7478            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    7479            0 :                             tree _q71 = TREE_OPERAND (_q60, 1);
    7480            0 :                             if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
    7481              :                               {
    7482            0 :                                 if (integer_zerop (_q71))
    7483              :                                   {
    7484            0 :                                     if (integer_onep (_q41))
    7485              :                                       {
    7486            0 :                                         {
    7487            0 :                                           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7488            0 :                                           tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    7489            0 :                                           if (res) return res;
    7490              :                                         }
    7491              :                                       }
    7492              :                                   }
    7493              :                               }
    7494              :                             break;
    7495              :                           }
    7496              :                         default:;
    7497              :                         }
    7498              :                       break;
    7499              :                     }
    7500              :                   default:;
    7501              :                   }
    7502              :               }
    7503              :           }
    7504            0 :             break;
    7505              :           }
    7506              :         default:;
    7507              :         }
    7508              :     }
    7509              : }
    7510     67517075 :   switch (TREE_CODE (_p0))
    7511              :     {
    7512     32110153 :     CASE_CONVERT:
    7513     32110153 :       {
    7514     32110153 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7515     32110153 :         switch (TREE_CODE (_q20))
    7516              :           {
    7517         3940 :           case NEGATE_EXPR:
    7518         3940 :             {
    7519         3940 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7520         3940 :               switch (TREE_CODE (_p1))
    7521              :                 {
    7522          153 :                 CASE_CONVERT:
    7523          153 :                   {
    7524          153 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7525          153 :                     if (tree_negate_expr_p (_q50))
    7526              :                       {
    7527            0 :                         {
    7528            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
    7529            0 :                           tree res = generic_simplify_193 (loc, type, _p0, _p1, captures);
    7530            0 :                           if (res) return res;
    7531              :                         }
    7532              :                       }
    7533              :                     break;
    7534              :                   }
    7535         3940 :                 default:;
    7536              :                 }
    7537         3940 :             if (tree_negate_expr_p (_p1))
    7538              :               {
    7539         3509 :                 {
    7540         3509 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
    7541         3509 :                   tree res = generic_simplify_193 (loc, type, _p0, _p1, captures);
    7542         3509 :                   if (res) return res;
    7543              :                 }
    7544              :               }
    7545              :               break;
    7546              :             }
    7547            4 :           case LT_EXPR:
    7548            4 :             {
    7549            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7550            4 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7551            4 :               {
    7552            4 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7553            4 :                 tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, LT_EXPR);
    7554            4 :                 if (res) return res;
    7555              :               }
    7556            4 :               break;
    7557              :             }
    7558            6 :           case LE_EXPR:
    7559            6 :             {
    7560            6 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7561            6 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7562            6 :               {
    7563            6 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7564            6 :                 tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, LE_EXPR);
    7565            6 :                 if (res) return res;
    7566              :               }
    7567            6 :               break;
    7568              :             }
    7569            1 :           case EQ_EXPR:
    7570            1 :             {
    7571            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7572            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7573            1 :               {
    7574            1 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7575            1 :                 tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7576            1 :                 if (res) return res;
    7577              :               }
    7578            1 :               break;
    7579              :             }
    7580         1157 :           case NE_EXPR:
    7581         1157 :             {
    7582         1157 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7583         1157 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7584         1157 :               {
    7585         1157 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7586         1157 :                 tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, NE_EXPR);
    7587         1157 :                 if (res) return res;
    7588              :               }
    7589         1157 :               break;
    7590              :             }
    7591           19 :           case GE_EXPR:
    7592           19 :             {
    7593           19 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7594           19 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7595           19 :               {
    7596           19 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7597           19 :                 tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, GE_EXPR);
    7598           19 :                 if (res) return res;
    7599              :               }
    7600           19 :               break;
    7601              :             }
    7602           19 :           case GT_EXPR:
    7603           19 :             {
    7604           19 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7605           19 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7606           19 :               {
    7607           19 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7608           19 :                 tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, GT_EXPR);
    7609           19 :                 if (res) return res;
    7610              :               }
    7611           19 :               break;
    7612              :             }
    7613            0 :           case UNORDERED_EXPR:
    7614            0 :             {
    7615            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7616            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7617            0 :               {
    7618            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7619            0 :                 tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
    7620            0 :                 if (res) return res;
    7621              :               }
    7622            0 :               break;
    7623              :             }
    7624            0 :           case ORDERED_EXPR:
    7625            0 :             {
    7626            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7627            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7628            0 :               {
    7629            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7630            0 :                 tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
    7631            0 :                 if (res) return res;
    7632              :               }
    7633            0 :               break;
    7634              :             }
    7635            0 :           case UNLT_EXPR:
    7636            0 :             {
    7637            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7638            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7639            0 :               {
    7640            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7641            0 :                 tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, UNLT_EXPR);
    7642            0 :                 if (res) return res;
    7643              :               }
    7644            0 :               break;
    7645              :             }
    7646            0 :           case UNLE_EXPR:
    7647            0 :             {
    7648            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7649            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7650            0 :               {
    7651            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7652            0 :                 tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, UNLE_EXPR);
    7653            0 :                 if (res) return res;
    7654              :               }
    7655            0 :               break;
    7656              :             }
    7657            0 :           case UNGT_EXPR:
    7658            0 :             {
    7659            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7660            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7661            0 :               {
    7662            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7663            0 :                 tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, UNGT_EXPR);
    7664            0 :                 if (res) return res;
    7665              :               }
    7666            0 :               break;
    7667              :             }
    7668            0 :           case UNGE_EXPR:
    7669            0 :             {
    7670            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7671            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7672            0 :               {
    7673            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7674            0 :                 tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, UNGE_EXPR);
    7675            0 :                 if (res) return res;
    7676              :               }
    7677            0 :               break;
    7678              :             }
    7679            0 :           case UNEQ_EXPR:
    7680            0 :             {
    7681            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7682            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7683            0 :               {
    7684            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7685            0 :                 tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
    7686            0 :                 if (res) return res;
    7687              :               }
    7688            0 :               break;
    7689              :             }
    7690            0 :           case LTGT_EXPR:
    7691            0 :             {
    7692            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7693            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7694            0 :               {
    7695            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7696            0 :                 tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, LTGT_EXPR);
    7697            0 :                 if (res) return res;
    7698              :               }
    7699            0 :               break;
    7700              :             }
    7701     32109384 :           default:;
    7702              :           }
    7703     32109384 :       if (tree_negate_expr_p (_q20))
    7704              :         {
    7705        20157 :           switch (TREE_CODE (_p1))
    7706              :             {
    7707         2322 :             CASE_CONVERT:
    7708         2322 :               {
    7709         2322 :                 tree _q40 = TREE_OPERAND (_p1, 0);
    7710         2322 :                 switch (TREE_CODE (_q40))
    7711              :                   {
    7712            0 :                   case NEGATE_EXPR:
    7713            0 :                     {
    7714            0 :                       tree _q50 = TREE_OPERAND (_q40, 0);
    7715            0 :                       {
    7716            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
    7717            0 :                         tree res = generic_simplify_193 (loc, type, _p0, _p1, captures);
    7718            0 :                         if (res) return res;
    7719              :                       }
    7720            0 :                       break;
    7721              :                     }
    7722              :                   default:;
    7723              :                   }
    7724              :                 break;
    7725              :               }
    7726            6 :             case NEGATE_EXPR:
    7727            6 :               {
    7728            6 :                 tree _q40 = TREE_OPERAND (_p1, 0);
    7729            6 :                 {
    7730            6 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    7731            6 :                   tree res = generic_simplify_193 (loc, type, _p0, _p1, captures);
    7732            6 :                   if (res) return res;
    7733              :                 }
    7734            0 :                 break;
    7735              :               }
    7736              :             default:;
    7737              :             }
    7738              :         }
    7739              :         break;
    7740              :       }
    7741       435223 :     case NEGATE_EXPR:
    7742       435223 :       {
    7743       435223 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7744       435223 :         switch (TREE_CODE (_p1))
    7745              :           {
    7746       156666 :           CASE_CONVERT:
    7747       156666 :             {
    7748       156666 :               tree _q40 = TREE_OPERAND (_p1, 0);
    7749       156666 :               if (tree_negate_expr_p (_q40))
    7750              :                 {
    7751            0 :                   {
    7752            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    7753            0 :                     tree res = generic_simplify_193 (loc, type, _p0, _p1, captures);
    7754            0 :                     if (res) return res;
    7755              :                   }
    7756              :                 }
    7757              :               break;
    7758              :             }
    7759       435223 :           default:;
    7760              :           }
    7761       435223 :       if (tree_negate_expr_p (_p1))
    7762              :         {
    7763        27581 :           {
    7764        27581 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7765        27581 :             tree res = generic_simplify_193 (loc, type, _p0, _p1, captures);
    7766        27581 :             if (res) return res;
    7767              :           }
    7768              :         }
    7769       407642 :         if (tree_zero_one_valued_p (_q20))
    7770              :           {
    7771          529 :             if (tree_zero_one_valued_p (_p1))
    7772              :               {
    7773          521 :                 {
    7774          521 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7775          521 :                   tree res = generic_simplify_195 (loc, type, _p0, _p1, captures);
    7776          521 :                   if (res) return res;
    7777              :                 }
    7778              :               }
    7779              :           }
    7780              :         break;
    7781              :       }
    7782     67488198 :     default:;
    7783              :     }
    7784     67488198 : if (tree_negate_expr_p (_p0))
    7785              :   {
    7786       677395 :     switch (TREE_CODE (_p1))
    7787              :       {
    7788       161845 :       CASE_CONVERT:
    7789       161845 :         {
    7790       161845 :           tree _q30 = TREE_OPERAND (_p1, 0);
    7791       161845 :           switch (TREE_CODE (_q30))
    7792              :             {
    7793            0 :             case NEGATE_EXPR:
    7794            0 :               {
    7795            0 :                 tree _q40 = TREE_OPERAND (_q30, 0);
    7796            0 :                 {
    7797            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    7798            0 :                   tree res = generic_simplify_193 (loc, type, _p0, _p1, captures);
    7799            0 :                   if (res) return res;
    7800              :                 }
    7801            0 :                 break;
    7802              :               }
    7803              :             default:;
    7804              :             }
    7805              :           break;
    7806              :         }
    7807           12 :       case NEGATE_EXPR:
    7808           12 :         {
    7809           12 :           tree _q30 = TREE_OPERAND (_p1, 0);
    7810           12 :           {
    7811           12 :             tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    7812           12 :             tree res = generic_simplify_193 (loc, type, _p0, _p1, captures);
    7813           12 :             if (res) return res;
    7814              :           }
    7815            0 :           break;
    7816              :         }
    7817              :       default:;
    7818              :       }
    7819              :   }
    7820     67488186 : if (tree_zero_one_valued_p (_p0))
    7821              :   {
    7822       187831 :     switch (TREE_CODE (_p1))
    7823              :       {
    7824           24 :       case NEGATE_EXPR:
    7825           24 :         {
    7826           24 :           tree _q30 = TREE_OPERAND (_p1, 0);
    7827           24 :           if (tree_zero_one_valued_p (_q30))
    7828              :             {
    7829           24 :               {
    7830           24 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    7831           24 :                 tree res = generic_simplify_195 (loc, type, _p0, _p1, captures);
    7832           24 :                 if (res) return res;
    7833              :               }
    7834              :             }
    7835              :           break;
    7836              :         }
    7837       187807 :       default:;
    7838              :       }
    7839       187807 :   if (tree_zero_one_valued_p (_p1))
    7840              :     {
    7841        12772 :       {
    7842        12772 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    7843        12772 :         if (INTEGRAL_TYPE_P (type)
    7844              : )
    7845              :           {
    7846        12772 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1446;
    7847        12772 :             {
    7848        12772 :               tree res_op0;
    7849        12772 :               res_op0 = captures[0];
    7850        12772 :               tree res_op1;
    7851        12772 :               res_op1 = captures[1];
    7852        12772 :               tree _r;
    7853        12772 :               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    7854        12772 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
    7855        12772 :               return _r;
    7856              :             }
    7857            0 : next_after_fail1446:;
    7858              :           }
    7859              :       }
    7860              :     }
    7861              :   }
    7862     67475390 :   switch (TREE_CODE (_p1))
    7863              :     {
    7864      7344801 :     CASE_CONVERT:
    7865      7344801 :       {
    7866      7344801 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7867      7344801 :         switch (TREE_CODE (_q30))
    7868              :           {
    7869            0 :           case LT_EXPR:
    7870            0 :             {
    7871            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7872            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7873            0 :               {
    7874            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7875            0 :                 tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, LT_EXPR);
    7876            0 :                 if (res) return res;
    7877              :               }
    7878            0 :               break;
    7879              :             }
    7880            0 :           case LE_EXPR:
    7881            0 :             {
    7882            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7883            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7884            0 :               {
    7885            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7886            0 :                 tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, LE_EXPR);
    7887            0 :                 if (res) return res;
    7888              :               }
    7889            0 :               break;
    7890              :             }
    7891            0 :           case EQ_EXPR:
    7892            0 :             {
    7893            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7894            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7895            0 :               {
    7896            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7897            0 :                 tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7898            0 :                 if (res) return res;
    7899              :               }
    7900            0 :               break;
    7901              :             }
    7902            0 :           case NE_EXPR:
    7903            0 :             {
    7904            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7905            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7906            0 :               {
    7907            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7908            0 :                 tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, NE_EXPR);
    7909            0 :                 if (res) return res;
    7910              :               }
    7911            0 :               break;
    7912              :             }
    7913            0 :           case GE_EXPR:
    7914            0 :             {
    7915            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7916            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7917            0 :               {
    7918            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7919            0 :                 tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, GE_EXPR);
    7920            0 :                 if (res) return res;
    7921              :               }
    7922            0 :               break;
    7923              :             }
    7924            0 :           case GT_EXPR:
    7925            0 :             {
    7926            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7927            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7928            0 :               {
    7929            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7930            0 :                 tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, GT_EXPR);
    7931            0 :                 if (res) return res;
    7932              :               }
    7933            0 :               break;
    7934              :             }
    7935            0 :           case UNORDERED_EXPR:
    7936            0 :             {
    7937            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7938            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7939            0 :               {
    7940            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7941            0 :                 tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
    7942            0 :                 if (res) return res;
    7943              :               }
    7944            0 :               break;
    7945              :             }
    7946            0 :           case ORDERED_EXPR:
    7947            0 :             {
    7948            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7949            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7950            0 :               {
    7951            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7952            0 :                 tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
    7953            0 :                 if (res) return res;
    7954              :               }
    7955            0 :               break;
    7956              :             }
    7957            0 :           case UNLT_EXPR:
    7958            0 :             {
    7959            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7960            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7961            0 :               {
    7962            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7963            0 :                 tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, UNLT_EXPR);
    7964            0 :                 if (res) return res;
    7965              :               }
    7966            0 :               break;
    7967              :             }
    7968            0 :           case UNLE_EXPR:
    7969            0 :             {
    7970            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7971            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7972            0 :               {
    7973            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7974            0 :                 tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, UNLE_EXPR);
    7975            0 :                 if (res) return res;
    7976              :               }
    7977            0 :               break;
    7978              :             }
    7979            0 :           case UNGT_EXPR:
    7980            0 :             {
    7981            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7982            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7983            0 :               {
    7984            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7985            0 :                 tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, UNGT_EXPR);
    7986            0 :                 if (res) return res;
    7987              :               }
    7988            0 :               break;
    7989              :             }
    7990            0 :           case UNGE_EXPR:
    7991            0 :             {
    7992            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7993            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7994            0 :               {
    7995            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7996            0 :                 tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, UNGE_EXPR);
    7997            0 :                 if (res) return res;
    7998              :               }
    7999            0 :               break;
    8000              :             }
    8001            0 :           case UNEQ_EXPR:
    8002            0 :             {
    8003            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    8004            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    8005            0 :               {
    8006            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    8007            0 :                 tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
    8008            0 :                 if (res) return res;
    8009              :               }
    8010            0 :               break;
    8011              :             }
    8012            0 :           case LTGT_EXPR:
    8013            0 :             {
    8014            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    8015            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    8016            0 :               {
    8017            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    8018            0 :                 tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, LTGT_EXPR);
    8019            0 :                 if (res) return res;
    8020              :               }
    8021            0 :               break;
    8022              :             }
    8023              :           default:;
    8024              :           }
    8025              :         break;
    8026              :       }
    8027     67475390 :     default:;
    8028              :     }
    8029     67475390 :   switch (TREE_CODE (_p0))
    8030              :     {
    8031            3 :     case MIN_EXPR:
    8032            3 :       {
    8033            3 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8034            3 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8035            3 :         switch (TREE_CODE (_p1))
    8036              :           {
    8037            0 :           case MAX_EXPR:
    8038            0 :             {
    8039            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8040            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8041            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8042              :                 {
    8043            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8044              :                     {
    8045            0 :                       {
    8046            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8047            0 :                         if (!HONOR_NANS (captures[0])
    8048              : )
    8049              :                           {
    8050            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1447;
    8051            0 :                             {
    8052            0 :                               tree res_op0;
    8053            0 :                               res_op0 = captures[0];
    8054            0 :                               tree res_op1;
    8055            0 :                               res_op1 = captures[1];
    8056            0 :                               tree _r;
    8057            0 :                               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    8058            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 907, __FILE__, __LINE__, true);
    8059            0 :                               return _r;
    8060              :                             }
    8061            0 : next_after_fail1447:;
    8062              :                           }
    8063              :                       }
    8064              :                     }
    8065              :                 }
    8066            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8067              :                 {
    8068            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8069              :                     {
    8070            0 :                       {
    8071            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8072            0 :                         if (!HONOR_NANS (captures[0])
    8073              : )
    8074              :                           {
    8075            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1448;
    8076            0 :                             {
    8077            0 :                               tree res_op0;
    8078            0 :                               res_op0 = captures[0];
    8079            0 :                               tree res_op1;
    8080            0 :                               res_op1 = captures[1];
    8081            0 :                               tree _r;
    8082            0 :                               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    8083            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 907, __FILE__, __LINE__, true);
    8084            0 :                               return _r;
    8085              :                             }
    8086            0 : next_after_fail1448:;
    8087              :                           }
    8088              :                       }
    8089              :                     }
    8090              :                 }
    8091              :               break;
    8092              :             }
    8093              :           default:;
    8094              :           }
    8095              :         break;
    8096              :       }
    8097          146 :     case MAX_EXPR:
    8098          146 :       {
    8099          146 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8100          146 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8101          146 :         switch (TREE_CODE (_p1))
    8102              :           {
    8103            0 :           case MIN_EXPR:
    8104            0 :             {
    8105            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8106            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8107            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8108              :                 {
    8109            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8110              :                     {
    8111            0 :                       {
    8112            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8113            0 :                         if (!HONOR_NANS (captures[0])
    8114              : )
    8115              :                           {
    8116            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1449;
    8117            0 :                             {
    8118            0 :                               tree res_op0;
    8119            0 :                               res_op0 = captures[0];
    8120            0 :                               tree res_op1;
    8121            0 :                               res_op1 = captures[1];
    8122            0 :                               tree _r;
    8123            0 :                               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    8124            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 907, __FILE__, __LINE__, true);
    8125            0 :                               return _r;
    8126              :                             }
    8127            0 : next_after_fail1449:;
    8128              :                           }
    8129              :                       }
    8130              :                     }
    8131              :                 }
    8132            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8133              :                 {
    8134            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8135              :                     {
    8136            0 :                       {
    8137            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8138            0 :                         if (!HONOR_NANS (captures[0])
    8139              : )
    8140              :                           {
    8141            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1450;
    8142            0 :                             {
    8143            0 :                               tree res_op0;
    8144            0 :                               res_op0 = captures[0];
    8145            0 :                               tree res_op1;
    8146            0 :                               res_op1 = captures[1];
    8147            0 :                               tree _r;
    8148            0 :                               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    8149            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 907, __FILE__, __LINE__, true);
    8150            0 :                               return _r;
    8151              :                             }
    8152            0 : next_after_fail1450:;
    8153              :                           }
    8154              :                       }
    8155              :                     }
    8156              :                 }
    8157              :               break;
    8158              :             }
    8159              :           default:;
    8160              :           }
    8161              :         break;
    8162              :       }
    8163     32096609 :     CASE_CONVERT:
    8164     32096609 :       {
    8165     32096609 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8166     32096609 :         switch (TREE_CODE (_q20))
    8167              :           {
    8168           82 :           case BIT_AND_EXPR:
    8169           82 :             {
    8170           82 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8171           82 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8172           82 :               switch (TREE_CODE (_q30))
    8173              :                 {
    8174            0 :                 CASE_CONVERT:
    8175            0 :                   {
    8176            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8177            0 :                     switch (TREE_CODE (_q40))
    8178              :                       {
    8179            0 :                       case RSHIFT_EXPR:
    8180            0 :                         {
    8181            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    8182            0 :                           tree _q51 = TREE_OPERAND (_q40, 1);
    8183            0 :                           switch (TREE_CODE (_q51))
    8184              :                             {
    8185            0 :                             case INTEGER_CST:
    8186            0 :                               {
    8187            0 :                                 switch (TREE_CODE (_q31))
    8188              :                                   {
    8189            0 :                                   case INTEGER_CST:
    8190            0 :                                     {
    8191            0 :                                       switch (TREE_CODE (_p1))
    8192              :                                         {
    8193            0 :                                         case INTEGER_CST:
    8194            0 :                                           {
    8195            0 :                                             {
    8196            0 :                                               tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _p1 };
    8197            0 :                                               tree res = generic_simplify_197 (loc, type, _p0, _p1, captures);
    8198            0 :                                               if (res) return res;
    8199              :                                             }
    8200            0 :                                             break;
    8201              :                                           }
    8202              :                                         default:;
    8203              :                                         }
    8204              :                                       break;
    8205              :                                     }
    8206              :                                   default:;
    8207              :                                   }
    8208              :                                 break;
    8209              :                               }
    8210              :                             default:;
    8211              :                             }
    8212              :                           break;
    8213              :                         }
    8214              :                       default:;
    8215              :                       }
    8216              :                     break;
    8217              :                   }
    8218              :                 default:;
    8219              :                 }
    8220              :               break;
    8221              :             }
    8222        31570 :           case EXACT_DIV_EXPR:
    8223        31570 :             {
    8224        31570 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8225        31570 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8226        31570 :               switch (TREE_CODE (_p1))
    8227              :                 {
    8228            0 :                 CASE_CONVERT:
    8229            0 :                   {
    8230            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    8231            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
    8232              :                       {
    8233            0 :                         {
    8234            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
    8235            0 :                           tree res = generic_simplify_198 (loc, type, _p0, _p1, captures);
    8236            0 :                           if (res) return res;
    8237              :                         }
    8238              :                       }
    8239              :                     break;
    8240              :                   }
    8241        31570 :                 default:;
    8242              :                 }
    8243        31570 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
    8244              :                 {
    8245        21455 :                   {
    8246        21455 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
    8247        21455 :                     tree res = generic_simplify_198 (loc, type, _p0, _p1, captures);
    8248        21455 :                     if (res) return res;
    8249              :                   }
    8250              :                 }
    8251        10115 :               switch (TREE_CODE (_q31))
    8252              :                 {
    8253        10115 :                 case INTEGER_CST:
    8254        10115 :                   {
    8255        10115 :                     if (poly_int_tree_p (_p1))
    8256              :                       {
    8257        10115 :                         {
    8258        10115 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    8259        10115 :                           tree res = generic_simplify_199 (loc, type, _p0, _p1, captures);
    8260        10115 :                           if (res) return res;
    8261              :                         }
    8262              :                       }
    8263              :                     break;
    8264              :                   }
    8265              :                 default:;
    8266              :                 }
    8267              :               break;
    8268              :             }
    8269      1385174 :           case PLUS_EXPR:
    8270      1385174 :             {
    8271      1385174 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8272      1385174 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8273      1385174 :               switch (TREE_CODE (_q30))
    8274              :                 {
    8275       174274 :                 CASE_CONVERT:
    8276       174274 :                   {
    8277       174274 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8278       174274 :                     switch (TREE_CODE (_q40))
    8279              :                       {
    8280            0 :                       case EXACT_DIV_EXPR:
    8281            0 :                         {
    8282            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    8283            0 :                           tree _q51 = TREE_OPERAND (_q40, 1);
    8284            0 :                           switch (TREE_CODE (_q51))
    8285              :                             {
    8286            0 :                             case INTEGER_CST:
    8287            0 :                               {
    8288            0 :                                 if (poly_int_tree_p (_q31))
    8289              :                                   {
    8290            0 :                                     if (poly_int_tree_p (_p1))
    8291              :                                       {
    8292            0 :                                         {
    8293            0 :                                           tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _p1 };
    8294            0 :                                           tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8295            0 :                                           if (res) return res;
    8296              :                                         }
    8297              :                                       }
    8298              :                                   }
    8299              :                                 break;
    8300              :                               }
    8301              :                             default:;
    8302              :                             }
    8303              :                           break;
    8304              :                         }
    8305              :                       default:;
    8306              :                       }
    8307              :                     break;
    8308              :                   }
    8309          112 :                 case EXACT_DIV_EXPR:
    8310          112 :                   {
    8311          112 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8312          112 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8313          112 :                     switch (TREE_CODE (_q41))
    8314              :                       {
    8315          112 :                       case INTEGER_CST:
    8316          112 :                         {
    8317          112 :                           if (poly_int_tree_p (_q31))
    8318              :                             {
    8319          112 :                               if (poly_int_tree_p (_p1))
    8320              :                                 {
    8321          112 :                                   {
    8322          112 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _p1 };
    8323          112 :                                     tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8324          112 :                                     if (res) return res;
    8325              :                                   }
    8326              :                                 }
    8327              :                             }
    8328              :                           break;
    8329              :                         }
    8330              :                       default:;
    8331              :                       }
    8332              :                     break;
    8333              :                   }
    8334              :                 default:;
    8335              :                 }
    8336              :               break;
    8337              :             }
    8338        96862 :           case MINUS_EXPR:
    8339        96862 :             {
    8340        96862 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8341        96862 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8342        96862 :               switch (TREE_CODE (_q30))
    8343              :                 {
    8344        21241 :                 CASE_CONVERT:
    8345        21241 :                   {
    8346        21241 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8347        21241 :                     switch (TREE_CODE (_q40))
    8348              :                       {
    8349            0 :                       case EXACT_DIV_EXPR:
    8350            0 :                         {
    8351            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    8352            0 :                           tree _q51 = TREE_OPERAND (_q40, 1);
    8353            0 :                           switch (TREE_CODE (_q51))
    8354              :                             {
    8355            0 :                             case INTEGER_CST:
    8356            0 :                               {
    8357            0 :                                 if (poly_int_tree_p (_q31))
    8358              :                                   {
    8359            0 :                                     if (poly_int_tree_p (_p1))
    8360              :                                       {
    8361            0 :                                         {
    8362            0 :                                           tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _p1 };
    8363            0 :                                           tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    8364            0 :                                           if (res) return res;
    8365              :                                         }
    8366              :                                       }
    8367              :                                   }
    8368              :                                 break;
    8369              :                               }
    8370              :                             default:;
    8371              :                             }
    8372              :                           break;
    8373              :                         }
    8374              :                       default:;
    8375              :                       }
    8376              :                     break;
    8377              :                   }
    8378            0 :                 case EXACT_DIV_EXPR:
    8379            0 :                   {
    8380            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8381            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8382            0 :                     switch (TREE_CODE (_q41))
    8383              :                       {
    8384            0 :                       case INTEGER_CST:
    8385            0 :                         {
    8386            0 :                           if (poly_int_tree_p (_q31))
    8387              :                             {
    8388            0 :                               if (poly_int_tree_p (_p1))
    8389              :                                 {
    8390            0 :                                   {
    8391            0 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _p1 };
    8392            0 :                                     tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    8393            0 :                                     if (res) return res;
    8394              :                                   }
    8395              :                                 }
    8396              :                             }
    8397              :                           break;
    8398              :                         }
    8399              :                       default:;
    8400              :                       }
    8401              :                     break;
    8402              :                   }
    8403              :                 default:;
    8404              :                 }
    8405              :               break;
    8406              :             }
    8407              :           default:;
    8408              :           }
    8409              :         break;
    8410              :       }
    8411        59426 :     case BIT_AND_EXPR:
    8412        59426 :       {
    8413        59426 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8414        59426 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8415        59426 :         switch (TREE_CODE (_q20))
    8416              :           {
    8417          275 :           case RSHIFT_EXPR:
    8418          275 :             {
    8419          275 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8420          275 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8421          275 :               switch (TREE_CODE (_q31))
    8422              :                 {
    8423           14 :                 case INTEGER_CST:
    8424           14 :                   {
    8425           14 :                     switch (TREE_CODE (_q21))
    8426              :                       {
    8427           14 :                       case INTEGER_CST:
    8428           14 :                         {
    8429           14 :                           switch (TREE_CODE (_p1))
    8430              :                             {
    8431           14 :                             case INTEGER_CST:
    8432           14 :                               {
    8433           14 :                                 {
    8434           14 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
    8435           14 :                                   tree res = generic_simplify_197 (loc, type, _p0, _p1, captures);
    8436           14 :                                   if (res) return res;
    8437              :                                 }
    8438            8 :                                 break;
    8439              :                               }
    8440              :                             default:;
    8441              :                             }
    8442              :                           break;
    8443              :                         }
    8444              :                       default:;
    8445              :                       }
    8446              :                     break;
    8447              :                   }
    8448              :                 default:;
    8449              :                 }
    8450              :               break;
    8451              :             }
    8452              :           default:;
    8453              :           }
    8454              :         break;
    8455              :       }
    8456       182975 :     case EXACT_DIV_EXPR:
    8457       182975 :       {
    8458       182975 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8459       182975 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8460       182975 :         switch (TREE_CODE (_p1))
    8461              :           {
    8462          114 :           CASE_CONVERT:
    8463          114 :             {
    8464          114 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8465          114 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
    8466              :                 {
    8467            0 :                   {
    8468            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
    8469            0 :                     tree res = generic_simplify_198 (loc, type, _p0, _p1, captures);
    8470            0 :                     if (res) return res;
    8471              :                   }
    8472              :                 }
    8473              :               break;
    8474              :             }
    8475       182975 :           default:;
    8476              :           }
    8477       182975 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
    8478              :           {
    8479        20805 :             {
    8480        20805 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
    8481        20805 :               tree res = generic_simplify_198 (loc, type, _p0, _p1, captures);
    8482        20805 :               if (res) return res;
    8483              :             }
    8484              :           }
    8485       162170 :         switch (TREE_CODE (_q21))
    8486              :           {
    8487       162170 :           case INTEGER_CST:
    8488       162170 :             {
    8489       162170 :               if (poly_int_tree_p (_p1))
    8490              :                 {
    8491       162056 :                   {
    8492       162056 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8493       162056 :                     tree res = generic_simplify_199 (loc, type, _p0, _p1, captures);
    8494       162056 :                     if (res) return res;
    8495              :                   }
    8496              :                 }
    8497              :               break;
    8498              :             }
    8499              :           default:;
    8500              :           }
    8501              :         break;
    8502              :       }
    8503      7627326 :     case PLUS_EXPR:
    8504      7627326 :       {
    8505      7627326 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8506      7627326 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8507      7627326 :         switch (TREE_CODE (_q20))
    8508              :           {
    8509      3736457 :           CASE_CONVERT:
    8510      3736457 :             {
    8511      3736457 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8512      3736457 :               switch (TREE_CODE (_q30))
    8513              :                 {
    8514         5478 :                 case EXACT_DIV_EXPR:
    8515         5478 :                   {
    8516         5478 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8517         5478 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8518         5478 :                     switch (TREE_CODE (_q41))
    8519              :                       {
    8520         5478 :                       case INTEGER_CST:
    8521         5478 :                         {
    8522         5478 :                           if (poly_int_tree_p (_q21))
    8523              :                             {
    8524         5478 :                               if (poly_int_tree_p (_p1))
    8525              :                                 {
    8526         5478 :                                   {
    8527         5478 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q21, _p1 };
    8528         5478 :                                     tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8529         5478 :                                     if (res) return res;
    8530              :                                   }
    8531              :                                 }
    8532              :                             }
    8533              :                           break;
    8534              :                         }
    8535              :                       default:;
    8536              :                       }
    8537              :                     break;
    8538              :                   }
    8539              :                 default:;
    8540              :                 }
    8541              :               break;
    8542              :             }
    8543            0 :           case EXACT_DIV_EXPR:
    8544            0 :             {
    8545            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8546            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8547            0 :               switch (TREE_CODE (_q31))
    8548              :                 {
    8549            0 :                 case INTEGER_CST:
    8550            0 :                   {
    8551            0 :                     if (poly_int_tree_p (_q21))
    8552              :                       {
    8553            0 :                         if (poly_int_tree_p (_p1))
    8554              :                           {
    8555            0 :                             {
    8556            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
    8557            0 :                               tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8558            0 :                               if (res) return res;
    8559              :                             }
    8560              :                           }
    8561              :                       }
    8562              :                     break;
    8563              :                   }
    8564              :                 default:;
    8565              :                 }
    8566              :               break;
    8567              :             }
    8568              :           default:;
    8569              :           }
    8570              :         break;
    8571              :       }
    8572      1143257 :     case MINUS_EXPR:
    8573      1143257 :       {
    8574      1143257 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8575      1143257 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8576      1143257 :         switch (TREE_CODE (_q20))
    8577              :           {
    8578       264880 :           CASE_CONVERT:
    8579       264880 :             {
    8580       264880 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8581       264880 :               switch (TREE_CODE (_q30))
    8582              :                 {
    8583            0 :                 case EXACT_DIV_EXPR:
    8584            0 :                   {
    8585            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8586            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8587            0 :                     switch (TREE_CODE (_q41))
    8588              :                       {
    8589            0 :                       case INTEGER_CST:
    8590            0 :                         {
    8591            0 :                           if (poly_int_tree_p (_q21))
    8592              :                             {
    8593            0 :                               if (poly_int_tree_p (_p1))
    8594              :                                 {
    8595            0 :                                   {
    8596            0 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q21, _p1 };
    8597            0 :                                     tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    8598            0 :                                     if (res) return res;
    8599              :                                   }
    8600              :                                 }
    8601              :                             }
    8602              :                           break;
    8603              :                         }
    8604              :                       default:;
    8605              :                       }
    8606              :                     break;
    8607              :                   }
    8608              :                 default:;
    8609              :                 }
    8610              :               break;
    8611              :             }
    8612            0 :           case EXACT_DIV_EXPR:
    8613            0 :             {
    8614            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8615            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8616            0 :               switch (TREE_CODE (_q31))
    8617              :                 {
    8618            0 :                 case INTEGER_CST:
    8619            0 :                   {
    8620            0 :                     if (poly_int_tree_p (_q21))
    8621              :                       {
    8622            0 :                         if (poly_int_tree_p (_p1))
    8623              :                           {
    8624            0 :                             {
    8625            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
    8626            0 :                               tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    8627            0 :                               if (res) return res;
    8628              :                             }
    8629              :                           }
    8630              :                       }
    8631              :                     break;
    8632              :                   }
    8633              :                 default:;
    8634              :                 }
    8635              :               break;
    8636              :             }
    8637              :           default:;
    8638              :           }
    8639              :         break;
    8640              :       }
    8641     67372763 :     default:;
    8642              :     }
    8643     67372763 :   if (integer_minus_onep (_p1))
    8644              :     {
    8645       403719 :       {
    8646       403719 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8647       403719 :         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1451;
    8648       403719 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1451;
    8649       403719 :         {
    8650       403719 :           tree res_op0;
    8651       403719 :           res_op0 = captures[0];
    8652       403719 :           tree _r;
    8653       403719 :           _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    8654       403719 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 988, __FILE__, __LINE__, true);
    8655       403719 :           return _r;
    8656              :         }
    8657              : next_after_fail1451:;
    8658              :       }
    8659              :     }
    8660     66969044 :   switch (TREE_CODE (_p0))
    8661              :     {
    8662      4847846 :     case MULT_EXPR:
    8663      4847846 :       {
    8664      4847846 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8665      4847846 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8666      4847846 :         switch (TREE_CODE (_q21))
    8667              :           {
    8668       169050 :           case INTEGER_CST:
    8669       169050 :             {
    8670       169050 :               {
    8671       169050 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8672       169050 :                 tree res = generic_simplify_201 (loc, type, _p0, _p1, captures);
    8673       169050 :                 if (res) return res;
    8674              :               }
    8675           30 :               break;
    8676              :             }
    8677              :           default:;
    8678              :           }
    8679              :         break;
    8680              :       }
    8681     66800024 :     default:;
    8682              :     }
    8683     66800024 :   switch (TREE_CODE (_p1))
    8684              :     {
    8685        23601 :     case MULT_EXPR:
    8686        23601 :       {
    8687        23601 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8688        23601 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8689        23601 :         switch (TREE_CODE (_q31))
    8690              :           {
    8691        17157 :           case INTEGER_CST:
    8692        17157 :             {
    8693        17157 :               {
    8694        17157 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
    8695        17157 :                 tree res = generic_simplify_201 (loc, type, _p0, _p1, captures);
    8696        17157 :                 if (res) return res;
    8697              :               }
    8698            0 :               break;
    8699              :             }
    8700              :           default:;
    8701              :           }
    8702              :         break;
    8703              :       }
    8704     66782867 :     default:;
    8705              :     }
    8706     66782867 :   switch (TREE_CODE (_p0))
    8707              :     {
    8708           36 :     case VEC_COND_EXPR:
    8709           36 :       {
    8710           36 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8711           36 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8712           36 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8713           36 :         switch (TREE_CODE (_p1))
    8714              :           {
    8715            0 :           case VEC_COND_EXPR:
    8716            0 :             {
    8717            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8718            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8719            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8720            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    8721              :                 {
    8722            0 :                   {
    8723            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    8724            0 :                     if (VECTOR_TYPE_P (type)
    8725            0 :  && (TREE_CODE_CLASS (MULT_EXPR) != tcc_comparison
    8726              :  || types_match (type, TREE_TYPE (captures[2]))
    8727              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8728              :  || (optimize_vectors_before_lowering_p ()
    8729              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8730              : )
    8731              :                       {
    8732            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1452;
    8733            0 :                         {
    8734            0 :                           tree res_op0;
    8735            0 :                           res_op0 = captures[1];
    8736            0 :                           tree res_op1;
    8737            0 :                           {
    8738            0 :                             tree _o1[2], _r1;
    8739            0 :                             _o1[0] = captures[2];
    8740            0 :                             _o1[1] = captures[5];
    8741            0 :                             _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8742            0 :                             if (EXPR_P (_r1))
    8743            0 :                               goto next_after_fail1452;
    8744            0 :                             res_op1 = _r1;
    8745              :                           }
    8746            0 :                           tree res_op2;
    8747            0 :                           {
    8748            0 :                             tree _o1[2], _r1;
    8749            0 :                             _o1[0] = captures[3];
    8750            0 :                             _o1[1] = captures[6];
    8751            0 :                             _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8752            0 :                             if (EXPR_P (_r1))
    8753            0 :                               goto next_after_fail1452;
    8754            0 :                             res_op2 = _r1;
    8755              :                           }
    8756            0 :                           tree _r;
    8757            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8758            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 908, __FILE__, __LINE__, true);
    8759            0 :                           return _r;
    8760              :                         }
    8761            0 : next_after_fail1452:;
    8762              :                       }
    8763              :                   }
    8764              :                 }
    8765              :               break;
    8766              :             }
    8767           36 :           default:;
    8768              :           }
    8769           36 :         {
    8770           36 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    8771           36 :           if (VECTOR_TYPE_P (type)
    8772           36 :  && (TREE_CODE_CLASS (MULT_EXPR) != tcc_comparison
    8773              :  || types_match (type, TREE_TYPE (captures[2]))
    8774              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8775              :  || (optimize_vectors_before_lowering_p ()
    8776              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8777              : )
    8778              :             {
    8779           36 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1453;
    8780           36 :               {
    8781           36 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1453;
    8782            0 :                 tree res_op0;
    8783            0 :                 res_op0 = captures[1];
    8784            0 :                 tree res_op1;
    8785            0 :                 {
    8786            0 :                   tree _o1[2], _r1;
    8787            0 :                   _o1[0] = captures[2];
    8788            0 :                   _o1[1] = unshare_expr (captures[4]);
    8789            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8790            0 :                   if (EXPR_P (_r1))
    8791            0 :                     goto next_after_fail1453;
    8792            0 :                   res_op1 = _r1;
    8793              :                 }
    8794            0 :                 tree res_op2;
    8795            0 :                 {
    8796            0 :                   tree _o1[2], _r1;
    8797            0 :                   _o1[0] = captures[3];
    8798            0 :                   _o1[1] = captures[4];
    8799            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8800            0 :                   if (EXPR_P (_r1))
    8801            0 :                     goto next_after_fail1453;
    8802            0 :                   res_op2 = _r1;
    8803              :                 }
    8804            0 :                 tree _r;
    8805            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8806            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 910, __FILE__, __LINE__, true);
    8807            0 :                 return _r;
    8808              :               }
    8809           36 : next_after_fail1453:;
    8810              :             }
    8811              :         }
    8812           36 :         break;
    8813              :       }
    8814     66782867 :     default:;
    8815              :     }
    8816     66782867 :   switch (TREE_CODE (_p1))
    8817              :     {
    8818            0 :     case VEC_COND_EXPR:
    8819            0 :       {
    8820            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8821            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8822            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8823            0 :         {
    8824            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8825            0 :           if (VECTOR_TYPE_P (type)
    8826            0 :  && (TREE_CODE_CLASS (MULT_EXPR) != tcc_comparison
    8827              :  || types_match (type, TREE_TYPE (captures[3]))
    8828              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    8829              :  || (optimize_vectors_before_lowering_p ()
    8830              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    8831              : )
    8832              :             {
    8833            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1454;
    8834            0 :               {
    8835            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1454;
    8836            0 :                 tree res_op0;
    8837            0 :                 res_op0 = captures[2];
    8838            0 :                 tree res_op1;
    8839            0 :                 {
    8840            0 :                   tree _o1[2], _r1;
    8841            0 :                   _o1[0] = unshare_expr (captures[0]);
    8842            0 :                   _o1[1] = captures[3];
    8843            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8844            0 :                   if (EXPR_P (_r1))
    8845            0 :                     goto next_after_fail1454;
    8846            0 :                   res_op1 = _r1;
    8847              :                 }
    8848            0 :                 tree res_op2;
    8849            0 :                 {
    8850            0 :                   tree _o1[2], _r1;
    8851            0 :                   _o1[0] = captures[0];
    8852            0 :                   _o1[1] = captures[4];
    8853            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8854            0 :                   if (EXPR_P (_r1))
    8855            0 :                     goto next_after_fail1454;
    8856            0 :                   res_op2 = _r1;
    8857              :                 }
    8858            0 :                 tree _r;
    8859            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8860            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 911, __FILE__, __LINE__, true);
    8861            0 :                 return _r;
    8862              :               }
    8863            0 : next_after_fail1454:;
    8864              :             }
    8865              :         }
    8866            0 :         break;
    8867              :       }
    8868     66782867 :     default:;
    8869              :     }
    8870     66782867 :   switch (TREE_CODE (_p0))
    8871              :     {
    8872         2576 :     case REAL_CST:
    8873         2576 :       {
    8874         2576 :         switch (TREE_CODE (_p1))
    8875              :           {
    8876            0 :           case CALL_EXPR:
    8877            0 :             switch (get_call_combined_fn (_p1))
    8878              :               {
    8879            0 :               case CFN_BUILT_IN_LDEXPF:
    8880            0 :                 if (call_expr_nargs (_p1) == 2)
    8881              :     {
    8882            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    8883            0 :                     tree _q31 = CALL_EXPR_ARG (_p1, 1);
    8884            0 :                     {
    8885            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    8886            0 :                       tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPF);
    8887            0 :                       if (res) return res;
    8888              :                     }
    8889              :                   }
    8890              :                 break;
    8891            0 :               case CFN_BUILT_IN_LDEXPL:
    8892            0 :                 if (call_expr_nargs (_p1) == 2)
    8893              :     {
    8894            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    8895            0 :                     tree _q31 = CALL_EXPR_ARG (_p1, 1);
    8896            0 :                     {
    8897            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    8898            0 :                       tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPL);
    8899            0 :                       if (res) return res;
    8900              :                     }
    8901              :                   }
    8902              :                 break;
    8903            0 :               case CFN_LDEXP:
    8904            0 :                 if (call_expr_nargs (_p1) == 2)
    8905              :     {
    8906            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    8907            0 :                     tree _q31 = CALL_EXPR_ARG (_p1, 1);
    8908            0 :                     {
    8909            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    8910            0 :                       tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, CFN_LDEXP);
    8911            0 :                       if (res) return res;
    8912              :                     }
    8913              :                   }
    8914              :                 break;
    8915            0 :               case CFN_BUILT_IN_LDEXP:
    8916            0 :                 if (call_expr_nargs (_p1) == 2)
    8917              :     {
    8918            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    8919            0 :                     tree _q31 = CALL_EXPR_ARG (_p1, 1);
    8920            0 :                     {
    8921            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    8922            0 :                       tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXP);
    8923            0 :                       if (res) return res;
    8924              :                     }
    8925              :                   }
    8926              :                 break;
    8927              :               default:;
    8928              :               }
    8929              :             break;
    8930              :           default:;
    8931              :           }
    8932              :         break;
    8933              :       }
    8934      2501775 :     case CALL_EXPR:
    8935      2501775 :       switch (get_call_combined_fn (_p0))
    8936              :         {
    8937           55 :         case CFN_BUILT_IN_SQRTF:
    8938           55 :           if (call_expr_nargs (_p0) == 1)
    8939              :     {
    8940           55 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8941           55 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8942              :                 {
    8943            0 :                   {
    8944            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    8945            0 :                     tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF);
    8946            0 :                     if (res) return res;
    8947              :                   }
    8948              :                 }
    8949           55 :               switch (TREE_CODE (_p1))
    8950              :                 {
    8951           13 :                 case CALL_EXPR:
    8952           13 :                   switch (get_call_combined_fn (_p1))
    8953              :                     {
    8954           13 :                     case CFN_BUILT_IN_SQRTF:
    8955           13 :                       if (call_expr_nargs (_p1) == 1)
    8956              :     {
    8957           13 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8958           13 :                           {
    8959           13 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8960           13 :                             if (flag_unsafe_math_optimizations
    8961              : )
    8962              :                               {
    8963           13 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1455;
    8964           13 :                                 {
    8965           13 :                                   tree res_op0;
    8966           13 :                                   {
    8967           13 :                                     tree _o1[2], _r1;
    8968           13 :                                     _o1[0] = captures[1];
    8969           13 :                                     _o1[1] = captures[3];
    8970           13 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8971           13 :                                     res_op0 = _r1;
    8972              :                                   }
    8973           13 :                                   tree _r;
    8974           13 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTF, type, 1, res_op0);
    8975           13 :                                   if (!_r)
    8976            0 :                                     goto next_after_fail1455;
    8977           13 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 989, __FILE__, __LINE__, true);
    8978           13 :                                   return _r;
    8979              :                                 }
    8980            0 : next_after_fail1455:;
    8981              :                               }
    8982              :                           }
    8983              :                         }
    8984              :                       break;
    8985              :                     default:;
    8986              :                     }
    8987              :                   break;
    8988              :                 default:;
    8989              :                 }
    8990              :             }
    8991              :           break;
    8992           48 :         case CFN_BUILT_IN_SQRTL:
    8993           48 :           if (call_expr_nargs (_p0) == 1)
    8994              :     {
    8995           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8996           48 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8997              :                 {
    8998            0 :                   {
    8999            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    9000            0 :                     tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL);
    9001            0 :                     if (res) return res;
    9002              :                   }
    9003              :                 }
    9004           48 :               switch (TREE_CODE (_p1))
    9005              :                 {
    9006           13 :                 case CALL_EXPR:
    9007           13 :                   switch (get_call_combined_fn (_p1))
    9008              :                     {
    9009           13 :                     case CFN_BUILT_IN_SQRTL:
    9010           13 :                       if (call_expr_nargs (_p1) == 1)
    9011              :     {
    9012           13 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9013           13 :                           {
    9014           13 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9015           13 :                             if (flag_unsafe_math_optimizations
    9016              : )
    9017              :                               {
    9018           13 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1456;
    9019           13 :                                 {
    9020           13 :                                   tree res_op0;
    9021           13 :                                   {
    9022           13 :                                     tree _o1[2], _r1;
    9023           13 :                                     _o1[0] = captures[1];
    9024           13 :                                     _o1[1] = captures[3];
    9025           13 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9026           13 :                                     res_op0 = _r1;
    9027              :                                   }
    9028           13 :                                   tree _r;
    9029           13 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTL, type, 1, res_op0);
    9030           13 :                                   if (!_r)
    9031            0 :                                     goto next_after_fail1456;
    9032           13 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 989, __FILE__, __LINE__, true);
    9033           13 :                                   return _r;
    9034              :                                 }
    9035            0 : next_after_fail1456:;
    9036              :                               }
    9037              :                           }
    9038              :                         }
    9039              :                       break;
    9040              :                     default:;
    9041              :                     }
    9042              :                   break;
    9043              :                 default:;
    9044              :                 }
    9045              :             }
    9046              :           break;
    9047          287 :         case CFN_BUILT_IN_EXP:
    9048          287 :           if (call_expr_nargs (_p0) == 1)
    9049              :     {
    9050          287 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9051          287 :               switch (TREE_CODE (_p1))
    9052              :                 {
    9053           81 :                 case CALL_EXPR:
    9054           81 :                   switch (get_call_combined_fn (_p1))
    9055              :                     {
    9056           31 :                     case CFN_BUILT_IN_EXP:
    9057           31 :                       if (call_expr_nargs (_p1) == 1)
    9058              :     {
    9059           31 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9060           31 :                           {
    9061           31 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9062           31 :                             if (flag_unsafe_math_optimizations
    9063              : )
    9064              :                               {
    9065           27 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1457;
    9066           27 :                                 {
    9067           27 :                                   tree res_op0;
    9068           27 :                                   {
    9069           27 :                                     tree _o1[2], _r1;
    9070           27 :                                     _o1[0] = captures[1];
    9071           27 :                                     _o1[1] = captures[3];
    9072           27 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9073           27 :                                     res_op0 = _r1;
    9074              :                                   }
    9075           27 :                                   tree _r;
    9076           27 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, type, 1, res_op0);
    9077           27 :                                   if (!_r)
    9078            0 :                                     goto next_after_fail1457;
    9079           27 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
    9080           27 :                                   return _r;
    9081              :                                 }
    9082            4 : next_after_fail1457:;
    9083              :                               }
    9084              :                           }
    9085              :                         }
    9086              :                       break;
    9087            0 :                     case CFN_BUILT_IN_POW:
    9088            0 :                       if (call_expr_nargs (_p1) == 2)
    9089              :     {
    9090            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9091            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9092            0 :                           switch (TREE_CODE (_q40))
    9093              :                             {
    9094            0 :                             case REAL_CST:
    9095            0 :                               {
    9096            0 :                                 {
    9097            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    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_fail1458;
    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_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9116            0 :                                                   if (!_r3)
    9117            0 :                                                     goto next_after_fail1458;
    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_EXP, type, 1, res_op0);
    9130            0 :                                             if (!_r)
    9131            0 :                                               goto next_after_fail1458;
    9132            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
    9133            0 :                                             return _r;
    9134              :                                           }
    9135            0 : next_after_fail1458:;
    9136              :                                         }
    9137              :                                     }
    9138              :                                 }
    9139            0 :                                 break;
    9140              :                               }
    9141              :                             default:;
    9142              :                             }
    9143              :                         }
    9144              :                       break;
    9145              :                     default:;
    9146              :                     }
    9147              :                   break;
    9148              :                 default:;
    9149              :                 }
    9150              :             }
    9151              :           break;
    9152          123 :         case CFN_BUILT_IN_POW:
    9153          123 :           if (call_expr_nargs (_p0) == 2)
    9154              :     {
    9155          123 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9156          123 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    9157          123 :               switch (TREE_CODE (_q20))
    9158              :                 {
    9159            1 :                 case REAL_CST:
    9160            1 :                   {
    9161            1 :                     switch (TREE_CODE (_p1))
    9162              :                       {
    9163            1 :                       case CALL_EXPR:
    9164            1 :                         switch (get_call_combined_fn (_p1))
    9165              :                           {
    9166            0 :                           case CFN_BUILT_IN_EXP:
    9167            0 :                             if (call_expr_nargs (_p1) == 1)
    9168              :     {
    9169            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9170            0 :                                 {
    9171            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9172            0 :                                   if (flag_unsafe_math_optimizations
    9173              : )
    9174              :                                     {
    9175            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9176            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9177              : )
    9178              :                                         {
    9179            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1459;
    9180            0 :                                           {
    9181            0 :                                             tree res_op0;
    9182            0 :                                             {
    9183            0 :                                               tree _o1[2], _r1;
    9184            0 :                                               {
    9185            0 :                                                 tree _o2[2], _r2;
    9186            0 :                                                 {
    9187            0 :                                                   tree _o3[1], _r3;
    9188            0 :                                                   _o3[0] = captures[1];
    9189            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9190            0 :                                                   if (!_r3)
    9191            0 :                                                     goto next_after_fail1459;
    9192            0 :                                                   _o2[0] = _r3;
    9193              :                                                 }
    9194            0 :                                                 _o2[1] = captures[2];
    9195            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9196            0 :                                                 _o1[0] = _r2;
    9197              :                                               }
    9198            0 :                                               _o1[1] = captures[4];
    9199            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9200            0 :                                               res_op0 = _r1;
    9201              :                                             }
    9202            0 :                                             tree _r;
    9203            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, type, 1, res_op0);
    9204            0 :                                             if (!_r)
    9205            0 :                                               goto next_after_fail1459;
    9206            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
    9207            0 :                                             return _r;
    9208              :                                           }
    9209            0 : next_after_fail1459:;
    9210              :                                         }
    9211              :                                     }
    9212              :                                 }
    9213              :                               }
    9214              :                             break;
    9215            0 :                           case CFN_BUILT_IN_EXP2:
    9216            0 :                             if (call_expr_nargs (_p1) == 1)
    9217              :     {
    9218            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9219            0 :                                 {
    9220            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9221            0 :                                   if (flag_unsafe_math_optimizations
    9222              : )
    9223              :                                     {
    9224            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9225            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9226              : )
    9227              :                                         {
    9228            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1460;
    9229            0 :                                           {
    9230            0 :                                             tree res_op0;
    9231            0 :                                             {
    9232            0 :                                               tree _o1[2], _r1;
    9233            0 :                                               {
    9234            0 :                                                 tree _o2[2], _r2;
    9235            0 :                                                 {
    9236            0 :                                                   tree _o3[1], _r3;
    9237            0 :                                                   _o3[0] = captures[1];
    9238            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9239            0 :                                                   if (!_r3)
    9240            0 :                                                     goto next_after_fail1460;
    9241            0 :                                                   _o2[0] = _r3;
    9242              :                                                 }
    9243            0 :                                                 _o2[1] = captures[2];
    9244            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9245            0 :                                                 _o1[0] = _r2;
    9246              :                                               }
    9247            0 :                                               _o1[1] = captures[4];
    9248            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9249            0 :                                               res_op0 = _r1;
    9250              :                                             }
    9251            0 :                                             tree _r;
    9252            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, type, 1, res_op0);
    9253            0 :                                             if (!_r)
    9254            0 :                                               goto next_after_fail1460;
    9255            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
    9256            0 :                                             return _r;
    9257              :                                           }
    9258            0 : next_after_fail1460:;
    9259              :                                         }
    9260              :                                     }
    9261              :                                 }
    9262              :                               }
    9263              :                             break;
    9264            0 :                           case CFN_BUILT_IN_EXP10:
    9265            0 :                             if (call_expr_nargs (_p1) == 1)
    9266              :     {
    9267            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9268            0 :                                 {
    9269            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9270            0 :                                   if (flag_unsafe_math_optimizations
    9271              : )
    9272              :                                     {
    9273            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9274            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9275              : )
    9276              :                                         {
    9277            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1461;
    9278            0 :                                           {
    9279            0 :                                             tree res_op0;
    9280            0 :                                             {
    9281            0 :                                               tree _o1[2], _r1;
    9282            0 :                                               {
    9283            0 :                                                 tree _o2[2], _r2;
    9284            0 :                                                 {
    9285            0 :                                                   tree _o3[1], _r3;
    9286            0 :                                                   _o3[0] = captures[1];
    9287            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9288            0 :                                                   if (!_r3)
    9289            0 :                                                     goto next_after_fail1461;
    9290            0 :                                                   _o2[0] = _r3;
    9291              :                                                 }
    9292            0 :                                                 _o2[1] = captures[2];
    9293            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9294            0 :                                                 _o1[0] = _r2;
    9295              :                                               }
    9296            0 :                                               _o1[1] = captures[4];
    9297            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9298            0 :                                               res_op0 = _r1;
    9299              :                                             }
    9300            0 :                                             tree _r;
    9301            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, type, 1, res_op0);
    9302            0 :                                             if (!_r)
    9303            0 :                                               goto next_after_fail1461;
    9304            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
    9305            0 :                                             return _r;
    9306              :                                           }
    9307            0 : next_after_fail1461:;
    9308              :                                         }
    9309              :                                     }
    9310              :                                 }
    9311              :                               }
    9312              :                             break;
    9313            0 :                           case CFN_BUILT_IN_POW10:
    9314            0 :                             if (call_expr_nargs (_p1) == 1)
    9315              :     {
    9316            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9317            0 :                                 {
    9318            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9319            0 :                                   if (flag_unsafe_math_optimizations
    9320              : )
    9321              :                                     {
    9322            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9323            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9324              : )
    9325              :                                         {
    9326            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1462;
    9327            0 :                                           {
    9328            0 :                                             tree res_op0;
    9329            0 :                                             {
    9330            0 :                                               tree _o1[2], _r1;
    9331            0 :                                               {
    9332            0 :                                                 tree _o2[2], _r2;
    9333            0 :                                                 {
    9334            0 :                                                   tree _o3[1], _r3;
    9335            0 :                                                   _o3[0] = captures[1];
    9336            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9337            0 :                                                   if (!_r3)
    9338            0 :                                                     goto next_after_fail1462;
    9339            0 :                                                   _o2[0] = _r3;
    9340              :                                                 }
    9341            0 :                                                 _o2[1] = captures[2];
    9342            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9343            0 :                                                 _o1[0] = _r2;
    9344              :                                               }
    9345            0 :                                               _o1[1] = captures[4];
    9346            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9347            0 :                                               res_op0 = _r1;
    9348              :                                             }
    9349            0 :                                             tree _r;
    9350            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, type, 1, res_op0);
    9351            0 :                                             if (!_r)
    9352            0 :                                               goto next_after_fail1462;
    9353            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
    9354            0 :                                             return _r;
    9355              :                                           }
    9356            0 : next_after_fail1462:;
    9357              :                                         }
    9358              :                                     }
    9359              :                                 }
    9360              :                               }
    9361              :                             break;
    9362              :                           default:;
    9363              :                           }
    9364              :                         break;
    9365              :                       default:;
    9366              :                       }
    9367              :                     break;
    9368              :                   }
    9369          123 :                 default:;
    9370              :                 }
    9371          123 :               switch (TREE_CODE (_q21))
    9372              :                 {
    9373           12 :                 case REAL_CST:
    9374           12 :                   {
    9375           12 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9376              :                       {
    9377            8 :                         {
    9378            8 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    9379            8 :                           tree res = generic_simplify_203 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
    9380            8 :                           if (res) return res;
    9381              :                         }
    9382              :                       }
    9383              :                     break;
    9384              :                   }
    9385              :                 default:;
    9386              :                 }
    9387              :             }
    9388              :           break;
    9389           48 :         case CFN_BUILT_IN_EXP10F:
    9390           48 :           if (call_expr_nargs (_p0) == 1)
    9391              :     {
    9392           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9393           48 :               switch (TREE_CODE (_p1))
    9394              :                 {
    9395           24 :                 case CALL_EXPR:
    9396           24 :                   switch (get_call_combined_fn (_p1))
    9397              :                     {
    9398           24 :                     case CFN_BUILT_IN_EXP10F:
    9399           24 :                       if (call_expr_nargs (_p1) == 1)
    9400              :     {
    9401           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9402           24 :                           {
    9403           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9404           24 :                             if (flag_unsafe_math_optimizations
    9405              : )
    9406              :                               {
    9407           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1463;
    9408           24 :                                 {
    9409           24 :                                   tree res_op0;
    9410           24 :                                   {
    9411           24 :                                     tree _o1[2], _r1;
    9412           24 :                                     _o1[0] = captures[1];
    9413           24 :                                     _o1[1] = captures[3];
    9414           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9415           24 :                                     res_op0 = _r1;
    9416              :                                   }
    9417           24 :                                   tree _r;
    9418           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, type, 1, res_op0);
    9419           24 :                                   if (!_r)
    9420            0 :                                     goto next_after_fail1463;
    9421           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
    9422           24 :                                   return _r;
    9423              :                                 }
    9424            0 : next_after_fail1463:;
    9425              :                               }
    9426              :                           }
    9427              :                         }
    9428              :                       break;
    9429            0 :                     case CFN_BUILT_IN_POWF:
    9430            0 :                       if (call_expr_nargs (_p1) == 2)
    9431              :     {
    9432            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9433            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9434            0 :                           switch (TREE_CODE (_q40))
    9435              :                             {
    9436            0 :                             case REAL_CST:
    9437            0 :                               {
    9438            0 :                                 {
    9439            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9440            0 :                                   if (flag_unsafe_math_optimizations
    9441              : )
    9442              :                                     {
    9443            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9444            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9445              : )
    9446              :                                         {
    9447            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1464;
    9448            0 :                                           {
    9449            0 :                                             tree res_op0;
    9450            0 :                                             {
    9451            0 :                                               tree _o1[2], _r1;
    9452            0 :                                               {
    9453            0 :                                                 tree _o2[2], _r2;
    9454            0 :                                                 {
    9455            0 :                                                   tree _o3[1], _r3;
    9456            0 :                                                   _o3[0] = captures[1];
    9457            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9458            0 :                                                   if (!_r3)
    9459            0 :                                                     goto next_after_fail1464;
    9460            0 :                                                   _o2[0] = _r3;
    9461              :                                                 }
    9462            0 :                                                 _o2[1] = captures[2];
    9463            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9464            0 :                                                 _o1[0] = _r2;
    9465              :                                               }
    9466            0 :                                               _o1[1] = captures[4];
    9467            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9468            0 :                                               res_op0 = _r1;
    9469              :                                             }
    9470            0 :                                             tree _r;
    9471            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, type, 1, res_op0);
    9472            0 :                                             if (!_r)
    9473            0 :                                               goto next_after_fail1464;
    9474            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
    9475            0 :                                             return _r;
    9476              :                                           }
    9477            0 : next_after_fail1464:;
    9478              :                                         }
    9479              :                                     }
    9480              :                                 }
    9481            0 :                                 break;
    9482              :                               }
    9483              :                             default:;
    9484              :                             }
    9485              :                         }
    9486              :                       break;
    9487              :                     default:;
    9488              :                     }
    9489              :                   break;
    9490              :                 default:;
    9491              :                 }
    9492              :             }
    9493              :           break;
    9494           48 :         case CFN_BUILT_IN_EXP10L:
    9495           48 :           if (call_expr_nargs (_p0) == 1)
    9496              :     {
    9497           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9498           48 :               switch (TREE_CODE (_p1))
    9499              :                 {
    9500           24 :                 case CALL_EXPR:
    9501           24 :                   switch (get_call_combined_fn (_p1))
    9502              :                     {
    9503           24 :                     case CFN_BUILT_IN_EXP10L:
    9504           24 :                       if (call_expr_nargs (_p1) == 1)
    9505              :     {
    9506           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9507           24 :                           {
    9508           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9509           24 :                             if (flag_unsafe_math_optimizations
    9510              : )
    9511              :                               {
    9512           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1465;
    9513           24 :                                 {
    9514           24 :                                   tree res_op0;
    9515           24 :                                   {
    9516           24 :                                     tree _o1[2], _r1;
    9517           24 :                                     _o1[0] = captures[1];
    9518           24 :                                     _o1[1] = captures[3];
    9519           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9520           24 :                                     res_op0 = _r1;
    9521              :                                   }
    9522           24 :                                   tree _r;
    9523           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, type, 1, res_op0);
    9524           24 :                                   if (!_r)
    9525            0 :                                     goto next_after_fail1465;
    9526           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
    9527           24 :                                   return _r;
    9528              :                                 }
    9529            0 : next_after_fail1465:;
    9530              :                               }
    9531              :                           }
    9532              :                         }
    9533              :                       break;
    9534            0 :                     case CFN_BUILT_IN_POWL:
    9535            0 :                       if (call_expr_nargs (_p1) == 2)
    9536              :     {
    9537            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9538            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9539            0 :                           switch (TREE_CODE (_q40))
    9540              :                             {
    9541            0 :                             case REAL_CST:
    9542            0 :                               {
    9543            0 :                                 {
    9544            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9545            0 :                                   if (flag_unsafe_math_optimizations
    9546              : )
    9547              :                                     {
    9548            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9549            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9550              : )
    9551              :                                         {
    9552            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1466;
    9553            0 :                                           {
    9554            0 :                                             tree res_op0;
    9555            0 :                                             {
    9556            0 :                                               tree _o1[2], _r1;
    9557            0 :                                               {
    9558            0 :                                                 tree _o2[2], _r2;
    9559            0 :                                                 {
    9560            0 :                                                   tree _o3[1], _r3;
    9561            0 :                                                   _o3[0] = captures[1];
    9562            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9563            0 :                                                   if (!_r3)
    9564            0 :                                                     goto next_after_fail1466;
    9565            0 :                                                   _o2[0] = _r3;
    9566              :                                                 }
    9567            0 :                                                 _o2[1] = captures[2];
    9568            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9569            0 :                                                 _o1[0] = _r2;
    9570              :                                               }
    9571            0 :                                               _o1[1] = captures[4];
    9572            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9573            0 :                                               res_op0 = _r1;
    9574              :                                             }
    9575            0 :                                             tree _r;
    9576            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, type, 1, res_op0);
    9577            0 :                                             if (!_r)
    9578            0 :                                               goto next_after_fail1466;
    9579            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
    9580            0 :                                             return _r;
    9581              :                                           }
    9582            0 : next_after_fail1466:;
    9583              :                                         }
    9584              :                                     }
    9585              :                                 }
    9586            0 :                                 break;
    9587              :                               }
    9588              :                             default:;
    9589              :                             }
    9590              :                         }
    9591              :                       break;
    9592              :                     default:;
    9593              :                     }
    9594              :                   break;
    9595              :                 default:;
    9596              :                 }
    9597              :             }
    9598              :           break;
    9599           18 :         case CFN_BUILT_IN_CBRT:
    9600           18 :           if (call_expr_nargs (_p0) == 1)
    9601              :     {
    9602           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9603           18 :               switch (TREE_CODE (_p1))
    9604              :                 {
    9605           14 :                 case CALL_EXPR:
    9606           14 :                   switch (get_call_combined_fn (_p1))
    9607              :                     {
    9608           14 :                     case CFN_BUILT_IN_CBRT:
    9609           14 :                       if (call_expr_nargs (_p1) == 1)
    9610              :     {
    9611           14 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9612           14 :                           {
    9613           14 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9614           14 :                             if (flag_unsafe_math_optimizations
    9615              : )
    9616              :                               {
    9617           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1467;
    9618           12 :                                 {
    9619           12 :                                   tree res_op0;
    9620           12 :                                   {
    9621           12 :                                     tree _o1[2], _r1;
    9622           12 :                                     _o1[0] = captures[1];
    9623           12 :                                     _o1[1] = captures[3];
    9624           12 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9625           12 :                                     res_op0 = _r1;
    9626              :                                   }
    9627           12 :                                   tree _r;
    9628           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRT, type, 1, res_op0);
    9629           12 :                                   if (!_r)
    9630            0 :                                     goto next_after_fail1467;
    9631           12 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 989, __FILE__, __LINE__, true);
    9632           12 :                                   return _r;
    9633              :                                 }
    9634            2 : next_after_fail1467:;
    9635              :                               }
    9636              :                           }
    9637              :                         }
    9638              :                       break;
    9639              :                     default:;
    9640              :                     }
    9641              :                   break;
    9642              :                 default:;
    9643              :                 }
    9644              :             }
    9645              :           break;
    9646           48 :         case CFN_BUILT_IN_EXP2:
    9647           48 :           if (call_expr_nargs (_p0) == 1)
    9648              :     {
    9649           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9650           48 :               switch (TREE_CODE (_p1))
    9651              :                 {
    9652           24 :                 case CALL_EXPR:
    9653           24 :                   switch (get_call_combined_fn (_p1))
    9654              :                     {
    9655            0 :                     case CFN_BUILT_IN_POW:
    9656            0 :                       if (call_expr_nargs (_p1) == 2)
    9657              :     {
    9658            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9659            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9660            0 :                           switch (TREE_CODE (_q40))
    9661              :                             {
    9662            0 :                             case REAL_CST:
    9663            0 :                               {
    9664            0 :                                 {
    9665            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9666            0 :                                   if (flag_unsafe_math_optimizations
    9667              : )
    9668              :                                     {
    9669            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9670            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9671              : )
    9672              :                                         {
    9673            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1468;
    9674            0 :                                           {
    9675            0 :                                             tree res_op0;
    9676            0 :                                             {
    9677            0 :                                               tree _o1[2], _r1;
    9678            0 :                                               {
    9679            0 :                                                 tree _o2[2], _r2;
    9680            0 :                                                 {
    9681            0 :                                                   tree _o3[1], _r3;
    9682            0 :                                                   _o3[0] = captures[1];
    9683            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9684            0 :                                                   if (!_r3)
    9685            0 :                                                     goto next_after_fail1468;
    9686            0 :                                                   _o2[0] = _r3;
    9687              :                                                 }
    9688            0 :                                                 _o2[1] = captures[2];
    9689            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9690            0 :                                                 _o1[0] = _r2;
    9691              :                                               }
    9692            0 :                                               _o1[1] = captures[4];
    9693            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9694            0 :                                               res_op0 = _r1;
    9695              :                                             }
    9696            0 :                                             tree _r;
    9697            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, type, 1, res_op0);
    9698            0 :                                             if (!_r)
    9699            0 :                                               goto next_after_fail1468;
    9700            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
    9701            0 :                                             return _r;
    9702              :                                           }
    9703            0 : next_after_fail1468:;
    9704              :                                         }
    9705              :                                     }
    9706              :                                 }
    9707            0 :                                 break;
    9708              :                               }
    9709              :                             default:;
    9710              :                             }
    9711              :                         }
    9712              :                       break;
    9713           24 :                     case CFN_BUILT_IN_EXP2:
    9714           24 :                       if (call_expr_nargs (_p1) == 1)
    9715              :     {
    9716           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9717           24 :                           {
    9718           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9719           24 :                             if (flag_unsafe_math_optimizations
    9720              : )
    9721              :                               {
    9722           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1469;
    9723           24 :                                 {
    9724           24 :                                   tree res_op0;
    9725           24 :                                   {
    9726           24 :                                     tree _o1[2], _r1;
    9727           24 :                                     _o1[0] = captures[1];
    9728           24 :                                     _o1[1] = captures[3];
    9729           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9730           24 :                                     res_op0 = _r1;
    9731              :                                   }
    9732           24 :                                   tree _r;
    9733           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, type, 1, res_op0);
    9734           24 :                                   if (!_r)
    9735            0 :                                     goto next_after_fail1469;
    9736           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
    9737           24 :                                   return _r;
    9738              :                                 }
    9739            0 : next_after_fail1469:;
    9740              :                               }
    9741              :                           }
    9742              :                         }
    9743              :                       break;
    9744              :                     default:;
    9745              :                     }
    9746              :                   break;
    9747              :                 default:;
    9748              :                 }
    9749              :             }
    9750              :           break;
    9751           66 :         case CFN_BUILT_IN_EXPF:
    9752           66 :           if (call_expr_nargs (_p0) == 1)
    9753              :     {
    9754           66 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9755           66 :               switch (TREE_CODE (_p1))
    9756              :                 {
    9757           36 :                 case CALL_EXPR:
    9758           36 :                   switch (get_call_combined_fn (_p1))
    9759              :                     {
    9760           29 :                     case CFN_BUILT_IN_EXPF:
    9761           29 :                       if (call_expr_nargs (_p1) == 1)
    9762              :     {
    9763           29 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9764           29 :                           {
    9765           29 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9766           29 :                             if (flag_unsafe_math_optimizations
    9767              : )
    9768              :                               {
    9769           25 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1470;
    9770           25 :                                 {
    9771           25 :                                   tree res_op0;
    9772           25 :                                   {
    9773           25 :                                     tree _o1[2], _r1;
    9774           25 :                                     _o1[0] = captures[1];
    9775           25 :                                     _o1[1] = captures[3];
    9776           25 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9777           25 :                                     res_op0 = _r1;
    9778              :                                   }
    9779           25 :                                   tree _r;
    9780           25 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, type, 1, res_op0);
    9781           25 :                                   if (!_r)
    9782            0 :                                     goto next_after_fail1470;
    9783           25 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
    9784           25 :                                   return _r;
    9785              :                                 }
    9786            4 : next_after_fail1470:;
    9787              :                               }
    9788              :                           }
    9789              :                         }
    9790              :                       break;
    9791            0 :                     case CFN_BUILT_IN_POWF:
    9792            0 :                       if (call_expr_nargs (_p1) == 2)
    9793              :     {
    9794            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9795            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9796            0 :                           switch (TREE_CODE (_q40))
    9797              :                             {
    9798            0 :                             case REAL_CST:
    9799            0 :                               {
    9800            0 :                                 {
    9801            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9802            0 :                                   if (flag_unsafe_math_optimizations
    9803              : )
    9804              :                                     {
    9805            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9806            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9807              : )
    9808              :                                         {
    9809            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1471;
    9810            0 :                                           {
    9811            0 :                                             tree res_op0;
    9812            0 :                                             {
    9813            0 :                                               tree _o1[2], _r1;
    9814            0 :                                               {
    9815            0 :                                                 tree _o2[2], _r2;
    9816            0 :                                                 {
    9817            0 :                                                   tree _o3[1], _r3;
    9818            0 :                                                   _o3[0] = captures[1];
    9819            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOGF, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9820            0 :                                                   if (!_r3)
    9821            0 :                                                     goto next_after_fail1471;
    9822            0 :                                                   _o2[0] = _r3;
    9823              :                                                 }
    9824            0 :                                                 _o2[1] = captures[2];
    9825            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9826            0 :                                                 _o1[0] = _r2;
    9827              :                                               }
    9828            0 :                                               _o1[1] = captures[4];
    9829            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9830            0 :                                               res_op0 = _r1;
    9831              :                                             }
    9832            0 :                                             tree _r;
    9833            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, type, 1, res_op0);
    9834            0 :                                             if (!_r)
    9835            0 :                                               goto next_after_fail1471;
    9836            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
    9837            0 :                                             return _r;
    9838              :                                           }
    9839            0 : next_after_fail1471:;
    9840              :                                         }
    9841              :                                     }
    9842              :                                 }
    9843            0 :                                 break;
    9844              :                               }
    9845              :                             default:;
    9846              :                             }
    9847              :                         }
    9848              :                       break;
    9849              :                     default:;
    9850              :                     }
    9851              :                   break;
    9852              :                 default:;
    9853              :                 }
    9854              :             }
    9855              :           break;
    9856           59 :         case CFN_BUILT_IN_EXPL:
    9857           59 :           if (call_expr_nargs (_p0) == 1)
    9858              :     {
    9859           59 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9860           59 :               switch (TREE_CODE (_p1))
    9861              :                 {
    9862           29 :                 case CALL_EXPR:
    9863           29 :                   switch (get_call_combined_fn (_p1))
    9864              :                     {
    9865           29 :                     case CFN_BUILT_IN_EXPL:
    9866           29 :                       if (call_expr_nargs (_p1) == 1)
    9867              :     {
    9868           29 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9869           29 :                           {
    9870           29 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9871           29 :                             if (flag_unsafe_math_optimizations
    9872              : )
    9873              :                               {
    9874           25 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1472;
    9875           25 :                                 {
    9876           25 :                                   tree res_op0;
    9877           25 :                                   {
    9878           25 :                                     tree _o1[2], _r1;
    9879           25 :                                     _o1[0] = captures[1];
    9880           25 :                                     _o1[1] = captures[3];
    9881           25 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9882           25 :                                     res_op0 = _r1;
    9883              :                                   }
    9884           25 :                                   tree _r;
    9885           25 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, type, 1, res_op0);
    9886           25 :                                   if (!_r)
    9887            0 :                                     goto next_after_fail1472;
    9888           25 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
    9889           25 :                                   return _r;
    9890              :                                 }
    9891            4 : next_after_fail1472:;
    9892              :                               }
    9893              :                           }
    9894              :                         }
    9895              :                       break;
    9896            0 :                     case CFN_BUILT_IN_POWL:
    9897            0 :                       if (call_expr_nargs (_p1) == 2)
    9898              :     {
    9899            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9900            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9901            0 :                           switch (TREE_CODE (_q40))
    9902              :                             {
    9903            0 :                             case REAL_CST:
    9904            0 :                               {
    9905            0 :                                 {
    9906            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    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_fail1473;
    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_LOGL, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9925            0 :                                                   if (!_r3)
    9926            0 :                                                     goto next_after_fail1473;
    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_EXPL, type, 1, res_op0);
    9939            0 :                                             if (!_r)
    9940            0 :                                               goto next_after_fail1473;
    9941            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
    9942            0 :                                             return _r;
    9943              :                                           }
    9944            0 : next_after_fail1473:;
    9945              :                                         }
    9946              :                                     }
    9947              :                                 }
    9948            0 :                                 break;
    9949              :                               }
    9950              :                             default:;
    9951              :                             }
    9952              :                         }
    9953              :                       break;
    9954              :                     default:;
    9955              :                     }
    9956              :                   break;
    9957              :                 default:;
    9958              :                 }
    9959              :             }
    9960              :           break;
    9961           19 :         case CFN_BUILT_IN_POWF:
    9962           19 :           if (call_expr_nargs (_p0) == 2)
    9963              :     {
    9964           19 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9965           19 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    9966           19 :               switch (TREE_CODE (_q20))
    9967              :                 {
    9968            0 :                 case REAL_CST:
    9969            0 :                   {
    9970            0 :                     switch (TREE_CODE (_p1))
    9971              :                       {
    9972            0 :                       case CALL_EXPR:
    9973            0 :                         switch (get_call_combined_fn (_p1))
    9974              :                           {
    9975            0 :                           case CFN_BUILT_IN_EXP10F:
    9976            0 :                             if (call_expr_nargs (_p1) == 1)
    9977              :     {
    9978            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9979            0 :                                 {
    9980            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9981            0 :                                   if (flag_unsafe_math_optimizations
    9982              : )
    9983              :                                     {
    9984            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9985            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9986              : )
    9987              :                                         {
    9988            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1474;
    9989            0 :                                           {
    9990            0 :                                             tree res_op0;
    9991            0 :                                             {
    9992            0 :                                               tree _o1[2], _r1;
    9993            0 :                                               {
    9994            0 :                                                 tree _o2[2], _r2;
    9995            0 :                                                 {
    9996            0 :                                                   tree _o3[1], _r3;
    9997            0 :                                                   _o3[0] = captures[1];
    9998            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9999            0 :                                                   if (!_r3)
   10000            0 :                                                     goto next_after_fail1474;
   10001            0 :                                                   _o2[0] = _r3;
   10002              :                                                 }
   10003            0 :                                                 _o2[1] = captures[2];
   10004            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10005            0 :                                                 _o1[0] = _r2;
   10006              :                                               }
   10007            0 :                                               _o1[1] = captures[4];
   10008            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10009            0 :                                               res_op0 = _r1;
   10010              :                                             }
   10011            0 :                                             tree _r;
   10012            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, type, 1, res_op0);
   10013            0 :                                             if (!_r)
   10014            0 :                                               goto next_after_fail1474;
   10015            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   10016            0 :                                             return _r;
   10017              :                                           }
   10018            0 : next_after_fail1474:;
   10019              :                                         }
   10020              :                                     }
   10021              :                                 }
   10022              :                               }
   10023              :                             break;
   10024            0 :                           case CFN_BUILT_IN_EXPF:
   10025            0 :                             if (call_expr_nargs (_p1) == 1)
   10026              :     {
   10027            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10028            0 :                                 {
   10029            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10030            0 :                                   if (flag_unsafe_math_optimizations
   10031              : )
   10032              :                                     {
   10033            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10034            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10035              : )
   10036              :                                         {
   10037            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1475;
   10038            0 :                                           {
   10039            0 :                                             tree res_op0;
   10040            0 :                                             {
   10041            0 :                                               tree _o1[2], _r1;
   10042            0 :                                               {
   10043            0 :                                                 tree _o2[2], _r2;
   10044            0 :                                                 {
   10045            0 :                                                   tree _o3[1], _r3;
   10046            0 :                                                   _o3[0] = captures[1];
   10047            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOGF, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10048            0 :                                                   if (!_r3)
   10049            0 :                                                     goto next_after_fail1475;
   10050            0 :                                                   _o2[0] = _r3;
   10051              :                                                 }
   10052            0 :                                                 _o2[1] = captures[2];
   10053            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10054            0 :                                                 _o1[0] = _r2;
   10055              :                                               }
   10056            0 :                                               _o1[1] = captures[4];
   10057            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10058            0 :                                               res_op0 = _r1;
   10059              :                                             }
   10060            0 :                                             tree _r;
   10061            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, type, 1, res_op0);
   10062            0 :                                             if (!_r)
   10063            0 :                                               goto next_after_fail1475;
   10064            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   10065            0 :                                             return _r;
   10066              :                                           }
   10067            0 : next_after_fail1475:;
   10068              :                                         }
   10069              :                                     }
   10070              :                                 }
   10071              :                               }
   10072              :                             break;
   10073            0 :                           case CFN_BUILT_IN_POW10F:
   10074            0 :                             if (call_expr_nargs (_p1) == 1)
   10075              :     {
   10076            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10077            0 :                                 {
   10078            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10079            0 :                                   if (flag_unsafe_math_optimizations
   10080              : )
   10081              :                                     {
   10082            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10083            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10084              : )
   10085              :                                         {
   10086            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1476;
   10087            0 :                                           {
   10088            0 :                                             tree res_op0;
   10089            0 :                                             {
   10090            0 :                                               tree _o1[2], _r1;
   10091            0 :                                               {
   10092            0 :                                                 tree _o2[2], _r2;
   10093            0 :                                                 {
   10094            0 :                                                   tree _o3[1], _r3;
   10095            0 :                                                   _o3[0] = captures[1];
   10096            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10097            0 :                                                   if (!_r3)
   10098            0 :                                                     goto next_after_fail1476;
   10099            0 :                                                   _o2[0] = _r3;
   10100              :                                                 }
   10101            0 :                                                 _o2[1] = captures[2];
   10102            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10103            0 :                                                 _o1[0] = _r2;
   10104              :                                               }
   10105            0 :                                               _o1[1] = captures[4];
   10106            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10107            0 :                                               res_op0 = _r1;
   10108              :                                             }
   10109            0 :                                             tree _r;
   10110            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, type, 1, res_op0);
   10111            0 :                                             if (!_r)
   10112            0 :                                               goto next_after_fail1476;
   10113            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   10114            0 :                                             return _r;
   10115              :                                           }
   10116            0 : next_after_fail1476:;
   10117              :                                         }
   10118              :                                     }
   10119              :                                 }
   10120              :                               }
   10121              :                             break;
   10122            0 :                           case CFN_BUILT_IN_EXP2F:
   10123            0 :                             if (call_expr_nargs (_p1) == 1)
   10124              :     {
   10125            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10126            0 :                                 {
   10127            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10128            0 :                                   if (flag_unsafe_math_optimizations
   10129              : )
   10130              :                                     {
   10131            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10132            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10133              : )
   10134              :                                         {
   10135            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1477;
   10136            0 :                                           {
   10137            0 :                                             tree res_op0;
   10138            0 :                                             {
   10139            0 :                                               tree _o1[2], _r1;
   10140            0 :                                               {
   10141            0 :                                                 tree _o2[2], _r2;
   10142            0 :                                                 {
   10143            0 :                                                   tree _o3[1], _r3;
   10144            0 :                                                   _o3[0] = captures[1];
   10145            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2F, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10146            0 :                                                   if (!_r3)
   10147            0 :                                                     goto next_after_fail1477;
   10148            0 :                                                   _o2[0] = _r3;
   10149              :                                                 }
   10150            0 :                                                 _o2[1] = captures[2];
   10151            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10152            0 :                                                 _o1[0] = _r2;
   10153              :                                               }
   10154            0 :                                               _o1[1] = captures[4];
   10155            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10156            0 :                                               res_op0 = _r1;
   10157              :                                             }
   10158            0 :                                             tree _r;
   10159            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, type, 1, res_op0);
   10160            0 :                                             if (!_r)
   10161            0 :                                               goto next_after_fail1477;
   10162            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   10163            0 :                                             return _r;
   10164              :                                           }
   10165            0 : next_after_fail1477:;
   10166              :                                         }
   10167              :                                     }
   10168              :                                 }
   10169              :                               }
   10170              :                             break;
   10171              :                           default:;
   10172              :                           }
   10173              :                         break;
   10174              :                       default:;
   10175              :                       }
   10176              :                     break;
   10177              :                   }
   10178           19 :                 default:;
   10179              :                 }
   10180           19 :               switch (TREE_CODE (_q21))
   10181              :                 {
   10182            5 :                 case REAL_CST:
   10183            5 :                   {
   10184            5 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10185              :                       {
   10186            0 :                         {
   10187            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
   10188            0 :                           tree res = generic_simplify_203 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
   10189            0 :                           if (res) return res;
   10190              :                         }
   10191              :                       }
   10192              :                     break;
   10193              :                   }
   10194              :                 default:;
   10195              :                 }
   10196              :             }
   10197              :           break;
   10198           12 :         case CFN_BUILT_IN_POWL:
   10199           12 :           if (call_expr_nargs (_p0) == 2)
   10200              :     {
   10201           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10202           12 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10203           12 :               switch (TREE_CODE (_q20))
   10204              :                 {
   10205            0 :                 case REAL_CST:
   10206            0 :                   {
   10207            0 :                     switch (TREE_CODE (_p1))
   10208              :                       {
   10209            0 :                       case CALL_EXPR:
   10210            0 :                         switch (get_call_combined_fn (_p1))
   10211              :                           {
   10212            0 :                           case CFN_BUILT_IN_EXP10L:
   10213            0 :                             if (call_expr_nargs (_p1) == 1)
   10214              :     {
   10215            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10216            0 :                                 {
   10217            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10218            0 :                                   if (flag_unsafe_math_optimizations
   10219              : )
   10220              :                                     {
   10221            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10222            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10223              : )
   10224              :                                         {
   10225            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1478;
   10226            0 :                                           {
   10227            0 :                                             tree res_op0;
   10228            0 :                                             {
   10229            0 :                                               tree _o1[2], _r1;
   10230            0 :                                               {
   10231            0 :                                                 tree _o2[2], _r2;
   10232            0 :                                                 {
   10233            0 :                                                   tree _o3[1], _r3;
   10234            0 :                                                   _o3[0] = captures[1];
   10235            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10236            0 :                                                   if (!_r3)
   10237            0 :                                                     goto next_after_fail1478;
   10238            0 :                                                   _o2[0] = _r3;
   10239              :                                                 }
   10240            0 :                                                 _o2[1] = captures[2];
   10241            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10242            0 :                                                 _o1[0] = _r2;
   10243              :                                               }
   10244            0 :                                               _o1[1] = captures[4];
   10245            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10246            0 :                                               res_op0 = _r1;
   10247              :                                             }
   10248            0 :                                             tree _r;
   10249            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, type, 1, res_op0);
   10250            0 :                                             if (!_r)
   10251            0 :                                               goto next_after_fail1478;
   10252            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   10253            0 :                                             return _r;
   10254              :                                           }
   10255            0 : next_after_fail1478:;
   10256              :                                         }
   10257              :                                     }
   10258              :                                 }
   10259              :                               }
   10260              :                             break;
   10261            0 :                           case CFN_BUILT_IN_EXPL:
   10262            0 :                             if (call_expr_nargs (_p1) == 1)
   10263              :     {
   10264            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10265            0 :                                 {
   10266            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10267            0 :                                   if (flag_unsafe_math_optimizations
   10268              : )
   10269              :                                     {
   10270            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10271            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10272              : )
   10273              :                                         {
   10274            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1479;
   10275            0 :                                           {
   10276            0 :                                             tree res_op0;
   10277            0 :                                             {
   10278            0 :                                               tree _o1[2], _r1;
   10279            0 :                                               {
   10280            0 :                                                 tree _o2[2], _r2;
   10281            0 :                                                 {
   10282            0 :                                                   tree _o3[1], _r3;
   10283            0 :                                                   _o3[0] = captures[1];
   10284            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOGL, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10285            0 :                                                   if (!_r3)
   10286            0 :                                                     goto next_after_fail1479;
   10287            0 :                                                   _o2[0] = _r3;
   10288              :                                                 }
   10289            0 :                                                 _o2[1] = captures[2];
   10290            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10291            0 :                                                 _o1[0] = _r2;
   10292              :                                               }
   10293            0 :                                               _o1[1] = captures[4];
   10294            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10295            0 :                                               res_op0 = _r1;
   10296              :                                             }
   10297            0 :                                             tree _r;
   10298            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, type, 1, res_op0);
   10299            0 :                                             if (!_r)
   10300            0 :                                               goto next_after_fail1479;
   10301            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   10302            0 :                                             return _r;
   10303              :                                           }
   10304            0 : next_after_fail1479:;
   10305              :                                         }
   10306              :                                     }
   10307              :                                 }
   10308              :                               }
   10309              :                             break;
   10310            0 :                           case CFN_BUILT_IN_POW10L:
   10311            0 :                             if (call_expr_nargs (_p1) == 1)
   10312              :     {
   10313            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10314            0 :                                 {
   10315            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10316            0 :                                   if (flag_unsafe_math_optimizations
   10317              : )
   10318              :                                     {
   10319            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10320            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10321              : )
   10322              :                                         {
   10323            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1480;
   10324            0 :                                           {
   10325            0 :                                             tree res_op0;
   10326            0 :                                             {
   10327            0 :                                               tree _o1[2], _r1;
   10328            0 :                                               {
   10329            0 :                                                 tree _o2[2], _r2;
   10330            0 :                                                 {
   10331            0 :                                                   tree _o3[1], _r3;
   10332            0 :                                                   _o3[0] = captures[1];
   10333            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10334            0 :                                                   if (!_r3)
   10335            0 :                                                     goto next_after_fail1480;
   10336            0 :                                                   _o2[0] = _r3;
   10337              :                                                 }
   10338            0 :                                                 _o2[1] = captures[2];
   10339            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10340            0 :                                                 _o1[0] = _r2;
   10341              :                                               }
   10342            0 :                                               _o1[1] = captures[4];
   10343            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10344            0 :                                               res_op0 = _r1;
   10345              :                                             }
   10346            0 :                                             tree _r;
   10347            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, type, 1, res_op0);
   10348            0 :                                             if (!_r)
   10349            0 :                                               goto next_after_fail1480;
   10350            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   10351            0 :                                             return _r;
   10352              :                                           }
   10353            0 : next_after_fail1480:;
   10354              :                                         }
   10355              :                                     }
   10356              :                                 }
   10357              :                               }
   10358              :                             break;
   10359            0 :                           case CFN_BUILT_IN_EXP2L:
   10360            0 :                             if (call_expr_nargs (_p1) == 1)
   10361              :     {
   10362            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10363            0 :                                 {
   10364            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10365            0 :                                   if (flag_unsafe_math_optimizations
   10366              : )
   10367              :                                     {
   10368            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10369            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10370              : )
   10371              :                                         {
   10372            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1481;
   10373            0 :                                           {
   10374            0 :                                             tree res_op0;
   10375            0 :                                             {
   10376            0 :                                               tree _o1[2], _r1;
   10377            0 :                                               {
   10378            0 :                                                 tree _o2[2], _r2;
   10379            0 :                                                 {
   10380            0 :                                                   tree _o3[1], _r3;
   10381            0 :                                                   _o3[0] = captures[1];
   10382            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10383            0 :                                                   if (!_r3)
   10384            0 :                                                     goto next_after_fail1481;
   10385            0 :                                                   _o2[0] = _r3;
   10386              :                                                 }
   10387            0 :                                                 _o2[1] = captures[2];
   10388            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10389            0 :                                                 _o1[0] = _r2;
   10390              :                                               }
   10391            0 :                                               _o1[1] = captures[4];
   10392            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10393            0 :                                               res_op0 = _r1;
   10394              :                                             }
   10395            0 :                                             tree _r;
   10396            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, type, 1, res_op0);
   10397            0 :                                             if (!_r)
   10398            0 :                                               goto next_after_fail1481;
   10399            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   10400            0 :                                             return _r;
   10401              :                                           }
   10402            0 : next_after_fail1481:;
   10403              :                                         }
   10404              :                                     }
   10405              :                                 }
   10406              :                               }
   10407              :                             break;
   10408              :                           default:;
   10409              :                           }
   10410              :                         break;
   10411              :                       default:;
   10412              :                       }
   10413              :                     break;
   10414              :                   }
   10415           12 :                 default:;
   10416              :                 }
   10417           12 :               switch (TREE_CODE (_q21))
   10418              :                 {
   10419            0 :                 case REAL_CST:
   10420            0 :                   {
   10421            0 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10422              :                       {
   10423            0 :                         {
   10424            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
   10425            0 :                           tree res = generic_simplify_203 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
   10426            0 :                           if (res) return res;
   10427              :                         }
   10428              :                       }
   10429              :                     break;
   10430              :                   }
   10431              :                 default:;
   10432              :                 }
   10433              :             }
   10434              :           break;
   10435        19615 :         case CFN_BUILT_IN_SQRT:
   10436        19615 :           if (call_expr_nargs (_p0) == 1)
   10437              :     {
   10438        19615 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10439        19615 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10440              :                 {
   10441            2 :                   {
   10442            2 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10443            2 :                     tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT);
   10444            2 :                     if (res) return res;
   10445              :                   }
   10446              :                 }
   10447        19613 :               switch (TREE_CODE (_p1))
   10448              :                 {
   10449          100 :                 case CALL_EXPR:
   10450          100 :                   switch (get_call_combined_fn (_p1))
   10451              :                     {
   10452           37 :                     case CFN_BUILT_IN_SQRT:
   10453           37 :                       if (call_expr_nargs (_p1) == 1)
   10454              :     {
   10455           37 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10456           37 :                           {
   10457           37 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10458           37 :                             if (flag_unsafe_math_optimizations
   10459              : )
   10460              :                               {
   10461           15 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1482;
   10462           15 :                                 {
   10463           15 :                                   tree res_op0;
   10464           15 :                                   {
   10465           15 :                                     tree _o1[2], _r1;
   10466           15 :                                     _o1[0] = captures[1];
   10467           15 :                                     _o1[1] = captures[3];
   10468           15 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10469           15 :                                     res_op0 = _r1;
   10470              :                                   }
   10471           15 :                                   tree _r;
   10472           15 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRT, type, 1, res_op0);
   10473           15 :                                   if (!_r)
   10474            0 :                                     goto next_after_fail1482;
   10475           15 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 989, __FILE__, __LINE__, true);
   10476           15 :                                   return _r;
   10477              :                                 }
   10478           22 : next_after_fail1482:;
   10479              :                               }
   10480              :                           }
   10481              :                         }
   10482              :                       break;
   10483              :                     default:;
   10484              :                     }
   10485              :                   break;
   10486              :                 default:;
   10487              :                 }
   10488              :             }
   10489              :           break;
   10490            5 :         case CFN_BUILT_IN_LDEXPF:
   10491            5 :           if (call_expr_nargs (_p0) == 2)
   10492              :     {
   10493            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10494            5 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10495            5 :               switch (TREE_CODE (_p1))
   10496              :                 {
   10497            2 :                 case REAL_CST:
   10498            2 :                   {
   10499            2 :                     {
   10500            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   10501            2 :                       tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPF);
   10502            2 :                       if (res) return res;
   10503              :                     }
   10504            1 :                     break;
   10505              :                   }
   10506            4 :                 default:;
   10507              :                 }
   10508            4 :               switch (TREE_CODE (_q20))
   10509              :                 {
   10510            3 :                 case REAL_CST:
   10511            3 :                   {
   10512            3 :                     {
   10513            3 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   10514            3 :                       tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPF);
   10515            3 :                       if (res) return res;
   10516              :                     }
   10517            0 :                     break;
   10518              :                   }
   10519              :                 default:;
   10520              :                 }
   10521              :             }
   10522              :           break;
   10523            5 :         case CFN_BUILT_IN_LDEXPL:
   10524            5 :           if (call_expr_nargs (_p0) == 2)
   10525              :     {
   10526            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10527            5 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10528            5 :               switch (TREE_CODE (_p1))
   10529              :                 {
   10530            2 :                 case REAL_CST:
   10531            2 :                   {
   10532            2 :                     {
   10533            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   10534            2 :                       tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPL);
   10535            2 :                       if (res) return res;
   10536              :                     }
   10537            1 :                     break;
   10538              :                   }
   10539            4 :                 default:;
   10540              :                 }
   10541            4 :               switch (TREE_CODE (_q20))
   10542              :                 {
   10543            3 :                 case REAL_CST:
   10544            3 :                   {
   10545            3 :                     {
   10546            3 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   10547            3 :                       tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPL);
   10548            3 :                       if (res) return res;
   10549              :                     }
   10550            0 :                     break;
   10551              :                   }
   10552              :                 default:;
   10553              :                 }
   10554              :             }
   10555              :           break;
   10556            4 :         case CFN_BUILT_IN_SQRTF128:
   10557            4 :           if (call_expr_nargs (_p0) == 1)
   10558              :     {
   10559            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10560            4 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10561              :                 {
   10562            0 :                   {
   10563            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10564            0 :                     tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF128);
   10565            0 :                     if (res) return res;
   10566              :                   }
   10567              :                 }
   10568              :             }
   10569              :           break;
   10570            0 :         case CFN_BUILT_IN_SQRTF32X:
   10571            0 :           if (call_expr_nargs (_p0) == 1)
   10572              :     {
   10573            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10574            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10575              :                 {
   10576            0 :                   {
   10577            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10578            0 :                     tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF32X);
   10579            0 :                     if (res) return res;
   10580              :                   }
   10581              :                 }
   10582              :             }
   10583              :           break;
   10584            0 :         case CFN_BUILT_IN_SQRTF64X:
   10585            0 :           if (call_expr_nargs (_p0) == 1)
   10586              :     {
   10587            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10588            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10589              :                 {
   10590            0 :                   {
   10591            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10592            0 :                     tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF64X);
   10593            0 :                     if (res) return res;
   10594              :                   }
   10595              :                 }
   10596              :             }
   10597              :           break;
   10598            0 :         case CFN_BUILT_IN_SQRTF16:
   10599            0 :           if (call_expr_nargs (_p0) == 1)
   10600              :     {
   10601            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10602            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10603              :                 {
   10604            0 :                   {
   10605            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10606            0 :                     tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF16);
   10607            0 :                     if (res) return res;
   10608              :                   }
   10609              :                 }
   10610              :             }
   10611              :           break;
   10612            0 :         case CFN_BUILT_IN_SQRTF32:
   10613            0 :           if (call_expr_nargs (_p0) == 1)
   10614              :     {
   10615            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10616            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10617              :                 {
   10618            0 :                   {
   10619            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10620            0 :                     tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF32);
   10621            0 :                     if (res) return res;
   10622              :                   }
   10623              :                 }
   10624              :             }
   10625              :           break;
   10626            0 :         case CFN_BUILT_IN_SQRTF64:
   10627            0 :           if (call_expr_nargs (_p0) == 1)
   10628              :     {
   10629            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10630            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10631              :                 {
   10632            0 :                   {
   10633            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10634            0 :                     tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF64);
   10635            0 :                     if (res) return res;
   10636              :                   }
   10637              :                 }
   10638              :             }
   10639              :           break;
   10640            0 :         case CFN_EXP:
   10641            0 :           if (call_expr_nargs (_p0) == 1)
   10642              :     {
   10643            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10644            0 :               switch (TREE_CODE (_p1))
   10645              :                 {
   10646            0 :                 case CALL_EXPR:
   10647            0 :                   switch (get_call_combined_fn (_p1))
   10648              :                     {
   10649            0 :                     case CFN_EXP:
   10650            0 :                       if (call_expr_nargs (_p1) == 1)
   10651              :     {
   10652            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10653            0 :                           {
   10654            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10655            0 :                             if (flag_unsafe_math_optimizations
   10656              : )
   10657              :                               {
   10658            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1483;
   10659            0 :                                 {
   10660            0 :                                   tree res_op0;
   10661            0 :                                   {
   10662            0 :                                     tree _o1[2], _r1;
   10663            0 :                                     _o1[0] = captures[1];
   10664            0 :                                     _o1[1] = captures[3];
   10665            0 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10666            0 :                                     res_op0 = _r1;
   10667              :                                   }
   10668            0 :                                   tree _r;
   10669            0 :                                   _r = maybe_build_call_expr_loc (loc, CFN_EXP, type, 1, res_op0);
   10670            0 :                                   if (!_r)
   10671            0 :                                     goto next_after_fail1483;
   10672            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
   10673            0 :                                   return _r;
   10674              :                                 }
   10675            0 : next_after_fail1483:;
   10676              :                               }
   10677              :                           }
   10678              :                         }
   10679              :                       break;
   10680            0 :                     case CFN_POW:
   10681            0 :                       if (call_expr_nargs (_p1) == 2)
   10682              :     {
   10683            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10684            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   10685            0 :                           switch (TREE_CODE (_q40))
   10686              :                             {
   10687            0 :                             case REAL_CST:
   10688            0 :                               {
   10689            0 :                                 {
   10690            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   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_fail1484;
   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_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10709            0 :                                                   if (!_r3)
   10710            0 :                                                     goto next_after_fail1484;
   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_EXP, type, 1, res_op0);
   10723            0 :                                             if (!_r)
   10724            0 :                                               goto next_after_fail1484;
   10725            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   10726            0 :                                             return _r;
   10727              :                                           }
   10728            0 : next_after_fail1484:;
   10729              :                                         }
   10730              :                                     }
   10731              :                                 }
   10732            0 :                                 break;
   10733              :                               }
   10734              :                             default:;
   10735              :                             }
   10736              :                         }
   10737              :                       break;
   10738              :                     default:;
   10739              :                     }
   10740              :                   break;
   10741              :                 default:;
   10742              :                 }
   10743              :             }
   10744              :           break;
   10745            0 :         case CFN_POW:
   10746            0 :           if (call_expr_nargs (_p0) == 2)
   10747              :     {
   10748            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10749            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10750            0 :               switch (TREE_CODE (_q20))
   10751              :                 {
   10752            0 :                 case REAL_CST:
   10753            0 :                   {
   10754            0 :                     switch (TREE_CODE (_p1))
   10755              :                       {
   10756            0 :                       case CALL_EXPR:
   10757            0 :                         switch (get_call_combined_fn (_p1))
   10758              :                           {
   10759            0 :                           case CFN_EXP:
   10760            0 :                             if (call_expr_nargs (_p1) == 1)
   10761              :     {
   10762            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10763            0 :                                 {
   10764            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10765            0 :                                   if (flag_unsafe_math_optimizations
   10766              : )
   10767              :                                     {
   10768            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10769            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10770              : )
   10771              :                                         {
   10772            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1485;
   10773            0 :                                           {
   10774            0 :                                             tree res_op0;
   10775            0 :                                             {
   10776            0 :                                               tree _o1[2], _r1;
   10777            0 :                                               {
   10778            0 :                                                 tree _o2[2], _r2;
   10779            0 :                                                 {
   10780            0 :                                                   tree _o3[1], _r3;
   10781            0 :                                                   _o3[0] = captures[1];
   10782            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10783            0 :                                                   if (!_r3)
   10784            0 :                                                     goto next_after_fail1485;
   10785            0 :                                                   _o2[0] = _r3;
   10786              :                                                 }
   10787            0 :                                                 _o2[1] = captures[2];
   10788            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10789            0 :                                                 _o1[0] = _r2;
   10790              :                                               }
   10791            0 :                                               _o1[1] = captures[4];
   10792            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10793            0 :                                               res_op0 = _r1;
   10794              :                                             }
   10795            0 :                                             tree _r;
   10796            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP, type, 1, res_op0);
   10797            0 :                                             if (!_r)
   10798            0 :                                               goto next_after_fail1485;
   10799            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   10800            0 :                                             return _r;
   10801              :                                           }
   10802            0 : next_after_fail1485:;
   10803              :                                         }
   10804              :                                     }
   10805              :                                 }
   10806              :                               }
   10807              :                             break;
   10808            0 :                           case CFN_EXP2:
   10809            0 :                             if (call_expr_nargs (_p1) == 1)
   10810              :     {
   10811            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10812            0 :                                 {
   10813            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10814            0 :                                   if (flag_unsafe_math_optimizations
   10815              : )
   10816              :                                     {
   10817            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10818            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10819              : )
   10820              :                                         {
   10821            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1486;
   10822            0 :                                           {
   10823            0 :                                             tree res_op0;
   10824            0 :                                             {
   10825            0 :                                               tree _o1[2], _r1;
   10826            0 :                                               {
   10827            0 :                                                 tree _o2[2], _r2;
   10828            0 :                                                 {
   10829            0 :                                                   tree _o3[1], _r3;
   10830            0 :                                                   _o3[0] = captures[1];
   10831            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10832            0 :                                                   if (!_r3)
   10833            0 :                                                     goto next_after_fail1486;
   10834            0 :                                                   _o2[0] = _r3;
   10835              :                                                 }
   10836            0 :                                                 _o2[1] = captures[2];
   10837            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10838            0 :                                                 _o1[0] = _r2;
   10839              :                                               }
   10840            0 :                                               _o1[1] = captures[4];
   10841            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10842            0 :                                               res_op0 = _r1;
   10843              :                                             }
   10844            0 :                                             tree _r;
   10845            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP2, type, 1, res_op0);
   10846            0 :                                             if (!_r)
   10847            0 :                                               goto next_after_fail1486;
   10848            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   10849            0 :                                             return _r;
   10850              :                                           }
   10851            0 : next_after_fail1486:;
   10852              :                                         }
   10853              :                                     }
   10854              :                                 }
   10855              :                               }
   10856              :                             break;
   10857            0 :                           case CFN_EXP10:
   10858            0 :                             if (call_expr_nargs (_p1) == 1)
   10859              :     {
   10860            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10861            0 :                                 {
   10862            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10863            0 :                                   if (flag_unsafe_math_optimizations
   10864              : )
   10865              :                                     {
   10866            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10867            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10868              : )
   10869              :                                         {
   10870            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1487;
   10871            0 :                                           {
   10872            0 :                                             tree res_op0;
   10873            0 :                                             {
   10874            0 :                                               tree _o1[2], _r1;
   10875            0 :                                               {
   10876            0 :                                                 tree _o2[2], _r2;
   10877            0 :                                                 {
   10878            0 :                                                   tree _o3[1], _r3;
   10879            0 :                                                   _o3[0] = captures[1];
   10880            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10881            0 :                                                   if (!_r3)
   10882            0 :                                                     goto next_after_fail1487;
   10883            0 :                                                   _o2[0] = _r3;
   10884              :                                                 }
   10885            0 :                                                 _o2[1] = captures[2];
   10886            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10887            0 :                                                 _o1[0] = _r2;
   10888              :                                               }
   10889            0 :                                               _o1[1] = captures[4];
   10890            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10891            0 :                                               res_op0 = _r1;
   10892              :                                             }
   10893            0 :                                             tree _r;
   10894            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP10, type, 1, res_op0);
   10895            0 :                                             if (!_r)
   10896            0 :                                               goto next_after_fail1487;
   10897            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   10898            0 :                                             return _r;
   10899              :                                           }
   10900            0 : next_after_fail1487:;
   10901              :                                         }
   10902              :                                     }
   10903              :                                 }
   10904              :                               }
   10905              :                             break;
   10906              :                           default:;
   10907              :                           }
   10908              :                         break;
   10909              :                       default:;
   10910              :                       }
   10911              :                     break;
   10912              :                   }
   10913            0 :                 default:;
   10914              :                 }
   10915            0 :               switch (TREE_CODE (_q21))
   10916              :                 {
   10917            0 :                 case REAL_CST:
   10918            0 :                   {
   10919            0 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10920              :                       {
   10921            0 :                         {
   10922            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
   10923            0 :                           tree res = generic_simplify_203 (loc, type, _p0, _p1, captures, CFN_POW);
   10924            0 :                           if (res) return res;
   10925              :                         }
   10926              :                       }
   10927              :                     break;
   10928              :                   }
   10929              :                 default:;
   10930              :                 }
   10931              :             }
   10932              :           break;
   10933           24 :         case CFN_BUILT_IN_POW10F:
   10934           24 :           if (call_expr_nargs (_p0) == 1)
   10935              :     {
   10936           24 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10937           24 :               switch (TREE_CODE (_p1))
   10938              :                 {
   10939           12 :                 case CALL_EXPR:
   10940           12 :                   switch (get_call_combined_fn (_p1))
   10941              :                     {
   10942            0 :                     case CFN_BUILT_IN_POWF:
   10943            0 :                       if (call_expr_nargs (_p1) == 2)
   10944              :     {
   10945            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10946            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   10947            0 :                           switch (TREE_CODE (_q40))
   10948              :                             {
   10949            0 :                             case REAL_CST:
   10950            0 :                               {
   10951            0 :                                 {
   10952            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   10953            0 :                                   if (flag_unsafe_math_optimizations
   10954              : )
   10955              :                                     {
   10956            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10957            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10958              : )
   10959              :                                         {
   10960            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1488;
   10961            0 :                                           {
   10962            0 :                                             tree res_op0;
   10963            0 :                                             {
   10964            0 :                                               tree _o1[2], _r1;
   10965            0 :                                               {
   10966            0 :                                                 tree _o2[2], _r2;
   10967            0 :                                                 {
   10968            0 :                                                   tree _o3[1], _r3;
   10969            0 :                                                   _o3[0] = captures[1];
   10970            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10971            0 :                                                   if (!_r3)
   10972            0 :                                                     goto next_after_fail1488;
   10973            0 :                                                   _o2[0] = _r3;
   10974              :                                                 }
   10975            0 :                                                 _o2[1] = captures[2];
   10976            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10977            0 :                                                 _o1[0] = _r2;
   10978              :                                               }
   10979            0 :                                               _o1[1] = captures[4];
   10980            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10981            0 :                                               res_op0 = _r1;
   10982              :                                             }
   10983            0 :                                             tree _r;
   10984            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, type, 1, res_op0);
   10985            0 :                                             if (!_r)
   10986            0 :                                               goto next_after_fail1488;
   10987            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   10988            0 :                                             return _r;
   10989              :                                           }
   10990            0 : next_after_fail1488:;
   10991              :                                         }
   10992              :                                     }
   10993              :                                 }
   10994            0 :                                 break;
   10995              :                               }
   10996              :                             default:;
   10997              :                             }
   10998              :                         }
   10999              :                       break;
   11000           12 :                     case CFN_BUILT_IN_POW10F:
   11001           12 :                       if (call_expr_nargs (_p1) == 1)
   11002              :     {
   11003           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11004           12 :                           {
   11005           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11006           12 :                             if (flag_unsafe_math_optimizations
   11007              : )
   11008              :                               {
   11009           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1489;
   11010           12 :                                 {
   11011           12 :                                   tree res_op0;
   11012           12 :                                   {
   11013           12 :                                     tree _o1[2], _r1;
   11014           12 :                                     _o1[0] = captures[1];
   11015           12 :                                     _o1[1] = captures[3];
   11016           12 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11017           12 :                                     res_op0 = _r1;
   11018              :                                   }
   11019           12 :                                   tree _r;
   11020           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, type, 1, res_op0);
   11021           12 :                                   if (!_r)
   11022           12 :                                     goto next_after_fail1489;
   11023            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
   11024            0 :                                   return _r;
   11025              :                                 }
   11026           12 : next_after_fail1489:;
   11027              :                               }
   11028              :                           }
   11029              :                         }
   11030              :                       break;
   11031              :                     default:;
   11032              :                     }
   11033              :                   break;
   11034              :                 default:;
   11035              :                 }
   11036              :             }
   11037              :           break;
   11038           24 :         case CFN_BUILT_IN_POW10L:
   11039           24 :           if (call_expr_nargs (_p0) == 1)
   11040              :     {
   11041           24 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11042           24 :               switch (TREE_CODE (_p1))
   11043              :                 {
   11044           12 :                 case CALL_EXPR:
   11045           12 :                   switch (get_call_combined_fn (_p1))
   11046              :                     {
   11047            0 :                     case CFN_BUILT_IN_POWL:
   11048            0 :                       if (call_expr_nargs (_p1) == 2)
   11049              :     {
   11050            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11051            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11052            0 :                           switch (TREE_CODE (_q40))
   11053              :                             {
   11054            0 :                             case REAL_CST:
   11055            0 :                               {
   11056            0 :                                 {
   11057            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11058            0 :                                   if (flag_unsafe_math_optimizations
   11059              : )
   11060              :                                     {
   11061            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11062            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11063              : )
   11064              :                                         {
   11065            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1490;
   11066            0 :                                           {
   11067            0 :                                             tree res_op0;
   11068            0 :                                             {
   11069            0 :                                               tree _o1[2], _r1;
   11070            0 :                                               {
   11071            0 :                                                 tree _o2[2], _r2;
   11072            0 :                                                 {
   11073            0 :                                                   tree _o3[1], _r3;
   11074            0 :                                                   _o3[0] = captures[1];
   11075            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11076            0 :                                                   if (!_r3)
   11077            0 :                                                     goto next_after_fail1490;
   11078            0 :                                                   _o2[0] = _r3;
   11079              :                                                 }
   11080            0 :                                                 _o2[1] = captures[2];
   11081            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11082            0 :                                                 _o1[0] = _r2;
   11083              :                                               }
   11084            0 :                                               _o1[1] = captures[4];
   11085            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11086            0 :                                               res_op0 = _r1;
   11087              :                                             }
   11088            0 :                                             tree _r;
   11089            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, type, 1, res_op0);
   11090            0 :                                             if (!_r)
   11091            0 :                                               goto next_after_fail1490;
   11092            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   11093            0 :                                             return _r;
   11094              :                                           }
   11095            0 : next_after_fail1490:;
   11096              :                                         }
   11097              :                                     }
   11098              :                                 }
   11099            0 :                                 break;
   11100              :                               }
   11101              :                             default:;
   11102              :                             }
   11103              :                         }
   11104              :                       break;
   11105           12 :                     case CFN_BUILT_IN_POW10L:
   11106           12 :                       if (call_expr_nargs (_p1) == 1)
   11107              :     {
   11108           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11109           12 :                           {
   11110           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11111           12 :                             if (flag_unsafe_math_optimizations
   11112              : )
   11113              :                               {
   11114           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1491;
   11115           12 :                                 {
   11116           12 :                                   tree res_op0;
   11117           12 :                                   {
   11118           12 :                                     tree _o1[2], _r1;
   11119           12 :                                     _o1[0] = captures[1];
   11120           12 :                                     _o1[1] = captures[3];
   11121           12 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11122           12 :                                     res_op0 = _r1;
   11123              :                                   }
   11124           12 :                                   tree _r;
   11125           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, type, 1, res_op0);
   11126           12 :                                   if (!_r)
   11127           12 :                                     goto next_after_fail1491;
   11128            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
   11129            0 :                                   return _r;
   11130              :                                 }
   11131           12 : next_after_fail1491:;
   11132              :                               }
   11133              :                           }
   11134              :                         }
   11135              :                       break;
   11136              :                     default:;
   11137              :                     }
   11138              :                   break;
   11139              :                 default:;
   11140              :                 }
   11141              :             }
   11142              :           break;
   11143            0 :         case CFN_BUILT_IN_SQRTF128X:
   11144            0 :           if (call_expr_nargs (_p0) == 1)
   11145              :     {
   11146            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11147            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11148              :                 {
   11149            0 :                   {
   11150            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   11151            0 :                     tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF128X);
   11152            0 :                     if (res) return res;
   11153              :                   }
   11154              :                 }
   11155              :             }
   11156              :           break;
   11157            0 :         case CFN_EXP2:
   11158            0 :           if (call_expr_nargs (_p0) == 1)
   11159              :     {
   11160            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11161            0 :               switch (TREE_CODE (_p1))
   11162              :                 {
   11163            0 :                 case CALL_EXPR:
   11164            0 :                   switch (get_call_combined_fn (_p1))
   11165              :                     {
   11166            0 :                     case CFN_POW:
   11167            0 :                       if (call_expr_nargs (_p1) == 2)
   11168              :     {
   11169            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11170            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11171            0 :                           switch (TREE_CODE (_q40))
   11172              :                             {
   11173            0 :                             case REAL_CST:
   11174            0 :                               {
   11175            0 :                                 {
   11176            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11177            0 :                                   if (flag_unsafe_math_optimizations
   11178              : )
   11179              :                                     {
   11180            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11181            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11182              : )
   11183              :                                         {
   11184            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1492;
   11185            0 :                                           {
   11186            0 :                                             tree res_op0;
   11187            0 :                                             {
   11188            0 :                                               tree _o1[2], _r1;
   11189            0 :                                               {
   11190            0 :                                                 tree _o2[2], _r2;
   11191            0 :                                                 {
   11192            0 :                                                   tree _o3[1], _r3;
   11193            0 :                                                   _o3[0] = captures[1];
   11194            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11195            0 :                                                   if (!_r3)
   11196            0 :                                                     goto next_after_fail1492;
   11197            0 :                                                   _o2[0] = _r3;
   11198              :                                                 }
   11199            0 :                                                 _o2[1] = captures[2];
   11200            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11201            0 :                                                 _o1[0] = _r2;
   11202              :                                               }
   11203            0 :                                               _o1[1] = captures[4];
   11204            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11205            0 :                                               res_op0 = _r1;
   11206              :                                             }
   11207            0 :                                             tree _r;
   11208            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP2, type, 1, res_op0);
   11209            0 :                                             if (!_r)
   11210            0 :                                               goto next_after_fail1492;
   11211            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   11212            0 :                                             return _r;
   11213              :                                           }
   11214            0 : next_after_fail1492:;
   11215              :                                         }
   11216              :                                     }
   11217              :                                 }
   11218            0 :                                 break;
   11219              :                               }
   11220              :                             default:;
   11221              :                             }
   11222              :                         }
   11223              :                       break;
   11224            0 :                     case CFN_EXP2:
   11225            0 :                       if (call_expr_nargs (_p1) == 1)
   11226              :     {
   11227            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11228            0 :                           {
   11229            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11230            0 :                             if (flag_unsafe_math_optimizations
   11231              : )
   11232              :                               {
   11233            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1493;
   11234            0 :                                 {
   11235            0 :                                   tree res_op0;
   11236            0 :                                   {
   11237            0 :                                     tree _o1[2], _r1;
   11238            0 :                                     _o1[0] = captures[1];
   11239            0 :                                     _o1[1] = captures[3];
   11240            0 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11241            0 :                                     res_op0 = _r1;
   11242              :                                   }
   11243            0 :                                   tree _r;
   11244            0 :                                   _r = maybe_build_call_expr_loc (loc, CFN_EXP2, type, 1, res_op0);
   11245            0 :                                   if (!_r)
   11246            0 :                                     goto next_after_fail1493;
   11247            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
   11248            0 :                                   return _r;
   11249              :                                 }
   11250            0 : next_after_fail1493:;
   11251              :                               }
   11252              :                           }
   11253              :                         }
   11254              :                       break;
   11255              :                     default:;
   11256              :                     }
   11257              :                   break;
   11258              :                 default:;
   11259              :                 }
   11260              :             }
   11261              :           break;
   11262            0 :         case CFN_SQRT:
   11263            0 :           if (call_expr_nargs (_p0) == 1)
   11264              :     {
   11265            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11266            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11267              :                 {
   11268            0 :                   {
   11269            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   11270            0 :                     tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, CFN_SQRT);
   11271            0 :                     if (res) return res;
   11272              :                   }
   11273              :                 }
   11274            0 :               switch (TREE_CODE (_p1))
   11275              :                 {
   11276            0 :                 case CALL_EXPR:
   11277            0 :                   switch (get_call_combined_fn (_p1))
   11278              :                     {
   11279            0 :                     case CFN_SQRT:
   11280            0 :                       if (call_expr_nargs (_p1) == 1)
   11281              :     {
   11282            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11283            0 :                           {
   11284            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11285            0 :                             if (flag_unsafe_math_optimizations
   11286              : )
   11287              :                               {
   11288            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1494;
   11289            0 :                                 {
   11290            0 :                                   tree res_op0;
   11291            0 :                                   {
   11292            0 :                                     tree _o1[2], _r1;
   11293            0 :                                     _o1[0] = captures[1];
   11294            0 :                                     _o1[1] = captures[3];
   11295            0 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11296            0 :                                     res_op0 = _r1;
   11297              :                                   }
   11298            0 :                                   tree _r;
   11299            0 :                                   _r = maybe_build_call_expr_loc (loc, CFN_SQRT, type, 1, res_op0);
   11300            0 :                                   if (!_r)
   11301            0 :                                     goto next_after_fail1494;
   11302            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 989, __FILE__, __LINE__, true);
   11303            0 :                                   return _r;
   11304              :                                 }
   11305            0 : next_after_fail1494:;
   11306              :                               }
   11307              :                           }
   11308              :                         }
   11309              :                       break;
   11310              :                     default:;
   11311              :                     }
   11312              :                   break;
   11313              :                 default:;
   11314              :                 }
   11315              :             }
   11316              :           break;
   11317            0 :         case CFN_EXP10:
   11318            0 :           if (call_expr_nargs (_p0) == 1)
   11319              :     {
   11320            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11321            0 :               switch (TREE_CODE (_p1))
   11322              :                 {
   11323            0 :                 case CALL_EXPR:
   11324            0 :                   switch (get_call_combined_fn (_p1))
   11325              :                     {
   11326            0 :                     case CFN_POW:
   11327            0 :                       if (call_expr_nargs (_p1) == 2)
   11328              :     {
   11329            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11330            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11331            0 :                           switch (TREE_CODE (_q40))
   11332              :                             {
   11333            0 :                             case REAL_CST:
   11334            0 :                               {
   11335            0 :                                 {
   11336            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11337            0 :                                   if (flag_unsafe_math_optimizations
   11338              : )
   11339              :                                     {
   11340            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11341            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11342              : )
   11343              :                                         {
   11344            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1495;
   11345            0 :                                           {
   11346            0 :                                             tree res_op0;
   11347            0 :                                             {
   11348            0 :                                               tree _o1[2], _r1;
   11349            0 :                                               {
   11350            0 :                                                 tree _o2[2], _r2;
   11351            0 :                                                 {
   11352            0 :                                                   tree _o3[1], _r3;
   11353            0 :                                                   _o3[0] = captures[1];
   11354            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11355            0 :                                                   if (!_r3)
   11356            0 :                                                     goto next_after_fail1495;
   11357            0 :                                                   _o2[0] = _r3;
   11358              :                                                 }
   11359            0 :                                                 _o2[1] = captures[2];
   11360            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11361            0 :                                                 _o1[0] = _r2;
   11362              :                                               }
   11363            0 :                                               _o1[1] = captures[4];
   11364            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11365            0 :                                               res_op0 = _r1;
   11366              :                                             }
   11367            0 :                                             tree _r;
   11368            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP10, type, 1, res_op0);
   11369            0 :                                             if (!_r)
   11370            0 :                                               goto next_after_fail1495;
   11371            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   11372            0 :                                             return _r;
   11373              :                                           }
   11374            0 : next_after_fail1495:;
   11375              :                                         }
   11376              :                                     }
   11377              :                                 }
   11378            0 :                                 break;
   11379              :                               }
   11380              :                             default:;
   11381              :                             }
   11382              :                         }
   11383              :                       break;
   11384            0 :                     case CFN_EXP10:
   11385            0 :                       if (call_expr_nargs (_p1) == 1)
   11386              :     {
   11387            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11388            0 :                           {
   11389            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11390            0 :                             if (flag_unsafe_math_optimizations
   11391              : )
   11392              :                               {
   11393            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1496;
   11394            0 :                                 {
   11395            0 :                                   tree res_op0;
   11396            0 :                                   {
   11397            0 :                                     tree _o1[2], _r1;
   11398            0 :                                     _o1[0] = captures[1];
   11399            0 :                                     _o1[1] = captures[3];
   11400            0 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11401            0 :                                     res_op0 = _r1;
   11402              :                                   }
   11403            0 :                                   tree _r;
   11404            0 :                                   _r = maybe_build_call_expr_loc (loc, CFN_EXP10, type, 1, res_op0);
   11405            0 :                                   if (!_r)
   11406            0 :                                     goto next_after_fail1496;
   11407            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
   11408            0 :                                   return _r;
   11409              :                                 }
   11410            0 : next_after_fail1496:;
   11411              :                               }
   11412              :                           }
   11413              :                         }
   11414              :                       break;
   11415              :                     default:;
   11416              :                     }
   11417              :                   break;
   11418              :                 default:;
   11419              :                 }
   11420              :             }
   11421              :           break;
   11422           12 :         case CFN_BUILT_IN_CBRTF:
   11423           12 :           if (call_expr_nargs (_p0) == 1)
   11424              :     {
   11425           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11426           12 :               switch (TREE_CODE (_p1))
   11427              :                 {
   11428           12 :                 case CALL_EXPR:
   11429           12 :                   switch (get_call_combined_fn (_p1))
   11430              :                     {
   11431           12 :                     case CFN_BUILT_IN_CBRTF:
   11432           12 :                       if (call_expr_nargs (_p1) == 1)
   11433              :     {
   11434           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11435           12 :                           {
   11436           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11437           12 :                             if (flag_unsafe_math_optimizations
   11438              : )
   11439              :                               {
   11440           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1497;
   11441           12 :                                 {
   11442           12 :                                   tree res_op0;
   11443           12 :                                   {
   11444           12 :                                     tree _o1[2], _r1;
   11445           12 :                                     _o1[0] = captures[1];
   11446           12 :                                     _o1[1] = captures[3];
   11447           12 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11448           12 :                                     res_op0 = _r1;
   11449              :                                   }
   11450           12 :                                   tree _r;
   11451           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTF, type, 1, res_op0);
   11452           12 :                                   if (!_r)
   11453            0 :                                     goto next_after_fail1497;
   11454           12 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 989, __FILE__, __LINE__, true);
   11455           12 :                                   return _r;
   11456              :                                 }
   11457            0 : next_after_fail1497:;
   11458              :                               }
   11459              :                           }
   11460              :                         }
   11461              :                       break;
   11462              :                     default:;
   11463              :                     }
   11464              :                   break;
   11465              :                 default:;
   11466              :                 }
   11467              :             }
   11468              :           break;
   11469           12 :         case CFN_BUILT_IN_CBRTL:
   11470           12 :           if (call_expr_nargs (_p0) == 1)
   11471              :     {
   11472           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11473           12 :               switch (TREE_CODE (_p1))
   11474              :                 {
   11475           12 :                 case CALL_EXPR:
   11476           12 :                   switch (get_call_combined_fn (_p1))
   11477              :                     {
   11478           12 :                     case CFN_BUILT_IN_CBRTL:
   11479           12 :                       if (call_expr_nargs (_p1) == 1)
   11480              :     {
   11481           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11482           12 :                           {
   11483           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11484           12 :                             if (flag_unsafe_math_optimizations
   11485              : )
   11486              :                               {
   11487           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1498;
   11488           12 :                                 {
   11489           12 :                                   tree res_op0;
   11490           12 :                                   {
   11491           12 :                                     tree _o1[2], _r1;
   11492           12 :                                     _o1[0] = captures[1];
   11493           12 :                                     _o1[1] = captures[3];
   11494           12 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11495           12 :                                     res_op0 = _r1;
   11496              :                                   }
   11497           12 :                                   tree _r;
   11498           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTL, type, 1, res_op0);
   11499           12 :                                   if (!_r)
   11500            0 :                                     goto next_after_fail1498;
   11501           12 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 989, __FILE__, __LINE__, true);
   11502           12 :                                   return _r;
   11503              :                                 }
   11504            0 : next_after_fail1498:;
   11505              :                               }
   11506              :                           }
   11507              :                         }
   11508              :                       break;
   11509              :                     default:;
   11510              :                     }
   11511              :                   break;
   11512              :                 default:;
   11513              :                 }
   11514              :             }
   11515              :           break;
   11516            0 :         case CFN_LDEXP:
   11517            0 :           if (call_expr_nargs (_p0) == 2)
   11518              :     {
   11519            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11520            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   11521            0 :               switch (TREE_CODE (_p1))
   11522              :                 {
   11523            0 :                 case REAL_CST:
   11524            0 :                   {
   11525            0 :                     {
   11526            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   11527            0 :                       tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, CFN_LDEXP);
   11528            0 :                       if (res) return res;
   11529              :                     }
   11530            0 :                     break;
   11531              :                   }
   11532            0 :                 default:;
   11533              :                 }
   11534            0 :               switch (TREE_CODE (_q20))
   11535              :                 {
   11536            0 :                 case REAL_CST:
   11537            0 :                   {
   11538            0 :                     {
   11539            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   11540            0 :                       tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, CFN_LDEXP);
   11541            0 :                       if (res) return res;
   11542              :                     }
   11543            0 :                     break;
   11544              :                   }
   11545              :                 default:;
   11546              :                 }
   11547              :             }
   11548              :           break;
   11549           48 :         case CFN_BUILT_IN_EXP10:
   11550           48 :           if (call_expr_nargs (_p0) == 1)
   11551              :     {
   11552           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11553           48 :               switch (TREE_CODE (_p1))
   11554              :                 {
   11555           24 :                 case CALL_EXPR:
   11556           24 :                   switch (get_call_combined_fn (_p1))
   11557              :                     {
   11558            0 :                     case CFN_BUILT_IN_POW:
   11559            0 :                       if (call_expr_nargs (_p1) == 2)
   11560              :     {
   11561            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11562            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11563            0 :                           switch (TREE_CODE (_q40))
   11564              :                             {
   11565            0 :                             case REAL_CST:
   11566            0 :                               {
   11567            0 :                                 {
   11568            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11569            0 :                                   if (flag_unsafe_math_optimizations
   11570              : )
   11571              :                                     {
   11572            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11573            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11574              : )
   11575              :                                         {
   11576            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1499;
   11577            0 :                                           {
   11578            0 :                                             tree res_op0;
   11579            0 :                                             {
   11580            0 :                                               tree _o1[2], _r1;
   11581            0 :                                               {
   11582            0 :                                                 tree _o2[2], _r2;
   11583            0 :                                                 {
   11584            0 :                                                   tree _o3[1], _r3;
   11585            0 :                                                   _o3[0] = captures[1];
   11586            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11587            0 :                                                   if (!_r3)
   11588            0 :                                                     goto next_after_fail1499;
   11589            0 :                                                   _o2[0] = _r3;
   11590              :                                                 }
   11591            0 :                                                 _o2[1] = captures[2];
   11592            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11593            0 :                                                 _o1[0] = _r2;
   11594              :                                               }
   11595            0 :                                               _o1[1] = captures[4];
   11596            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11597            0 :                                               res_op0 = _r1;
   11598              :                                             }
   11599            0 :                                             tree _r;
   11600            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, type, 1, res_op0);
   11601            0 :                                             if (!_r)
   11602            0 :                                               goto next_after_fail1499;
   11603            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   11604            0 :                                             return _r;
   11605              :                                           }
   11606            0 : next_after_fail1499:;
   11607              :                                         }
   11608              :                                     }
   11609              :                                 }
   11610            0 :                                 break;
   11611              :                               }
   11612              :                             default:;
   11613              :                             }
   11614              :                         }
   11615              :                       break;
   11616           24 :                     case CFN_BUILT_IN_EXP10:
   11617           24 :                       if (call_expr_nargs (_p1) == 1)
   11618              :     {
   11619           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11620           24 :                           {
   11621           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11622           24 :                             if (flag_unsafe_math_optimizations
   11623              : )
   11624              :                               {
   11625           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1500;
   11626           24 :                                 {
   11627           24 :                                   tree res_op0;
   11628           24 :                                   {
   11629           24 :                                     tree _o1[2], _r1;
   11630           24 :                                     _o1[0] = captures[1];
   11631           24 :                                     _o1[1] = captures[3];
   11632           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11633           24 :                                     res_op0 = _r1;
   11634              :                                   }
   11635           24 :                                   tree _r;
   11636           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, type, 1, res_op0);
   11637           24 :                                   if (!_r)
   11638            0 :                                     goto next_after_fail1500;
   11639           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
   11640           24 :                                   return _r;
   11641              :                                 }
   11642            0 : next_after_fail1500:;
   11643              :                               }
   11644              :                           }
   11645              :                         }
   11646              :                       break;
   11647              :                     default:;
   11648              :                     }
   11649              :                   break;
   11650              :                 default:;
   11651              :                 }
   11652              :             }
   11653              :           break;
   11654           48 :         case CFN_BUILT_IN_EXP2F:
   11655           48 :           if (call_expr_nargs (_p0) == 1)
   11656              :     {
   11657           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11658           48 :               switch (TREE_CODE (_p1))
   11659              :                 {
   11660           24 :                 case CALL_EXPR:
   11661           24 :                   switch (get_call_combined_fn (_p1))
   11662              :                     {
   11663            0 :                     case CFN_BUILT_IN_POWF:
   11664            0 :                       if (call_expr_nargs (_p1) == 2)
   11665              :     {
   11666            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11667            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11668            0 :                           switch (TREE_CODE (_q40))
   11669              :                             {
   11670            0 :                             case REAL_CST:
   11671            0 :                               {
   11672            0 :                                 {
   11673            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11674            0 :                                   if (flag_unsafe_math_optimizations
   11675              : )
   11676              :                                     {
   11677            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11678            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11679              : )
   11680              :                                         {
   11681            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1501;
   11682            0 :                                           {
   11683            0 :                                             tree res_op0;
   11684            0 :                                             {
   11685            0 :                                               tree _o1[2], _r1;
   11686            0 :                                               {
   11687            0 :                                                 tree _o2[2], _r2;
   11688            0 :                                                 {
   11689            0 :                                                   tree _o3[1], _r3;
   11690            0 :                                                   _o3[0] = captures[1];
   11691            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2F, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11692            0 :                                                   if (!_r3)
   11693            0 :                                                     goto next_after_fail1501;
   11694            0 :                                                   _o2[0] = _r3;
   11695              :                                                 }
   11696            0 :                                                 _o2[1] = captures[2];
   11697            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11698            0 :                                                 _o1[0] = _r2;
   11699              :                                               }
   11700            0 :                                               _o1[1] = captures[4];
   11701            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11702            0 :                                               res_op0 = _r1;
   11703              :                                             }
   11704            0 :                                             tree _r;
   11705            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, type, 1, res_op0);
   11706            0 :                                             if (!_r)
   11707            0 :                                               goto next_after_fail1501;
   11708            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   11709            0 :                                             return _r;
   11710              :                                           }
   11711            0 : next_after_fail1501:;
   11712              :                                         }
   11713              :                                     }
   11714              :                                 }
   11715            0 :                                 break;
   11716              :                               }
   11717              :                             default:;
   11718              :                             }
   11719              :                         }
   11720              :                       break;
   11721           24 :                     case CFN_BUILT_IN_EXP2F:
   11722           24 :                       if (call_expr_nargs (_p1) == 1)
   11723              :     {
   11724           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11725           24 :                           {
   11726           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11727           24 :                             if (flag_unsafe_math_optimizations
   11728              : )
   11729              :                               {
   11730           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1502;
   11731           24 :                                 {
   11732           24 :                                   tree res_op0;
   11733           24 :                                   {
   11734           24 :                                     tree _o1[2], _r1;
   11735           24 :                                     _o1[0] = captures[1];
   11736           24 :                                     _o1[1] = captures[3];
   11737           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11738           24 :                                     res_op0 = _r1;
   11739              :                                   }
   11740           24 :                                   tree _r;
   11741           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, type, 1, res_op0);
   11742           24 :                                   if (!_r)
   11743            0 :                                     goto next_after_fail1502;
   11744           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
   11745           24 :                                   return _r;
   11746              :                                 }
   11747            0 : next_after_fail1502:;
   11748              :                               }
   11749              :                           }
   11750              :                         }
   11751              :                       break;
   11752              :                     default:;
   11753              :                     }
   11754              :                   break;
   11755              :                 default:;
   11756              :                 }
   11757              :             }
   11758              :           break;
   11759           48 :         case CFN_BUILT_IN_EXP2L:
   11760           48 :           if (call_expr_nargs (_p0) == 1)
   11761              :     {
   11762           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11763           48 :               switch (TREE_CODE (_p1))
   11764              :                 {
   11765           24 :                 case CALL_EXPR:
   11766           24 :                   switch (get_call_combined_fn (_p1))
   11767              :                     {
   11768            0 :                     case CFN_BUILT_IN_POWL:
   11769            0 :                       if (call_expr_nargs (_p1) == 2)
   11770              :     {
   11771            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11772            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11773            0 :                           switch (TREE_CODE (_q40))
   11774              :                             {
   11775            0 :                             case REAL_CST:
   11776            0 :                               {
   11777            0 :                                 {
   11778            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11779            0 :                                   if (flag_unsafe_math_optimizations
   11780              : )
   11781              :                                     {
   11782            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11783            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11784              : )
   11785              :                                         {
   11786            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1503;
   11787            0 :                                           {
   11788            0 :                                             tree res_op0;
   11789            0 :                                             {
   11790            0 :                                               tree _o1[2], _r1;
   11791            0 :                                               {
   11792            0 :                                                 tree _o2[2], _r2;
   11793            0 :                                                 {
   11794            0 :                                                   tree _o3[1], _r3;
   11795            0 :                                                   _o3[0] = captures[1];
   11796            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11797            0 :                                                   if (!_r3)
   11798            0 :                                                     goto next_after_fail1503;
   11799            0 :                                                   _o2[0] = _r3;
   11800              :                                                 }
   11801            0 :                                                 _o2[1] = captures[2];
   11802            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11803            0 :                                                 _o1[0] = _r2;
   11804              :                                               }
   11805            0 :                                               _o1[1] = captures[4];
   11806            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11807            0 :                                               res_op0 = _r1;
   11808              :                                             }
   11809            0 :                                             tree _r;
   11810            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, type, 1, res_op0);
   11811            0 :                                             if (!_r)
   11812            0 :                                               goto next_after_fail1503;
   11813            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   11814            0 :                                             return _r;
   11815              :                                           }
   11816            0 : next_after_fail1503:;
   11817              :                                         }
   11818              :                                     }
   11819              :                                 }
   11820            0 :                                 break;
   11821              :                               }
   11822              :                             default:;
   11823              :                             }
   11824              :                         }
   11825              :                       break;
   11826           24 :                     case CFN_BUILT_IN_EXP2L:
   11827           24 :                       if (call_expr_nargs (_p1) == 1)
   11828              :     {
   11829           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11830           24 :                           {
   11831           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11832           24 :                             if (flag_unsafe_math_optimizations
   11833              : )
   11834              :                               {
   11835           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1504;
   11836           24 :                                 {
   11837           24 :                                   tree res_op0;
   11838           24 :                                   {
   11839           24 :                                     tree _o1[2], _r1;
   11840           24 :                                     _o1[0] = captures[1];
   11841           24 :                                     _o1[1] = captures[3];
   11842           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11843           24 :                                     res_op0 = _r1;
   11844              :                                   }
   11845           24 :                                   tree _r;
   11846           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, type, 1, res_op0);
   11847           24 :                                   if (!_r)
   11848            0 :                                     goto next_after_fail1504;
   11849           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
   11850           24 :                                   return _r;
   11851              :                                 }
   11852            0 : next_after_fail1504:;
   11853              :                               }
   11854              :                           }
   11855              :                         }
   11856              :                       break;
   11857              :                     default:;
   11858              :                     }
   11859              :                   break;
   11860              :                 default:;
   11861              :                 }
   11862              :             }
   11863              :           break;
   11864            5 :         case CFN_BUILT_IN_LDEXP:
   11865            5 :           if (call_expr_nargs (_p0) == 2)
   11866              :     {
   11867            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11868            5 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   11869            5 :               switch (TREE_CODE (_p1))
   11870              :                 {
   11871            2 :                 case REAL_CST:
   11872            2 :                   {
   11873            2 :                     {
   11874            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   11875            2 :                       tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXP);
   11876            2 :                       if (res) return res;
   11877              :                     }
   11878            1 :                     break;
   11879              :                   }
   11880            4 :                 default:;
   11881              :                 }
   11882            4 :               switch (TREE_CODE (_q20))
   11883              :                 {
   11884            3 :                 case REAL_CST:
   11885            3 :                   {
   11886            3 :                     {
   11887            3 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   11888            3 :                       tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXP);
   11889            3 :                       if (res) return res;
   11890              :                     }
   11891            0 :                     break;
   11892              :                   }
   11893              :                 default:;
   11894              :                 }
   11895              :             }
   11896              :           break;
   11897           24 :         case CFN_BUILT_IN_POW10:
   11898           24 :           if (call_expr_nargs (_p0) == 1)
   11899              :     {
   11900           24 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11901           24 :               switch (TREE_CODE (_p1))
   11902              :                 {
   11903           12 :                 case CALL_EXPR:
   11904           12 :                   switch (get_call_combined_fn (_p1))
   11905              :                     {
   11906            0 :                     case CFN_BUILT_IN_POW:
   11907            0 :                       if (call_expr_nargs (_p1) == 2)
   11908              :     {
   11909            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11910            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11911            0 :                           switch (TREE_CODE (_q40))
   11912              :                             {
   11913            0 :                             case REAL_CST:
   11914            0 :                               {
   11915            0 :                                 {
   11916            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11917            0 :                                   if (flag_unsafe_math_optimizations
   11918              : )
   11919              :                                     {
   11920            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11921            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11922              : )
   11923              :                                         {
   11924            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1505;
   11925            0 :                                           {
   11926            0 :                                             tree res_op0;
   11927            0 :                                             {
   11928            0 :                                               tree _o1[2], _r1;
   11929            0 :                                               {
   11930            0 :                                                 tree _o2[2], _r2;
   11931            0 :                                                 {
   11932            0 :                                                   tree _o3[1], _r3;
   11933            0 :                                                   _o3[0] = captures[1];
   11934            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11935            0 :                                                   if (!_r3)
   11936            0 :                                                     goto next_after_fail1505;
   11937            0 :                                                   _o2[0] = _r3;
   11938              :                                                 }
   11939            0 :                                                 _o2[1] = captures[2];
   11940            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11941            0 :                                                 _o1[0] = _r2;
   11942              :                                               }
   11943            0 :                                               _o1[1] = captures[4];
   11944            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11945            0 :                                               res_op0 = _r1;
   11946              :                                             }
   11947            0 :                                             tree _r;
   11948            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, type, 1, res_op0);
   11949            0 :                                             if (!_r)
   11950            0 :                                               goto next_after_fail1505;
   11951            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   11952            0 :                                             return _r;
   11953              :                                           }
   11954            0 : next_after_fail1505:;
   11955              :                                         }
   11956              :                                     }
   11957              :                                 }
   11958            0 :                                 break;
   11959              :                               }
   11960              :                             default:;
   11961              :                             }
   11962              :                         }
   11963              :                       break;
   11964           12 :                     case CFN_BUILT_IN_POW10:
   11965           12 :                       if (call_expr_nargs (_p1) == 1)
   11966              :     {
   11967           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11968           12 :                           {
   11969           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11970           12 :                             if (flag_unsafe_math_optimizations
   11971              : )
   11972              :                               {
   11973           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1506;
   11974           12 :                                 {
   11975           12 :                                   tree res_op0;
   11976           12 :                                   {
   11977           12 :                                     tree _o1[2], _r1;
   11978           12 :                                     _o1[0] = captures[1];
   11979           12 :                                     _o1[1] = captures[3];
   11980           12 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11981           12 :                                     res_op0 = _r1;
   11982              :                                   }
   11983           12 :                                   tree _r;
   11984           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, type, 1, res_op0);
   11985           12 :                                   if (!_r)
   11986           12 :                                     goto next_after_fail1506;
   11987            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
   11988            0 :                                   return _r;
   11989              :                                 }
   11990           12 : next_after_fail1506:;
   11991              :                               }
   11992              :                           }
   11993              :                         }
   11994              :                       break;
   11995              :                     default:;
   11996              :                     }
   11997              :                   break;
   11998              :                 default:;
   11999              :                 }
   12000              :             }
   12001              :           break;
   12002              :         default:;
   12003              :         }
   12004              :       break;
   12005     66782547 :     default:;
   12006              :     }
   12007     66782547 :   switch (TREE_CODE (_p1))
   12008              :     {
   12009       892899 :     case CALL_EXPR:
   12010       892899 :       switch (get_call_combined_fn (_p1))
   12011              :         {
   12012            0 :         case CFN_BUILT_IN_LDEXPF:
   12013            0 :           if (call_expr_nargs (_p1) == 2)
   12014              :     {
   12015            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12016            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12017            0 :               switch (TREE_CODE (_q30))
   12018              :                 {
   12019            0 :                 case REAL_CST:
   12020            0 :                   {
   12021            0 :                     {
   12022            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
   12023            0 :                       tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPF);
   12024            0 :                       if (res) return res;
   12025              :                     }
   12026            0 :                     break;
   12027              :                   }
   12028              :                 default:;
   12029              :                 }
   12030              :             }
   12031              :           break;
   12032            0 :         case CFN_BUILT_IN_LDEXPL:
   12033            0 :           if (call_expr_nargs (_p1) == 2)
   12034              :     {
   12035            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12036            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12037            0 :               switch (TREE_CODE (_q30))
   12038              :                 {
   12039            0 :                 case REAL_CST:
   12040            0 :                   {
   12041            0 :                     {
   12042            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
   12043            0 :                       tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPL);
   12044            0 :                       if (res) return res;
   12045              :                     }
   12046            0 :                     break;
   12047              :                   }
   12048              :                 default:;
   12049              :                 }
   12050              :             }
   12051              :           break;
   12052            0 :         case CFN_LDEXP:
   12053            0 :           if (call_expr_nargs (_p1) == 2)
   12054              :     {
   12055            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12056            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12057            0 :               switch (TREE_CODE (_q30))
   12058              :                 {
   12059            0 :                 case REAL_CST:
   12060            0 :                   {
   12061            0 :                     {
   12062            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
   12063            0 :                       tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, CFN_LDEXP);
   12064            0 :                       if (res) return res;
   12065              :                     }
   12066            0 :                     break;
   12067              :                   }
   12068              :                 default:;
   12069              :                 }
   12070              :             }
   12071              :           break;
   12072            0 :         case CFN_BUILT_IN_LDEXP:
   12073            0 :           if (call_expr_nargs (_p1) == 2)
   12074              :     {
   12075            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12076            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12077            0 :               switch (TREE_CODE (_q30))
   12078              :                 {
   12079            0 :                 case REAL_CST:
   12080            0 :                   {
   12081            0 :                     {
   12082            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
   12083            0 :                       tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXP);
   12084            0 :                       if (res) return res;
   12085              :                     }
   12086            0 :                     break;
   12087              :                   }
   12088              :                 default:;
   12089              :                 }
   12090              :             }
   12091              :           break;
   12092              :         default:;
   12093              :         }
   12094              :       break;
   12095     66782547 :     default:;
   12096              :     }
   12097     66782547 :   switch (TREE_CODE (_p0))
   12098              :     {
   12099      2501455 :     case CALL_EXPR:
   12100      2501455 :       switch (get_call_combined_fn (_p0))
   12101              :         {
   12102           29 :         case CFN_BUILT_IN_COS:
   12103           29 :           if (call_expr_nargs (_p0) == 1)
   12104              :     {
   12105           29 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12106           29 :               switch (TREE_CODE (_p1))
   12107              :                 {
   12108            4 :                 case CALL_EXPR:
   12109            4 :                   switch (get_call_combined_fn (_p1))
   12110              :                     {
   12111            2 :                     case CFN_BUILT_IN_TAN:
   12112            2 :                       if (call_expr_nargs (_p1) == 1)
   12113              :     {
   12114            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12115            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12116              :                             {
   12117            2 :                               {
   12118            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
   12119            2 :                                 tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_COS, CFN_BUILT_IN_SIN);
   12120            2 :                                 if (res) return res;
   12121              :                               }
   12122              :                             }
   12123              :                         }
   12124              :                       break;
   12125              :                     default:;
   12126              :                     }
   12127              :                   break;
   12128              :                 default:;
   12129              :                 }
   12130              :             }
   12131              :           break;
   12132            2 :         case CFN_BUILT_IN_TAN:
   12133            2 :           if (call_expr_nargs (_p0) == 1)
   12134              :     {
   12135            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12136            2 :               switch (TREE_CODE (_p1))
   12137              :                 {
   12138            2 :                 case CALL_EXPR:
   12139            2 :                   switch (get_call_combined_fn (_p1))
   12140              :                     {
   12141            2 :                     case CFN_BUILT_IN_COS:
   12142            2 :                       if (call_expr_nargs (_p1) == 1)
   12143              :     {
   12144            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12145            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12146              :                             {
   12147            2 :                               {
   12148            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   12149            2 :                                 tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_COS, CFN_BUILT_IN_SIN);
   12150            2 :                                 if (res) return res;
   12151              :                               }
   12152              :                             }
   12153              :                         }
   12154              :                       break;
   12155              :                     default:;
   12156              :                     }
   12157              :                   break;
   12158              :                 default:;
   12159              :                 }
   12160              :             }
   12161              :           break;
   12162           18 :         case CFN_BUILT_IN_COSF:
   12163           18 :           if (call_expr_nargs (_p0) == 1)
   12164              :     {
   12165           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12166           18 :               switch (TREE_CODE (_p1))
   12167              :                 {
   12168            9 :                 case CALL_EXPR:
   12169            9 :                   switch (get_call_combined_fn (_p1))
   12170              :                     {
   12171            2 :                     case CFN_BUILT_IN_TANF:
   12172            2 :                       if (call_expr_nargs (_p1) == 1)
   12173              :     {
   12174            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12175            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12176              :                             {
   12177            2 :                               {
   12178            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
   12179            2 :                                 tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_SINF);
   12180            2 :                                 if (res) return res;
   12181              :                               }
   12182              :                             }
   12183              :                         }
   12184              :                       break;
   12185              :                     default:;
   12186              :                     }
   12187              :                   break;
   12188              :                 default:;
   12189              :                 }
   12190              :             }
   12191              :           break;
   12192            2 :         case CFN_BUILT_IN_COSL:
   12193            2 :           if (call_expr_nargs (_p0) == 1)
   12194              :     {
   12195            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12196            2 :               switch (TREE_CODE (_p1))
   12197              :                 {
   12198            2 :                 case CALL_EXPR:
   12199            2 :                   switch (get_call_combined_fn (_p1))
   12200              :                     {
   12201            2 :                     case CFN_BUILT_IN_TANL:
   12202            2 :                       if (call_expr_nargs (_p1) == 1)
   12203              :     {
   12204            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12205            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12206              :                             {
   12207            2 :                               {
   12208            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
   12209            2 :                                 tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_SINL);
   12210            2 :                                 if (res) return res;
   12211              :                               }
   12212              :                             }
   12213              :                         }
   12214              :                       break;
   12215              :                     default:;
   12216              :                     }
   12217              :                   break;
   12218              :                 default:;
   12219              :                 }
   12220              :             }
   12221              :           break;
   12222            2 :         case CFN_BUILT_IN_TANF:
   12223            2 :           if (call_expr_nargs (_p0) == 1)
   12224              :     {
   12225            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12226            2 :               switch (TREE_CODE (_p1))
   12227              :                 {
   12228            2 :                 case CALL_EXPR:
   12229            2 :                   switch (get_call_combined_fn (_p1))
   12230              :                     {
   12231            2 :                     case CFN_BUILT_IN_COSF:
   12232            2 :                       if (call_expr_nargs (_p1) == 1)
   12233              :     {
   12234            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12235            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12236              :                             {
   12237            2 :                               {
   12238            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   12239            2 :                                 tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_SINF);
   12240            2 :                                 if (res) return res;
   12241              :                               }
   12242              :                             }
   12243              :                         }
   12244              :                       break;
   12245              :                     default:;
   12246              :                     }
   12247              :                   break;
   12248              :                 default:;
   12249              :                 }
   12250              :             }
   12251              :           break;
   12252            2 :         case CFN_BUILT_IN_TANL:
   12253            2 :           if (call_expr_nargs (_p0) == 1)
   12254              :     {
   12255            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12256            2 :               switch (TREE_CODE (_p1))
   12257              :                 {
   12258            2 :                 case CALL_EXPR:
   12259            2 :                   switch (get_call_combined_fn (_p1))
   12260              :                     {
   12261            2 :                     case CFN_BUILT_IN_COSL:
   12262            2 :                       if (call_expr_nargs (_p1) == 1)
   12263              :     {
   12264            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12265            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12266              :                             {
   12267            2 :                               {
   12268            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   12269            2 :                                 tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_SINL);
   12270            2 :                                 if (res) return res;
   12271              :                               }
   12272              :                             }
   12273              :                         }
   12274              :                       break;
   12275              :                     default:;
   12276              :                     }
   12277              :                   break;
   12278              :                 default:;
   12279              :                 }
   12280              :             }
   12281              :           break;
   12282            0 :         case CFN_COS:
   12283            0 :           if (call_expr_nargs (_p0) == 1)
   12284              :     {
   12285            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12286            0 :               switch (TREE_CODE (_p1))
   12287              :                 {
   12288            0 :                 case CALL_EXPR:
   12289            0 :                   switch (get_call_combined_fn (_p1))
   12290              :                     {
   12291            0 :                     case CFN_TAN:
   12292            0 :                       if (call_expr_nargs (_p1) == 1)
   12293              :     {
   12294            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12295            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12296              :                             {
   12297            0 :                               {
   12298            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
   12299            0 :                                 tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, CFN_TAN, CFN_COS, CFN_SIN);
   12300            0 :                                 if (res) return res;
   12301              :                               }
   12302              :                             }
   12303              :                         }
   12304              :                       break;
   12305              :                     default:;
   12306              :                     }
   12307              :                   break;
   12308              :                 default:;
   12309              :                 }
   12310              :             }
   12311              :           break;
   12312            0 :         case CFN_TAN:
   12313            0 :           if (call_expr_nargs (_p0) == 1)
   12314              :     {
   12315            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12316            0 :               switch (TREE_CODE (_p1))
   12317              :                 {
   12318            0 :                 case CALL_EXPR:
   12319            0 :                   switch (get_call_combined_fn (_p1))
   12320              :                     {
   12321            0 :                     case CFN_COS:
   12322            0 :                       if (call_expr_nargs (_p1) == 1)
   12323              :     {
   12324            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12325            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12326              :                             {
   12327            0 :                               {
   12328            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   12329            0 :                                 tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, CFN_TAN, CFN_COS, CFN_SIN);
   12330            0 :                                 if (res) return res;
   12331              :                               }
   12332              :                             }
   12333              :                         }
   12334              :                       break;
   12335              :                     default:;
   12336              :                     }
   12337              :                   break;
   12338              :                 default:;
   12339              :                 }
   12340              :             }
   12341              :           break;
   12342              :         default:;
   12343              :         }
   12344              :       break;
   12345     66782535 :     default:;
   12346              :     }
   12347     66782535 :   switch (TREE_CODE (_p1))
   12348              :     {
   12349       892887 :     case CALL_EXPR:
   12350       892887 :       switch (get_call_combined_fn (_p1))
   12351              :         {
   12352           60 :         case CFN_BUILT_IN_POW:
   12353           60 :           if (call_expr_nargs (_p1) == 2)
   12354              :     {
   12355           60 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12356           60 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12357           60 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12358              :                 {
   12359            0 :                   switch (TREE_CODE (_q31))
   12360              :                     {
   12361            0 :                     case REAL_CST:
   12362            0 :                       {
   12363            0 :                         {
   12364            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   12365            0 :                           tree res = generic_simplify_203 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
   12366            0 :                           if (res) return res;
   12367              :                         }
   12368            0 :                         break;
   12369              :                       }
   12370              :                     default:;
   12371              :                     }
   12372              :                 }
   12373              :             }
   12374              :           break;
   12375           23 :         case CFN_BUILT_IN_POWF:
   12376           23 :           if (call_expr_nargs (_p1) == 2)
   12377              :     {
   12378           23 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12379           23 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12380           23 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12381              :                 {
   12382            0 :                   switch (TREE_CODE (_q31))
   12383              :                     {
   12384            0 :                     case REAL_CST:
   12385            0 :                       {
   12386            0 :                         {
   12387            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   12388            0 :                           tree res = generic_simplify_203 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
   12389            0 :                           if (res) return res;
   12390              :                         }
   12391            0 :                         break;
   12392              :                       }
   12393              :                     default:;
   12394              :                     }
   12395              :                 }
   12396              :             }
   12397              :           break;
   12398           12 :         case CFN_BUILT_IN_POWL:
   12399           12 :           if (call_expr_nargs (_p1) == 2)
   12400              :     {
   12401           12 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12402           12 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12403           12 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12404              :                 {
   12405            0 :                   switch (TREE_CODE (_q31))
   12406              :                     {
   12407            0 :                     case REAL_CST:
   12408            0 :                       {
   12409            0 :                         {
   12410            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   12411            0 :                           tree res = generic_simplify_203 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
   12412            0 :                           if (res) return res;
   12413              :                         }
   12414            0 :                         break;
   12415              :                       }
   12416              :                     default:;
   12417              :                     }
   12418              :                 }
   12419              :             }
   12420              :           break;
   12421            0 :         case CFN_POW:
   12422            0 :           if (call_expr_nargs (_p1) == 2)
   12423              :     {
   12424            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12425            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12426            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12427              :                 {
   12428            0 :                   switch (TREE_CODE (_q31))
   12429              :                     {
   12430            0 :                     case REAL_CST:
   12431            0 :                       {
   12432            0 :                         {
   12433            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   12434            0 :                           tree res = generic_simplify_203 (loc, type, _p0, _p1, captures, CFN_POW);
   12435            0 :                           if (res) return res;
   12436              :                         }
   12437            0 :                         break;
   12438              :                       }
   12439              :                     default:;
   12440              :                     }
   12441              :                 }
   12442              :             }
   12443              :           break;
   12444              :         default:;
   12445              :         }
   12446              :       break;
   12447     66782535 :     default:;
   12448              :     }
   12449     66782535 :   switch (TREE_CODE (_p0))
   12450              :     {
   12451            1 :     case VEC_PERM_EXPR:
   12452            1 :       {
   12453            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12454            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12455            1 :         tree _q22 = TREE_OPERAND (_p0, 2);
   12456            1 :         if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
   12457              :           {
   12458            1 :             switch (TREE_CODE (_p1))
   12459              :               {
   12460            0 :               case VEC_PERM_EXPR:
   12461            0 :                 {
   12462            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
   12463            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
   12464            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
   12465            0 :                   if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
   12466              :                     {
   12467            0 :                       if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
   12468              :                         {
   12469            0 :                           {
   12470            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
   12471            0 :                             if (VECTOR_INTEGER_TYPE_P (type)
   12472              : )
   12473              :                               {
   12474            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1507;
   12475            0 :                                 {
   12476            0 :                                   tree res_op0;
   12477            0 :                                   {
   12478            0 :                                     tree _o1[2], _r1;
   12479            0 :                                     _o1[0] = captures[0];
   12480            0 :                                     _o1[1] = captures[2];
   12481            0 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12482            0 :                                     captures[3] = _r1;
   12483              :                                   }
   12484            0 :                                   res_op0 = unshare_expr (captures[3]);
   12485            0 :                                   tree res_op1;
   12486            0 :                                   res_op1 = captures[3];
   12487            0 :                                   tree res_op2;
   12488            0 :                                   res_op2 = captures[1];
   12489            0 :                                   tree _r;
   12490            0 :                                   _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
   12491            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 912, __FILE__, __LINE__, true);
   12492            0 :                                   return _r;
   12493              :                                 }
   12494            0 : next_after_fail1507:;
   12495              :                               }
   12496              :                           }
   12497              :                         }
   12498              :                     }
   12499              :                   break;
   12500              :                 }
   12501            1 :               default:;
   12502              :               }
   12503            1 :             switch (TREE_CODE (_q22))
   12504              :               {
   12505            0 :               case VECTOR_CST:
   12506            0 :                 {
   12507            0 :                   switch (TREE_CODE (_p1))
   12508              :                     {
   12509            0 :                     case VEC_PERM_EXPR:
   12510            0 :                       {
   12511            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   12512            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   12513            0 :                         tree _q62 = TREE_OPERAND (_p1, 2);
   12514            0 :                         if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
   12515              :                           {
   12516            0 :                             if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
   12517              :                               {
   12518            0 :                                 switch (TREE_CODE (_q62))
   12519              :                                   {
   12520            0 :                                   case VECTOR_CST:
   12521            0 :                                     {
   12522            0 :                                       {
   12523            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
   12524            0 :                                         tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, MULT_EXPR);
   12525            0 :                                         if (res) return res;
   12526              :                                       }
   12527            0 :                                       break;
   12528              :                                     }
   12529              :                                   default:;
   12530              :                                   }
   12531              :                               }
   12532              :                           }
   12533              :                         break;
   12534              :                       }
   12535              :                     default:;
   12536              :                     }
   12537              :                   break;
   12538              :                 }
   12539              :               default:;
   12540              :               }
   12541              :           }
   12542              :         break;
   12543              :       }
   12544      2501443 :     case CALL_EXPR:
   12545      2501443 :       switch (get_call_combined_fn (_p0))
   12546              :         {
   12547          115 :         case CFN_BUILT_IN_POW:
   12548          115 :           if (call_expr_nargs (_p0) == 2)
   12549              :     {
   12550          115 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12551          115 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12552          115 :               switch (TREE_CODE (_p1))
   12553              :                 {
   12554           80 :                 case CALL_EXPR:
   12555           80 :                   switch (get_call_combined_fn (_p1))
   12556              :                     {
   12557           20 :                     case CFN_BUILT_IN_POW:
   12558           20 :                       if (call_expr_nargs (_p1) == 2)
   12559              :     {
   12560           20 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12561           20 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12562           20 :                           if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12563              :                             {
   12564           14 :                               {
   12565           14 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   12566           14 :                                 tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
   12567           14 :                                 if (res) return res;
   12568              :                               }
   12569              :                             }
   12570            6 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12571              :                             {
   12572            2 :                               {
   12573            2 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12574            2 :                                 tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
   12575            2 :                                 if (res) return res;
   12576              :                               }
   12577              :                             }
   12578              :                         }
   12579              :                       break;
   12580              :                     default:;
   12581              :                     }
   12582              :                   break;
   12583              :                 default:;
   12584              :                 }
   12585              :             }
   12586              :           break;
   12587           19 :         case CFN_BUILT_IN_POWF:
   12588           19 :           if (call_expr_nargs (_p0) == 2)
   12589              :     {
   12590           19 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12591           19 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12592           19 :               switch (TREE_CODE (_p1))
   12593              :                 {
   12594           13 :                 case CALL_EXPR:
   12595           13 :                   switch (get_call_combined_fn (_p1))
   12596              :                     {
   12597           13 :                     case CFN_BUILT_IN_POWF:
   12598           13 :                       if (call_expr_nargs (_p1) == 2)
   12599              :     {
   12600           13 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12601           13 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12602           13 :                           if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12603              :                             {
   12604           12 :                               {
   12605           12 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   12606           12 :                                 tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
   12607           12 :                                 if (res) return res;
   12608              :                               }
   12609              :                             }
   12610            1 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12611              :                             {
   12612            0 :                               {
   12613            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12614            0 :                                 tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
   12615            0 :                                 if (res) return res;
   12616              :                               }
   12617              :                             }
   12618              :                         }
   12619              :                       break;
   12620              :                     default:;
   12621              :                     }
   12622              :                   break;
   12623              :                 default:;
   12624              :                 }
   12625              :             }
   12626              :           break;
   12627           26 :         case CFN_BUILT_IN_POWI:
   12628           26 :           if (call_expr_nargs (_p0) == 2)
   12629              :     {
   12630           26 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12631           26 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12632           26 :               switch (TREE_CODE (_p1))
   12633              :                 {
   12634            0 :                 case CALL_EXPR:
   12635            0 :                   switch (get_call_combined_fn (_p1))
   12636              :                     {
   12637            0 :                     case CFN_BUILT_IN_POWI:
   12638            0 :                       if (call_expr_nargs (_p1) == 2)
   12639              :     {
   12640            0 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12641            0 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12642            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12643              :                             {
   12644            0 :                               {
   12645            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12646            0 :                                 if (flag_unsafe_math_optimizations && canonicalize_math_p ()
   12647              : )
   12648              :                                   {
   12649            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1508;
   12650            0 :                                     {
   12651            0 :                                       tree res_op0;
   12652            0 :                                       {
   12653            0 :                                         tree _o1[2], _r1;
   12654            0 :                                         _o1[0] = captures[1];
   12655            0 :                                         _o1[1] = captures[4];
   12656            0 :                                         _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12657            0 :                                         res_op0 = _r1;
   12658              :                                       }
   12659            0 :                                       tree res_op1;
   12660            0 :                                       res_op1 = captures[2];
   12661            0 :                                       tree _r;
   12662            0 :                                       _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POWI, type, 2, res_op0, res_op1);
   12663            0 :                                       if (!_r)
   12664            0 :                                         goto next_after_fail1508;
   12665            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 992, __FILE__, __LINE__, true);
   12666            0 :                                       return _r;
   12667              :                                     }
   12668            0 : next_after_fail1508:;
   12669              :                                   }
   12670              :                               }
   12671              :                             }
   12672              :                         }
   12673              :                       break;
   12674              :                     default:;
   12675              :                     }
   12676              :                   break;
   12677              :                 default:;
   12678              :                 }
   12679              :             }
   12680              :           break;
   12681           12 :         case CFN_BUILT_IN_POWL:
   12682           12 :           if (call_expr_nargs (_p0) == 2)
   12683              :     {
   12684           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12685           12 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12686           12 :               switch (TREE_CODE (_p1))
   12687              :                 {
   12688           12 :                 case CALL_EXPR:
   12689           12 :                   switch (get_call_combined_fn (_p1))
   12690              :                     {
   12691           12 :                     case CFN_BUILT_IN_POWL:
   12692           12 :                       if (call_expr_nargs (_p1) == 2)
   12693              :     {
   12694           12 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12695           12 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12696           12 :                           if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12697              :                             {
   12698           12 :                               {
   12699           12 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   12700           12 :                                 tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
   12701           12 :                                 if (res) return res;
   12702              :                               }
   12703              :                             }
   12704            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12705              :                             {
   12706            0 :                               {
   12707            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12708            0 :                                 tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
   12709            0 :                                 if (res) return res;
   12710              :                               }
   12711              :                             }
   12712              :                         }
   12713              :                       break;
   12714              :                     default:;
   12715              :                     }
   12716              :                   break;
   12717              :                 default:;
   12718              :                 }
   12719              :             }
   12720              :           break;
   12721            0 :         case CFN_POW:
   12722            0 :           if (call_expr_nargs (_p0) == 2)
   12723              :     {
   12724            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12725            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12726            0 :               switch (TREE_CODE (_p1))
   12727              :                 {
   12728            0 :                 case CALL_EXPR:
   12729            0 :                   switch (get_call_combined_fn (_p1))
   12730              :                     {
   12731            0 :                     case CFN_POW:
   12732            0 :                       if (call_expr_nargs (_p1) == 2)
   12733              :     {
   12734            0 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12735            0 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12736            0 :                           if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12737              :                             {
   12738            0 :                               {
   12739            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   12740            0 :                                 tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, CFN_POW);
   12741            0 :                                 if (res) return res;
   12742              :                               }
   12743              :                             }
   12744            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12745              :                             {
   12746            0 :                               {
   12747            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12748            0 :                                 tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, CFN_POW);
   12749            0 :                                 if (res) return res;
   12750              :                               }
   12751              :                             }
   12752              :                         }
   12753              :                       break;
   12754              :                     default:;
   12755              :                     }
   12756              :                   break;
   12757              :                 default:;
   12758              :                 }
   12759              :             }
   12760              :           break;
   12761           14 :         case CFN_BUILT_IN_POWIF:
   12762           14 :           if (call_expr_nargs (_p0) == 2)
   12763              :     {
   12764           14 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12765           14 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12766           14 :               switch (TREE_CODE (_p1))
   12767              :                 {
   12768            0 :                 case CALL_EXPR:
   12769            0 :                   switch (get_call_combined_fn (_p1))
   12770              :                     {
   12771            0 :                     case CFN_BUILT_IN_POWIF:
   12772            0 :                       if (call_expr_nargs (_p1) == 2)
   12773              :     {
   12774            0 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12775            0 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12776            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12777              :                             {
   12778            0 :                               {
   12779            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12780            0 :                                 if (flag_unsafe_math_optimizations && canonicalize_math_p ()
   12781              : )
   12782              :                                   {
   12783            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1509;
   12784            0 :                                     {
   12785            0 :                                       tree res_op0;
   12786            0 :                                       {
   12787            0 :                                         tree _o1[2], _r1;
   12788            0 :                                         _o1[0] = captures[1];
   12789            0 :                                         _o1[1] = captures[4];
   12790            0 :                                         _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12791            0 :                                         res_op0 = _r1;
   12792              :                                       }
   12793            0 :                                       tree res_op1;
   12794            0 :                                       res_op1 = captures[2];
   12795            0 :                                       tree _r;
   12796            0 :                                       _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POWIF, type, 2, res_op0, res_op1);
   12797            0 :                                       if (!_r)
   12798            0 :                                         goto next_after_fail1509;
   12799            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 992, __FILE__, __LINE__, true);
   12800            0 :                                       return _r;
   12801              :                                     }
   12802            0 : next_after_fail1509:;
   12803              :                                   }
   12804              :                               }
   12805              :                             }
   12806              :                         }
   12807              :                       break;
   12808              :                     default:;
   12809              :                     }
   12810              :                   break;
   12811              :                 default:;
   12812              :                 }
   12813              :             }
   12814              :           break;
   12815            5 :         case CFN_BUILT_IN_POWIL:
   12816            5 :           if (call_expr_nargs (_p0) == 2)
   12817              :     {
   12818            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12819            5 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12820            5 :               switch (TREE_CODE (_p1))
   12821              :                 {
   12822            0 :                 case CALL_EXPR:
   12823            0 :                   switch (get_call_combined_fn (_p1))
   12824              :                     {
   12825            0 :                     case CFN_BUILT_IN_POWIL:
   12826            0 :                       if (call_expr_nargs (_p1) == 2)
   12827              :     {
   12828            0 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12829            0 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12830            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12831              :                             {
   12832            0 :                               {
   12833            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12834            0 :                                 if (flag_unsafe_math_optimizations && canonicalize_math_p ()
   12835              : )
   12836              :                                   {
   12837            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1510;
   12838            0 :                                     {
   12839            0 :                                       tree res_op0;
   12840            0 :                                       {
   12841            0 :                                         tree _o1[2], _r1;
   12842            0 :                                         _o1[0] = captures[1];
   12843            0 :                                         _o1[1] = captures[4];
   12844            0 :                                         _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12845            0 :                                         res_op0 = _r1;
   12846              :                                       }
   12847            0 :                                       tree res_op1;
   12848            0 :                                       res_op1 = captures[2];
   12849            0 :                                       tree _r;
   12850            0 :                                       _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POWIL, type, 2, res_op0, res_op1);
   12851            0 :                                       if (!_r)
   12852            0 :                                         goto next_after_fail1510;
   12853            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 992, __FILE__, __LINE__, true);
   12854            0 :                                       return _r;
   12855              :                                     }
   12856            0 : next_after_fail1510:;
   12857              :                                   }
   12858              :                               }
   12859              :                             }
   12860              :                         }
   12861              :                       break;
   12862              :                     default:;
   12863              :                     }
   12864              :                   break;
   12865              :                 default:;
   12866              :                 }
   12867              :             }
   12868              :           break;
   12869              :         default:;
   12870              :         }
   12871              :       break;
   12872              :     default:;
   12873              :     }
   12874              :   return NULL_TREE;
   12875              : }
   12876              : #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.