LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-7.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 40.9 % 7796 3188
Test Date: 2026-05-30 15:37:04 Functions: 63.2 % 57 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    107288066 : tree_maybe_cmp (tree t, tree *res_ops)
      11              : {
      12    107288066 :   const tree type = TREE_TYPE (t);
      13    107288066 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14    107288066 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15    107288066 :   switch (TREE_CODE (t))
      16              :     {
      17       451568 :     case LT_EXPR:
      18       451568 :     case LE_EXPR:
      19       451568 :     case EQ_EXPR:
      20       451568 :     case NE_EXPR:
      21       451568 :     case GE_EXPR:
      22       451568 :     case GT_EXPR:
      23       451568 :     case UNORDERED_EXPR:
      24       451568 :     case ORDERED_EXPR:
      25       451568 :     case UNLT_EXPR:
      26       451568 :     case UNLE_EXPR:
      27       451568 :     case UNGT_EXPR:
      28       451568 :     case UNGE_EXPR:
      29       451568 :     case UNEQ_EXPR:
      30       451568 :     case LTGT_EXPR:
      31       451568 :       {
      32       451568 :         tree _p0 = TREE_OPERAND (t, 0);
      33       451568 :         tree _p1 = TREE_OPERAND (t, 1);
      34       451568 :         {
      35       451568 :           tree captures[3] ATTRIBUTE_UNUSED = { t, _p0, _p1 };
      36       451568 :           {
      37       451568 :             res_ops[0] = captures[0];
      38       451568 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 5, __FILE__, __LINE__, false);
      39       451568 :             return true;
      40              :           }
      41              :         }
      42     21330378 :         break;
      43              :       }
      44     21330378 :     CASE_CONVERT:
      45     21330378 :       {
      46     21330378 :         tree _p0 = TREE_OPERAND (t, 0);
      47     21330378 :         switch (TREE_CODE (_p0))
      48              :           {
      49         1437 :           case LT_EXPR:
      50         1437 :           case LE_EXPR:
      51         1437 :           case EQ_EXPR:
      52         1437 :           case NE_EXPR:
      53         1437 :           case GE_EXPR:
      54         1437 :           case GT_EXPR:
      55         1437 :           case UNORDERED_EXPR:
      56         1437 :           case ORDERED_EXPR:
      57         1437 :           case UNLT_EXPR:
      58         1437 :           case UNLE_EXPR:
      59         1437 :           case UNGT_EXPR:
      60         1437 :           case UNGE_EXPR:
      61         1437 :           case UNEQ_EXPR:
      62         1437 :           case LTGT_EXPR:
      63         1437 :             {
      64         1437 :               tree _q20 = TREE_OPERAND (_p0, 0);
      65         1437 :               tree _q21 = TREE_OPERAND (_p0, 1);
      66         1437 :               {
      67         1437 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
      68         1437 :                 if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
      69              : )
      70              :                   {
      71          774 :                     {
      72          774 :                       res_ops[0] = captures[0];
      73          774 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 6, __FILE__, __LINE__, false);
      74          774 :                       return true;
      75              :                     }
      76              :                   }
      77              :               }
      78              :               break;
      79              :             }
      80              :           default:;
      81              :           }
      82              :         break;
      83              :       }
      84       181890 :     case BIT_XOR_EXPR:
      85       181890 :       {
      86       181890 :         tree _p0 = TREE_OPERAND (t, 0);
      87       181890 :         tree _p1 = TREE_OPERAND (t, 1);
      88       181890 :         {
      89       181890 :           tree captures[3] ATTRIBUTE_UNUSED = { t, _p0, _p1 };
      90       181890 :           if (INTEGRAL_TYPE_P (type)
      91       181890 :  && TYPE_PRECISION (type) == 1
      92              : )
      93              :             {
      94        87362 :               {
      95        87362 :                 res_ops[0] = captures[0];
      96        87362 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 7, __FILE__, __LINE__, false);
      97        87362 :                 return true;
      98              :               }
      99              :             }
     100              :         }
     101              :         break;
     102              :       }
     103              :     default:;
     104              :     }
     105              :   return false;
     106              : }
     107              : 
     108              : bool
     109            0 : tree_float_value_p (tree t)
     110              : {
     111            0 :   const tree type = TREE_TYPE (t);
     112            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     113            0 :   if (TREE_SIDE_EFFECTS (t)) return false;
     114            0 :   {
     115            0 :     tree captures[1] ATTRIBUTE_UNUSED = { t };
     116            0 :     if (TYPE_MAIN_VARIANT (TREE_TYPE (captures[0])) == float_type_node
     117              : )
     118              :       {
     119            0 :         {
     120            0 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 45, __FILE__, __LINE__, false);
     121            0 :           return true;
     122              :         }
     123              :       }
     124              :   }
     125              :   return false;
     126              : }
     127              : 
     128              : tree
     129            0 : generic_simplify_7 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     130              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     131              : {
     132            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     133            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail78;
     134            0 :   {
     135            0 :     tree res_op0;
     136            0 :     res_op0 = captures[1];
     137            0 :     tree res_op1;
     138            0 :     res_op1 = captures[2];
     139            0 :     tree _r;
     140            0 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     141            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 55, __FILE__, __LINE__, true);
     142              :     return _r;
     143              :   }
     144            0 : next_after_fail78:;
     145            0 :   return NULL_TREE;
     146              : }
     147              : 
     148              : tree
     149          589 : generic_simplify_13 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     150              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     151              : {
     152          589 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     153          589 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail88;
     154          589 :   {
     155          589 :     if (! tree_invariant_p (captures[3])) goto next_after_fail88;
     156            1 :     tree res_op0;
     157            1 :     {
     158            1 :       tree _o1[2], _r1;
     159            1 :       _o1[0] = captures[2];
     160            1 :       _o1[1] = unshare_expr (captures[3]);
     161            1 :       _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     162            1 :       res_op0 = _r1;
     163              :     }
     164            1 :     tree res_op1;
     165            1 :     {
     166            1 :       tree _o1[2], _r1;
     167            1 :       {
     168            1 :         tree _o2[1], _r2;
     169            1 :         _o2[0] = captures[4];
     170            1 :         _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
     171            1 :         if (EXPR_P (_r2))
     172            0 :           goto next_after_fail88;
     173            1 :         _o1[0] = _r2;
     174              :       }
     175            1 :       _o1[1] = captures[3];
     176            1 :       _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     177            1 :       if (EXPR_P (_r1))
     178            0 :         goto next_after_fail88;
     179            1 :       res_op1 = _r1;
     180              :     }
     181            1 :     tree _r;
     182            1 :     _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     183            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 61, __FILE__, __LINE__, true);
     184              :     return _r;
     185              :   }
     186              : next_after_fail88:;
     187              :   return NULL_TREE;
     188              : }
     189              : 
     190              : tree
     191           10 : generic_simplify_26 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     192              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     193              : {
     194           10 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     195           10 :   if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
     196           10 :  && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
     197              : )
     198              :     {
     199           10 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail101;
     200           10 :       {
     201           10 :         tree res_op0;
     202           10 :         {
     203           10 :           tree _o1[1], _r1;
     204           10 :           _o1[0] = captures[0];
     205           10 :           if (TREE_TYPE (_o1[0]) != type)
     206              :             {
     207            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     208              :             }
     209              :           else
     210              :             _r1 = _o1[0];
     211           10 :           res_op0 = _r1;
     212              :         }
     213           10 :         tree res_op1;
     214           10 :         {
     215           10 :           tree _o1[1], _r1;
     216           10 :           _o1[0] = captures[1];
     217           10 :           if (TREE_TYPE (_o1[0]) != type)
     218              :             {
     219            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     220              :             }
     221              :           else
     222              :             _r1 = _o1[0];
     223           10 :           res_op1 = _r1;
     224              :         }
     225           10 :         tree _r;
     226           10 :         _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     227           10 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 74, __FILE__, __LINE__, true);
     228           10 :         return _r;
     229              :       }
     230            0 : next_after_fail101:;
     231              :     }
     232              :   return NULL_TREE;
     233              : }
     234              : 
     235              : tree
     236            0 : generic_simplify_37 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     237              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     238              :  const enum tree_code ARG_UNUSED (op),
     239              :  const enum tree_code ARG_UNUSED (cmp),
     240              :  const enum tree_code ARG_UNUSED (icmp))
     241              : {
     242            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     243            0 :   if (INTEGRAL_TYPE_P (type)
     244            0 :  && invert_tree_comparison (cmp, HONOR_NANS (captures[1])) == icmp
     245            0 :  && canonicalize_math_after_vectorization_p ()
     246              : )
     247              :     {
     248              :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail114;
     249              :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail114;
     250              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail114;
     251              :       {
     252              :         tree res_op0;
     253              :         res_op0 = captures[0];
     254              :         tree res_op1;
     255              :         res_op1 = captures[3];
     256              :         tree res_op2;
     257              :         res_op2 = captures[5];
     258              :         tree _r;
     259              :         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
     260              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 86, __FILE__, __LINE__, true);
     261              :         return _r;
     262              :       }
     263            0 : next_after_fail114:;
     264              :     }
     265            0 :   return NULL_TREE;
     266              : }
     267              : 
     268              : tree
     269           19 : generic_simplify_44 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     270              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     271              :  const enum tree_code ARG_UNUSED (op))
     272              : {
     273           19 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     274           38 :   if (INTEGRAL_TYPE_P (type)
     275           19 :  && operand_equal_p (captures[2], captures[6], 0)
     276           38 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[4])) == 0
     277              : )
     278              :     {
     279            0 :       {
     280            0 :  tree t = type;
     281            0 :  if (!TYPE_OVERFLOW_WRAPS (t))
     282            0 :  t = unsigned_type_for (t);
     283            0 :  wide_int c = wi::add (wi::to_wide (captures[3]), wi::to_wide (captures[7]));
     284            0 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail122;
     285            0 :           if (TREE_SIDE_EFFECTS (captures[7])) goto next_after_fail122;
     286            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail122;
     287            0 :           {
     288            0 :             tree res_op0;
     289            0 :             {
     290            0 :               tree _o1[2], _r1;
     291            0 :               {
     292            0 :                 tree _o2[1], _r2;
     293            0 :                 _o2[0] = captures[2];
     294            0 :                 if (TREE_TYPE (_o2[0]) != t)
     295              :                   {
     296            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     297              :                   }
     298              :                 else
     299              :                   _r2 = _o2[0];
     300            0 :                 _o1[0] = _r2;
     301              :               }
     302            0 :               _o1[1] =  wide_int_to_tree (t, c);
     303            0 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     304            0 :               res_op0 = _r1;
     305              :             }
     306            0 :             tree _r;
     307            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     308            0 :             if (TREE_SIDE_EFFECTS (captures[6]))
     309            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[6]), _r);
     310            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 88, __FILE__, __LINE__, true);
     311            0 :             return _r;
     312              :           }
     313            0 : next_after_fail122:;
     314            0 :       }
     315              :     }
     316              :   return NULL_TREE;
     317              : }
     318              : 
     319              : tree
     320         5301 : generic_simplify_54 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     321              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     322              : {
     323         5301 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     324         5301 :   if (fold_real_zero_addition_p (type, captures[0], captures[1], 0)
     325              : )
     326              :     {
     327           95 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail134;
     328           95 :       {
     329           95 :         tree res_op0;
     330           95 :         res_op0 = captures[0];
     331           95 :         tree _r;
     332           95 :         _r = non_lvalue_loc (loc, res_op0);
     333           95 :         if (TREE_SIDE_EFFECTS (captures[1]))
     334            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     335           95 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 102, __FILE__, __LINE__, true);
     336           95 :         return _r;
     337              :       }
     338            0 : next_after_fail134:;
     339              :     }
     340              :   return NULL_TREE;
     341              : }
     342              : 
     343              : tree
     344            0 : generic_simplify_59 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     345              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     346              : {
     347            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     348            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail140;
     349            0 :   {
     350            0 :     tree res_op0;
     351            0 :     res_op0 = captures[0];
     352            0 :     tree res_op1;
     353            0 :     res_op1 = captures[1];
     354            0 :     tree _r;
     355            0 :     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     356            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 108, __FILE__, __LINE__, true);
     357              :     return _r;
     358              :   }
     359            0 : next_after_fail140:;
     360            0 :   return NULL_TREE;
     361              : }
     362              : 
     363              : tree
     364           10 : generic_simplify_66 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     365              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     366              : {
     367           10 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     368           10 :   if (!TYPE_SATURATING (type)
     369              : )
     370              :     {
     371           10 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     372           20 :  && !FIXED_POINT_TYPE_P (type)
     373              : )
     374              :         {
     375           10 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail155;
     376           10 :           {
     377           10 :             tree res_op0;
     378           10 :             res_op0 = captures[2];
     379           10 :             tree res_op1;
     380           10 :             res_op1 = captures[1];
     381           10 :             tree _r;
     382           10 :             _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     383           10 :             if (TREE_SIDE_EFFECTS (captures[0]))
     384            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     385           10 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 123, __FILE__, __LINE__, true);
     386           10 :             return _r;
     387              :           }
     388            0 : next_after_fail155:;
     389              :         }
     390              :     }
     391              :   return NULL_TREE;
     392              : }
     393              : 
     394              : tree
     395       420988 : generic_simplify_73 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     396              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     397              :  const enum tree_code ARG_UNUSED (plusminus))
     398              : {
     399       420988 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     400       420988 :   if (!TYPE_SATURATING (type)
     401       420988 :  && (!FLOAT_TYPE_P (type) || flag_associative_math)
     402              : )
     403              :     {
     404       420448 :       if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
     405              : )
     406              :         {
     407           55 :           if ((!ANY_INTEGRAL_TYPE_P (type)
     408       420407 :  || TYPE_OVERFLOW_WRAPS (type)
     409        87271 :  || (INTEGRAL_TYPE_P (type)
     410        87257 :  && ((tree_expr_nonzero_p (captures[1])
     411        59762 :  && (plusminus == MINUS_EXPR
     412        59621 :  || expr_not_equal_to (captures[1],
     413       480069 :  wi::minus_one (TYPE_PRECISION (type)),
     414              :  gimple_match_ctx (captures[0]))))
     415        27495 :  || expr_not_equal_to (captures[2],
     416              :  (plusminus == PLUS_EXPR
     417       447943 :  ? wi::max_value (TYPE_PRECISION (type), SIGNED)
     418         1759 :  : wi::min_value (TYPE_PRECISION (type), SIGNED)),
     419              :  gimple_match_ctx (captures[0])))))
     420       420448 :  && single_use (captures[0])
     421              : )
     422              :             {
     423       418889 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail163;
     424       418889 :               {
     425       418889 :                 tree res_op0;
     426       418889 :                 {
     427       418889 :                   tree _o1[2], _r1;
     428       418889 :                   _o1[0] = captures[2];
     429       418889 :                   _o1[1] =  build_one_cst (type);
     430       418889 :                   _r1 = fold_build2_loc (loc, plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     431       418889 :                   res_op0 = _r1;
     432              :                 }
     433       418889 :                 tree res_op1;
     434       418889 :                 res_op1 = captures[1];
     435       418889 :                 tree _r;
     436       418889 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     437       418889 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 131, __FILE__, __LINE__, true);
     438       418889 :                 return _r;
     439              :               }
     440            0 : next_after_fail163:;
     441              :             }
     442              :         }
     443              :     }
     444              :   return NULL_TREE;
     445              : }
     446              : 
     447              : tree
     448          116 : generic_simplify_81 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     449              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     450              :  const combined_fn ARG_UNUSED (POPCOUNT))
     451              : {
     452          116 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     453          232 :   if (INTEGRAL_TYPE_P (type)
     454          580 :  && (wi::bit_and (widest_int::from (tree_nonzero_bits (captures[1]), UNSIGNED),
     455          464 :  widest_int::from (tree_nonzero_bits (captures[3]), UNSIGNED))
     456          348 :  == 0)
     457              : )
     458              :     {
     459            1 :       {
     460            1 :  tree utype = TREE_TYPE (captures[1]);
     461            1 :  if (TYPE_PRECISION (utype) < TYPE_PRECISION (TREE_TYPE (captures[3])))
     462            0 :  utype = TREE_TYPE (captures[3]);
     463            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail172;
     464            1 :           {
     465            1 :             tree res_op0;
     466            1 :             {
     467            1 :               tree _o1[2], _r1;
     468            1 :               {
     469            1 :                 tree _o2[1], _r2;
     470            1 :                 _o2[0] = captures[1];
     471            1 :                 if (TREE_TYPE (_o2[0]) != utype)
     472              :                   {
     473            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
     474              :                   }
     475              :                 else
     476              :                   _r2 = _o2[0];
     477            1 :                 _o1[0] = _r2;
     478              :               }
     479            1 :               {
     480            1 :                 tree _o2[1], _r2;
     481            1 :                 _o2[0] = captures[3];
     482            1 :                 if (TREE_TYPE (_o2[0]) != utype)
     483              :                   {
     484            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
     485              :                   }
     486              :                 else
     487              :                   _r2 = _o2[0];
     488            1 :                 _o1[1] = _r2;
     489              :               }
     490            1 :               _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     491            1 :               res_op0 = _r1;
     492              :             }
     493            1 :             tree _r;
     494            1 :             _r = maybe_build_call_expr_loc (loc, POPCOUNT, type, 1, res_op0);
     495            1 :             if (!_r)
     496            0 :               goto next_after_fail172;
     497            1 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 140, __FILE__, __LINE__, true);
     498            1 :             return _r;
     499              :           }
     500              : next_after_fail172:;
     501              :       }
     502              :     }
     503              :   return NULL_TREE;
     504              : }
     505              : 
     506              : tree
     507          276 : generic_simplify_94 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     508              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     509              : {
     510          276 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     511          276 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     512          276 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     513              : )
     514              :     {
     515          276 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail185;
     516          276 :       {
     517          276 :         tree res_op0;
     518          276 :         {
     519          276 :           tree _o1[2], _r1;
     520          276 :           {
     521          276 :             tree _o2[1], _r2;
     522          276 :             _o2[0] = captures[3];
     523          276 :             _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
     524          276 :             _o1[0] = _r2;
     525              :           }
     526          276 :           _o1[1] = captures[0];
     527          276 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     528          276 :           res_op0 = _r1;
     529              :         }
     530          276 :         tree _r;
     531          276 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     532          276 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 152, __FILE__, __LINE__, true);
     533          276 :         return _r;
     534              :       }
     535            0 : next_after_fail185:;
     536              :     }
     537              :   return NULL_TREE;
     538              : }
     539              : 
     540              : tree
     541        10229 : generic_simplify_104 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     542              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     543              : {
     544        10229 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     545        10229 :   if (!TYPE_SATURATING (type)
     546              : )
     547              :     {
     548        10229 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     549        20458 :  && !FIXED_POINT_TYPE_P (type)
     550              : )
     551              :         {
     552        10229 :           if (INTEGRAL_TYPE_P (type)
     553        10229 :  && TYPE_OVERFLOW_UNDEFINED (type)
     554         3277 :  && TREE_CODE (captures[1]) != INTEGER_CST
     555        11430 :  && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
     556              : )
     557              :             {
     558         1201 :               {
     559         1201 :  tree utype = unsigned_type_for (type);
     560         1201 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail199;
     561         1201 :                   {
     562         1201 :                     tree res_op0;
     563         1201 :                     {
     564         1201 :                       tree _o1[1], _r1;
     565         1201 :                       {
     566         1201 :                         tree _o2[1], _r2;
     567         1201 :                         _o2[0] = captures[1];
     568         1201 :                         if (TREE_TYPE (_o2[0]) != utype)
     569              :                           {
     570         1201 :                             _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
     571              :                           }
     572              :                         else
     573              :                           _r2 = _o2[0];
     574         1201 :                         _o1[0] = _r2;
     575              :                       }
     576         1201 :                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     577         1201 :                       res_op0 = _r1;
     578              :                     }
     579         1201 :                     tree _r;
     580         1201 :                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     581         1201 :                     if (TREE_SIDE_EFFECTS (captures[2]))
     582            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     583         1201 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 166, __FILE__, __LINE__, true);
     584         1201 :                     return _r;
     585              :                   }
     586            0 : next_after_fail199:;
     587              :               }
     588              :             }
     589              :           else
     590              :             {
     591         9028 :               if (element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
     592         9028 :  || (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     593         2343 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1])))
     594              : )
     595              :                 {
     596         8759 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail200;
     597         8759 :                   {
     598         8759 :                     tree res_op0;
     599         8759 :                     {
     600         8759 :                       tree _o1[1], _r1;
     601         8759 :                       _o1[0] = captures[1];
     602         8759 :                       if (TREE_TYPE (_o1[0]) != type)
     603              :                         {
     604         8759 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     605              :                         }
     606              :                       else
     607              :                         _r1 = _o1[0];
     608         8759 :                       res_op0 = _r1;
     609              :                     }
     610         8759 :                     tree _r;
     611         8759 :                     _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     612         8759 :                     if (TREE_SIDE_EFFECTS (captures[2]))
     613            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     614         8759 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 167, __FILE__, __LINE__, true);
     615         8759 :                     return _r;
     616              :                   }
     617            0 : next_after_fail200:;
     618              :                 }
     619              :             }
     620              :         }
     621              :     }
     622              :   return NULL_TREE;
     623              : }
     624              : 
     625              : tree
     626            0 : generic_simplify_117 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     627              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     628              : {
     629            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     630            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail214;
     631            0 :   {
     632            0 :     tree res_op0;
     633            0 :     res_op0 = captures[0];
     634            0 :     tree res_op1;
     635            0 :     {
     636            0 :       tree _o1[1], _r1;
     637            0 :       _o1[0] = captures[2];
     638            0 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     639            0 :       res_op1 = _r1;
     640              :     }
     641            0 :     tree _r;
     642            0 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     643            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 180, __FILE__, __LINE__, true);
     644              :     return _r;
     645              :   }
     646            0 : next_after_fail214:;
     647            0 :   return NULL_TREE;
     648              : }
     649              : 
     650              : tree
     651            0 : generic_simplify_125 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     652              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     653              : {
     654            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     655            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail222;
     656            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail222;
     657            0 :   {
     658            0 :     tree res_op0;
     659            0 :     res_op0 = captures[0];
     660            0 :     tree res_op1;
     661            0 :     res_op1 = captures[3];
     662            0 :     tree _r;
     663            0 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     664            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 186, __FILE__, __LINE__, true);
     665              :     return _r;
     666              :   }
     667              : next_after_fail222:;
     668              :   return NULL_TREE;
     669              : }
     670              : 
     671              : tree
     672        18399 : generic_simplify_136 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     673              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     674              : {
     675        18399 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     676        18399 :   {
     677        18399 :  bool wascmp;
     678        18399 :       if ((bitwise_inverted_equal_p (captures[0], captures[2], wascmp)
     679        18399 :  || bitwise_inverted_equal_p (captures[1], captures[2], wascmp))
     680        18399 :  && (!wascmp || element_precision (type) == 1)
     681              : )
     682              :         {
     683            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail233;
     684            0 :           {
     685            0 :             tree _r;
     686            0 :             _r =  build_all_ones_cst (TREE_TYPE (captures[0]));
     687            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
     688            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     689            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
     690            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     691            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
     692            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     693            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 193, __FILE__, __LINE__, true);
     694            0 :             return _r;
     695              :           }
     696            0 : next_after_fail233:;
     697              :         }
     698              :   }
     699        18399 :   return NULL_TREE;
     700              : }
     701              : 
     702              : tree
     703           82 : generic_simplify_147 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     704              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     705              :  const enum tree_code ARG_UNUSED (op))
     706              : {
     707           82 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     708           82 :   if (bitwise_equal_p (captures[4], captures[7])
     709              : )
     710              :     {
     711           16 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail249;
     712           16 :       {
     713           16 :         tree res_op0;
     714           16 :         {
     715           16 :           tree _o1[2], _r1;
     716           16 :           {
     717           16 :             tree _o2[2], _r2;
     718           16 :             _o2[0] = captures[5];
     719           16 :             {
     720           16 :               tree _o3[1], _r3;
     721           16 :               _o3[0] = captures[6];
     722           16 :               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     723              :                 {
     724           16 :                   _r3 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     725              :                 }
     726              :               else
     727              :                 _r3 = _o3[0];
     728           16 :               _o2[1] = _r3;
     729              :             }
     730           16 :             _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     731           16 :             _o1[0] = _r2;
     732              :           }
     733           16 :           {
     734           16 :             tree _o2[1], _r2;
     735           16 :             _o2[0] = captures[4];
     736           16 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     737              :               {
     738            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     739              :               }
     740              :             else
     741              :               _r2 = _o2[0];
     742           16 :             _o1[1] = _r2;
     743              :           }
     744           16 :           _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     745           16 :           res_op0 = _r1;
     746              :         }
     747           16 :         tree _r;
     748           16 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     749           16 :         if (TREE_SIDE_EFFECTS (captures[7]))
     750            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[7]), _r);
     751           16 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 201, __FILE__, __LINE__, true);
     752           16 :         return _r;
     753              :       }
     754            0 : next_after_fail249:;
     755              :     }
     756              :   return NULL_TREE;
     757              : }
     758              : 
     759              : tree
     760          441 : generic_simplify_158 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     761              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     762              :  const enum tree_code ARG_UNUSED (code2),
     763              :  const enum tree_code ARG_UNUSED (code1))
     764              : {
     765          441 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     766          441 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
     767          410 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     768          441 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     769            3 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     770            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
     771           31 :  && bitwise_equal_p (captures[2], captures[5]))
     772              : )
     773              :     {
     774          412 :       {
     775          412 :  bool one_before = false;
     776          412 :  bool one_after = false;
     777          412 :  int cmp = 0;
     778          412 :  bool allbits = true;
     779          412 :  if (TREE_CODE (captures[2]) == INTEGER_CST
     780          410 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     781              :  {
     782          410 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
     783          410 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
     784          410 :  auto t2 = wi::to_wide (captures[5]);
     785          410 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
     786          410 :  if (cmp < 0
     787          410 :  && t1 == t2 - 1)
     788              :  one_before = true;
     789          410 :  if (cmp > 0
     790          410 :  && t1 == t2 + 1)
     791              :  one_after = true;
     792              :  }
     793          412 :  bool val;
     794          412 :  switch (code2)
     795              :  {
     796          396 :  case EQ_EXPR: val = (cmp == 0); break;
     797            0 :  case NE_EXPR: val = (cmp != 0); break;
     798            2 :  case LT_EXPR: val = (cmp < 0); break;
     799            0 :  case GT_EXPR: val = (cmp > 0); break;
     800           14 :  case LE_EXPR: val = (cmp <= 0); break;
     801            0 :  case GE_EXPR: val = (cmp >= 0); break;
     802            0 :  default: gcc_unreachable ();
     803              :  }
     804          412 :           if (code1 == EQ_EXPR && val
     805              : )
     806              :             {
     807            7 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail269;
     808            7 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail269;
     809            7 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail269;
     810            7 :               {
     811            7 :                 tree _r;
     812            7 :                 _r = captures[3];
     813            7 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 211, __FILE__, __LINE__, true);
     814            7 :                 return _r;
     815              :               }
     816              : next_after_fail269:;
     817              :             }
     818              :           else
     819              :             {
     820          405 :               if (code1 == NE_EXPR && val && allbits
     821              : )
     822              :                 {
     823            7 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail270;
     824            7 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail270;
     825            7 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail270;
     826            7 :                   {
     827            7 :                     tree _r;
     828            7 :                     _r =  constant_boolean_node (true, type);
     829            7 :                     if (TREE_SIDE_EFFECTS (captures[4]))
     830            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
     831            7 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 212, __FILE__, __LINE__, true);
     832            7 :                     return _r;
     833              :                   }
     834              : next_after_fail270:;
     835              :                 }
     836              :               else
     837              :                 {
     838          398 :                   if (code1 == NE_EXPR && !val && allbits
     839              : )
     840              :                     {
     841            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail271;
     842            0 :                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail271;
     843            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail271;
     844            0 :                       {
     845            0 :                         tree _r;
     846            0 :                         _r = captures[0];
     847            0 :                         if (TREE_SIDE_EFFECTS (captures[4]))
     848            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
     849            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 213, __FILE__, __LINE__, true);
     850            0 :                         return _r;
     851              :                       }
     852              : next_after_fail271:;
     853              :                     }
     854              :                   else
     855              :                     {
     856          398 :                       if (code1 == EQ_EXPR
     857          398 :  && code2 == GT_EXPR
     858            0 :  && cmp == 0
     859            0 :  && allbits
     860          398 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     861            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     862            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     863              : )
     864              :                         {
     865            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail272;
     866            0 :                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail272;
     867            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail272;
     868            0 :                           {
     869            0 :                             tree res_op0;
     870            0 :                             res_op0 = captures[4];
     871            0 :                             tree res_op1;
     872            0 :                             res_op1 = captures[5];
     873            0 :                             tree _r;
     874            0 :                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     875            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 214, __FILE__, __LINE__, true);
     876            0 :                             return _r;
     877              :                           }
     878              : next_after_fail272:;
     879              :                         }
     880              :                       else
     881              :                         {
     882          398 :                           if (code1 == EQ_EXPR
     883          398 :  && code2 == LT_EXPR
     884            2 :  && cmp == 0
     885            2 :  && allbits
     886          400 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     887            2 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     888            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     889              : )
     890              :                             {
     891            2 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail273;
     892            2 :                               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail273;
     893            2 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail273;
     894            2 :                               {
     895            2 :                                 tree res_op0;
     896            2 :                                 res_op0 = captures[4];
     897            2 :                                 tree res_op1;
     898            2 :                                 res_op1 = captures[5];
     899            2 :                                 tree _r;
     900            2 :                                 _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     901            2 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 215, __FILE__, __LINE__, true);
     902            2 :                                 return _r;
     903              :                               }
     904              : next_after_fail273:;
     905              :                             }
     906              :                           else
     907              :                             {
     908          396 :                               if (code1 == EQ_EXPR
     909          396 :  && code2 == GE_EXPR
     910              :  && one_before
     911            0 :  && allbits
     912          396 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     913            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     914            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     915              : )
     916              :                                 {
     917            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail274;
     918            0 :                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail274;
     919            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail274;
     920            0 :                                   {
     921            0 :                                     tree res_op0;
     922            0 :                                     res_op0 = captures[4];
     923            0 :                                     tree res_op1;
     924            0 :                                     {
     925            0 :                                       tree _o1[1], _r1;
     926            0 :                                       _o1[0] = captures[2];
     927            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     928              :                                         {
     929            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     930              :                                         }
     931              :                                       else
     932              :                                         _r1 = _o1[0];
     933            0 :                                       res_op1 = _r1;
     934              :                                     }
     935            0 :                                     tree _r;
     936            0 :                                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     937            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 216, __FILE__, __LINE__, true);
     938            0 :                                     return _r;
     939              :                                   }
     940              : next_after_fail274:;
     941              :                                 }
     942              :                               else
     943              :                                 {
     944          396 :                                   if (code1 == EQ_EXPR
     945          396 :  && code2 == LE_EXPR
     946              :  && one_after
     947            0 :  && allbits
     948          396 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     949            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     950            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     951              : )
     952              :                                     {
     953            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail275;
     954            0 :                                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail275;
     955            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail275;
     956            0 :                                       {
     957            0 :                                         tree res_op0;
     958            0 :                                         res_op0 = captures[4];
     959            0 :                                         tree res_op1;
     960            0 :                                         {
     961            0 :                                           tree _o1[1], _r1;
     962            0 :                                           _o1[0] = captures[2];
     963            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     964              :                                             {
     965            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     966              :                                             }
     967              :                                           else
     968              :                                             _r1 = _o1[0];
     969            0 :                                           res_op1 = _r1;
     970              :                                         }
     971            0 :                                         tree _r;
     972            0 :                                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     973            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 217, __FILE__, __LINE__, true);
     974            0 :                                         return _r;
     975              :                                       }
     976              : next_after_fail275:;
     977              :                                     }
     978              :                                 }
     979              :                             }
     980              :                         }
     981              :                     }
     982              :                 }
     983              :             }
     984              :       }
     985              :     }
     986              :   return NULL_TREE;
     987              : }
     988              : 
     989              : tree
     990          171 : generic_simplify_203 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     991              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     992              :  const enum tree_code ARG_UNUSED (cmp))
     993              : {
     994          171 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     995          342 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     996          338 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE(captures[0]))
     997              : )
     998              :     {
     999            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail343;
    1000            3 :       {
    1001            3 :         tree res_op0;
    1002            3 :         res_op0 = captures[0];
    1003            3 :         tree res_op1;
    1004            3 :         res_op1 =  build_zero_cst (TREE_TYPE(captures[0]));
    1005            3 :         tree _r;
    1006            3 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1007            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 258, __FILE__, __LINE__, true);
    1008            3 :         return _r;
    1009              :       }
    1010            0 : next_after_fail343:;
    1011              :     }
    1012              :   return NULL_TREE;
    1013              : }
    1014              : 
    1015              : tree
    1016            4 : generic_simplify_210 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1017              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1018              : {
    1019            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1020            8 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1021            8 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) == 1
    1022              : )
    1023              :     {
    1024            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail353;
    1025            0 :       {
    1026            0 :         tree res_op0;
    1027            0 :         {
    1028            0 :           tree _o1[2], _r1;
    1029            0 :           _o1[0] = captures[1];
    1030            0 :           _o1[1] = captures[2];
    1031            0 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1032            0 :           res_op0 = _r1;
    1033              :         }
    1034            0 :         tree _r;
    1035            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1036            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 267, __FILE__, __LINE__, true);
    1037            0 :         return _r;
    1038              :       }
    1039            0 : next_after_fail353:;
    1040              :     }
    1041              :   return NULL_TREE;
    1042              : }
    1043              : 
    1044              : tree
    1045         1598 : generic_simplify_215 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1046              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1047              :  const enum tree_code ARG_UNUSED (cmp))
    1048              : {
    1049         1598 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1050         3196 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1051         1598 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))
    1052         3196 :  && (TREE_INT_CST_LOW (captures[1]) & 1) != 0
    1053              : )
    1054              :     {
    1055           10 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail358;
    1056           10 :       {
    1057           10 :         tree res_op0;
    1058           10 :         res_op0 = captures[0];
    1059           10 :         tree res_op1;
    1060           10 :         res_op1 = captures[2];
    1061           10 :         tree _r;
    1062           10 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1063           10 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1064            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1065           10 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 272, __FILE__, __LINE__, true);
    1066           10 :         return _r;
    1067              :       }
    1068            0 : next_after_fail358:;
    1069              :     }
    1070              :   return NULL_TREE;
    1071              : }
    1072              : 
    1073              : tree
    1074        59757 : generic_simplify_223 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1075              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1076              :  const enum tree_code ARG_UNUSED (neeq))
    1077              : {
    1078        59757 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1079        59757 :   {
    1080        59757 :  poly_int64 diff; tree inner_type = TREE_TYPE (captures[1]);
    1081        59757 :       if (ptr_difference_const (captures[2], captures[0], &diff)
    1082              : )
    1083              :         {
    1084        15041 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail379;
    1085        15041 :           {
    1086        15041 :             tree res_op0;
    1087        15041 :             res_op0 =  build_int_cst_type (inner_type, diff);
    1088        15041 :             tree res_op1;
    1089        15041 :             res_op1 = captures[1];
    1090        15041 :             tree _r;
    1091        15041 :             _r = fold_build2_loc (loc, neeq, type, res_op0, res_op1);
    1092        15041 :             if (TREE_SIDE_EFFECTS (captures[0]))
    1093            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1094        15041 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1095            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1096        15041 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 292, __FILE__, __LINE__, true);
    1097        15041 :             return _r;
    1098              :           }
    1099            0 : next_after_fail379:;
    1100              :         }
    1101              :   }
    1102        44716 :   return NULL_TREE;
    1103              : }
    1104              : 
    1105              : tree
    1106          726 : generic_simplify_231 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1107              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1108              :  const enum tree_code ARG_UNUSED (cmp))
    1109              : {
    1110          726 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1111          726 :   if (wi::gt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    1112          726 :  TYPE_SIGN (TREE_TYPE (captures[0])))
    1113              : )
    1114              :     {
    1115           42 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail388;
    1116           42 :       {
    1117           42 :         tree _r;
    1118           42 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1119           42 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1120            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1121           42 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1122            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1123           42 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1124            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1125           42 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 301, __FILE__, __LINE__, true);
    1126           42 :         return _r;
    1127              :       }
    1128            0 : next_after_fail388:;
    1129              :     }
    1130              :   else
    1131              :     {
    1132          684 :       if (wi::lt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    1133          684 :  TYPE_SIGN (TREE_TYPE (captures[0])))
    1134              : )
    1135              :         {
    1136          684 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail389;
    1137          684 :           {
    1138          684 :             tree res_op0;
    1139          684 :             res_op0 = captures[0];
    1140          684 :             tree res_op1;
    1141          684 :             res_op1 = captures[2];
    1142          684 :             tree _r;
    1143          684 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1144          684 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1145            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1146          684 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 302, __FILE__, __LINE__, true);
    1147          684 :             return _r;
    1148              :           }
    1149            0 : next_after_fail389:;
    1150              :         }
    1151              :     }
    1152              :   return NULL_TREE;
    1153              : }
    1154              : 
    1155              : tree
    1156           47 : generic_simplify_242 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1157              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1158              : {
    1159           47 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1160           47 :   if (TREE_CODE (TREE_TYPE (captures[1])) != COMPLEX_TYPE
    1161           47 :  && (!VECTOR_MODE_P (TYPE_MODE (TREE_TYPE (captures[1])))
    1162            7 :  || !target_supports_op_p (TREE_TYPE (captures[1]), TRUNC_DIV_EXPR,
    1163              :  optab_vector)
    1164            0 :  || target_supports_op_p (TREE_TYPE (captures[1]), TRUNC_MOD_EXPR,
    1165              :  optab_vector))
    1166              : )
    1167              :     {
    1168           47 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail410;
    1169           47 :       {
    1170           47 :         tree res_op0;
    1171           47 :         {
    1172           47 :           tree _o1[2], _r1;
    1173           47 :           _o1[0] = captures[1];
    1174           47 :           _o1[1] = captures[2];
    1175           47 :           _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1176           47 :           res_op0 = _r1;
    1177              :         }
    1178           47 :         tree res_op1;
    1179           47 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1180           47 :         tree _r;
    1181           47 :         _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1182           47 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 323, __FILE__, __LINE__, true);
    1183           47 :         return _r;
    1184              :       }
    1185            0 : next_after_fail410:;
    1186              :     }
    1187              :   return NULL_TREE;
    1188              : }
    1189              : 
    1190              : tree
    1191        59941 : generic_simplify_250 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1192              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1193              :  const enum tree_code ARG_UNUSED (cmp))
    1194              : {
    1195        59941 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1196       119882 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1197       119882 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    1198       136294 :  && wi::to_wide (captures[1]) != 0
    1199              : )
    1200              :     {
    1201        16412 :       {
    1202        16412 :  widest_int quot;
    1203        16412 :           if (wi::multiple_of_p (wi::to_widest (captures[2]), wi::to_widest (captures[1]),
    1204        16412 :  TYPE_SIGN (TREE_TYPE (captures[0])), &quot)
    1205              : )
    1206              :             {
    1207        12401 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail421;
    1208        12401 :               {
    1209        12401 :                 tree res_op0;
    1210        12401 :                 res_op0 = captures[0];
    1211        12401 :                 tree res_op1;
    1212        12401 :                 res_op1 =  wide_int_to_tree (TREE_TYPE (captures[0]), quot);
    1213        12401 :                 tree _r;
    1214        12401 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1215        12401 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1216            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1217        12401 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1218            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1219        12401 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 333, __FILE__, __LINE__, true);
    1220        12401 :                 return _r;
    1221              :               }
    1222            0 : next_after_fail421:;
    1223              :             }
    1224              :           else
    1225              :             {
    1226         4011 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail422;
    1227         4011 :               {
    1228         4011 :                 tree _r;
    1229         4011 :                 _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1230         4011 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    1231            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1232         4011 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1233            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1234         4011 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1235            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1236         4011 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 334, __FILE__, __LINE__, true);
    1237         4011 :                 return _r;
    1238              :               }
    1239            0 : next_after_fail422:;
    1240              :             }
    1241        16412 :       }
    1242              :     }
    1243              :   else
    1244              :     {
    1245        87058 :       if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1246        43529 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))
    1247        87058 :  && (wi::bit_and (wi::to_wide (captures[1]), 1) == 1)
    1248              : )
    1249              :         {
    1250         1079 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail423;
    1251         1079 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail423;
    1252         1079 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail423;
    1253         1079 :           {
    1254         1079 :             tree res_op0;
    1255         1079 :             res_op0 = captures[0];
    1256         1079 :             tree res_op1;
    1257         1079 :  tree itype = TREE_TYPE (captures[0]);
    1258         1079 :  int p = TYPE_PRECISION (itype);
    1259         1079 :  wide_int m = wi::one (p + 1) << p;
    1260         1079 :  wide_int a = wide_int::from (wi::to_wide (captures[1]), p + 1, UNSIGNED);
    1261         1079 :  wide_int i = wide_int::from (wi::mod_inv (a, m),
    1262         2158 :  p, TYPE_SIGN (itype));     res_op1 = 
    1263         1079 :  wide_int_to_tree (itype, wi::mul (i, wi::to_wide (captures[2])));
    1264         1079 :             tree _r;
    1265         1079 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1266         1079 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 335, __FILE__, __LINE__, true);
    1267         1079 :             return _r;
    1268         1079 :           }
    1269              : next_after_fail423:;
    1270              :         }
    1271              :     }
    1272              :   return NULL_TREE;
    1273              : }
    1274              : 
    1275              : tree
    1276      5980463 : generic_simplify_266 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1277              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1278              :  const enum tree_code ARG_UNUSED (cmp))
    1279              : {
    1280      5980463 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1281     11960902 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1282      2494762 :  && !(targetm.have_canonicalize_funcptr_for_compare ()
    1283            0 :  && ((POINTER_TYPE_P (TREE_TYPE (captures[1]))
    1284            0 :  && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[1]))))
    1285            0 :  || (POINTER_TYPE_P (TREE_TYPE (captures[3]))
    1286            0 :  && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[3]))))))
    1287      5980463 :  && single_use (captures[0])
    1288              : )
    1289              :     {
    1290      2494762 :       if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[0]))
    1291      1753359 :  && (TREE_CODE (captures[3]) == INTEGER_CST
    1292      1753359 :  || captures[2] != captures[3])
    1293      1753359 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1])) == TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1294              :  || cmp == NE_EXPR
    1295       994338 :  || cmp == EQ_EXPR)
    1296       797980 :  && !POINTER_TYPE_P (TREE_TYPE (captures[1]))
    1297      3179976 :  && (TREE_CODE (TREE_TYPE (captures[1])) != BOOLEAN_TYPE
    1298          390 :  || TREE_CODE (TREE_TYPE (captures[3])) == BOOLEAN_TYPE)
    1299              : )
    1300              :         {
    1301       685214 :           if (TREE_CODE (captures[2]) == INTEGER_CST
    1302              : )
    1303              :             {
    1304            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail481;
    1305            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail481;
    1306            0 :               {
    1307            0 :                 tree res_op0;
    1308            0 :                 res_op0 = captures[1];
    1309            0 :                 tree res_op1;
    1310            0 :                 res_op1 =  force_fit_type (TREE_TYPE (captures[1]),
    1311            0 :  wide_int::from (wi::to_wide (captures[2]),
    1312            0 :  MAX (TYPE_PRECISION (TREE_TYPE (captures[2])),
    1313              :  TYPE_PRECISION (TREE_TYPE (captures[1]))),
    1314            0 :  TYPE_SIGN (TREE_TYPE (captures[2]))),
    1315            0 :  0, TREE_OVERFLOW (captures[2]));
    1316            0 :                 tree _r;
    1317            0 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1318            0 :                 if (TREE_SIDE_EFFECTS (captures[3]))
    1319            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1320            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 392, __FILE__, __LINE__, true);
    1321            0 :                 return _r;
    1322              :               }
    1323              : next_after_fail481:;
    1324              :             }
    1325              :           else
    1326              :             {
    1327       685214 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail482;
    1328       592813 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail482;
    1329       592813 :               {
    1330       592813 :                 tree res_op0;
    1331       592813 :                 res_op0 = captures[1];
    1332       592813 :                 tree res_op1;
    1333       592813 :                 {
    1334       592813 :                   tree _o1[1], _r1;
    1335       592813 :                   _o1[0] = captures[2];
    1336       592813 :                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1337              :                     {
    1338       592691 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1339              :                     }
    1340              :                   else
    1341              :                     _r1 = _o1[0];
    1342       592813 :                   res_op1 = _r1;
    1343              :                 }
    1344       592813 :                 tree _r;
    1345       592813 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1346       592813 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 393, __FILE__, __LINE__, true);
    1347       592813 :                 return _r;
    1348              :               }
    1349              : next_after_fail482:;
    1350              :             }
    1351              :         }
    1352              :       else
    1353              :         {
    1354      1809548 :           if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
    1355              : )
    1356              :             {
    1357       688810 :               if ((cmp == EQ_EXPR || cmp == NE_EXPR
    1358       223745 :  || TYPE_UNSIGNED (TREE_TYPE (captures[0])) == TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1359       115399 :  || (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1360       114338 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))))
    1361       911494 :  && (types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]))
    1362       115295 :  || ((TYPE_PRECISION (TREE_TYPE (captures[1]))
    1363       115295 :  >= TYPE_PRECISION (TREE_TYPE (captures[3])))
    1364        49606 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1365        49606 :  == TYPE_UNSIGNED (TREE_TYPE (captures[3]))))
    1366        77531 :  || (TREE_CODE (captures[2]) == INTEGER_CST
    1367            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1368            0 :  && int_fits_type_p (captures[2], TREE_TYPE (captures[1]))))
    1369              : )
    1370              :                 {
    1371       610218 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail483;
    1372       610218 :                   {
    1373       610218 :                     tree res_op0;
    1374       610218 :                     res_op0 = captures[1];
    1375       610218 :                     tree res_op1;
    1376       610218 :                     {
    1377       610218 :                       tree _o1[1], _r1;
    1378       610218 :                       _o1[0] = captures[3];
    1379       610218 :                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1380              :                         {
    1381       132628 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1382              :                         }
    1383              :                       else
    1384              :                         _r1 = _o1[0];
    1385       610218 :                       res_op1 = _r1;
    1386              :                     }
    1387       610218 :                     tree _r;
    1388       610218 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1389       610218 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 394, __FILE__, __LINE__, true);
    1390       610218 :                     return _r;
    1391              :                   }
    1392            0 : next_after_fail483:;
    1393              :                 }
    1394              :               else
    1395              :                 {
    1396        78592 :                   if (TREE_CODE (captures[2]) == INTEGER_CST
    1397            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1398        78592 :  && !int_fits_type_p (captures[2], TREE_TYPE (captures[1]))
    1399              : )
    1400              :                     {
    1401            0 :                       {
    1402            0 :  tree min = lower_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
    1403            0 :  tree max = upper_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
    1404            0 :  bool above = integer_nonzerop (const_binop (LT_EXPR, type, max, captures[2]));
    1405            0 :  bool below = integer_nonzerop (const_binop (LT_EXPR, type, captures[2], min));
    1406            0 :                           if (above || below
    1407              : )
    1408              :                             {
    1409            0 :                               if (cmp == EQ_EXPR || cmp == NE_EXPR
    1410              : )
    1411              :                                 {
    1412            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail484;
    1413            0 :                                   {
    1414            0 :                                     tree _r;
    1415            0 :                                     _r =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
    1416            0 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1417            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1418            0 :                                     if (TREE_SIDE_EFFECTS (captures[3]))
    1419            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1420            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 395, __FILE__, __LINE__, true);
    1421            0 :                                     return _r;
    1422              :                                   }
    1423            0 : next_after_fail484:;
    1424              :                                 }
    1425              :                               else
    1426              :                                 {
    1427            0 :                                   if (cmp == LT_EXPR || cmp == LE_EXPR
    1428              : )
    1429              :                                     {
    1430            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail485;
    1431            0 :                                       {
    1432            0 :                                         tree _r;
    1433            0 :                                         _r =  constant_boolean_node (above ? true : false, type);
    1434            0 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1435            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1436            0 :                                         if (TREE_SIDE_EFFECTS (captures[3]))
    1437            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1438            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 396, __FILE__, __LINE__, true);
    1439            0 :                                         return _r;
    1440              :                                       }
    1441            0 : next_after_fail485:;
    1442              :                                     }
    1443              :                                   else
    1444              :                                     {
    1445            0 :                                       if (cmp == GT_EXPR || cmp == GE_EXPR
    1446              : )
    1447              :                                         {
    1448            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail486;
    1449            0 :                                           {
    1450            0 :                                             tree _r;
    1451            0 :                                             _r =  constant_boolean_node (above ? false : true, type);
    1452            0 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1453            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1454            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
    1455            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1456            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 397, __FILE__, __LINE__, true);
    1457            0 :                                             return _r;
    1458              :                                           }
    1459            0 : next_after_fail486:;
    1460              :                                         }
    1461              :                                     }
    1462              :                                 }
    1463              :                             }
    1464              :                       }
    1465              :                     }
    1466              :                 }
    1467              :             }
    1468              :           else
    1469              :             {
    1470      2241457 :               if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1471      1005319 :  && (TYPE_PRECISION (TREE_TYPE (captures[0]))
    1472      1005319 :  < TYPE_PRECISION (TREE_TYPE (captures[1])))
    1473        52554 :  && (cmp == EQ_EXPR || cmp == NE_EXPR)
    1474      1122773 :  && types_match (TREE_TYPE (captures[1]),
    1475         2035 :  TREE_TYPE (captures[3]))
    1476              : )
    1477              :                 {
    1478         1617 :                   {
    1479         1617 :  tree itype = TREE_TYPE (captures[0]);
    1480         1617 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail487;
    1481         1617 :                       {
    1482         1617 :                         tree res_op0;
    1483         1617 :                         {
    1484         1617 :                           tree _o1[1], _r1;
    1485         1617 :                           {
    1486         1617 :                             tree _o2[2], _r2;
    1487         1617 :                             _o2[0] = captures[1];
    1488         1617 :                             _o2[1] = captures[3];
    1489         1617 :                             _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1490         1617 :                             _o1[0] = _r2;
    1491              :                           }
    1492         1617 :                           if (TREE_TYPE (_o1[0]) != itype)
    1493              :                             {
    1494         1617 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, itype, _o1[0]);
    1495              :                             }
    1496              :                           else
    1497              :                             _r1 = _o1[0];
    1498         1617 :                           res_op0 = _r1;
    1499              :                         }
    1500         1617 :                         tree res_op1;
    1501         1617 :                         res_op1 =  build_zero_cst (itype);
    1502         1617 :                         tree _r;
    1503         1617 :                         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1504         1617 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 398, __FILE__, __LINE__, true);
    1505         1617 :                         return _r;
    1506              :                       }
    1507            0 : next_after_fail487:;
    1508              :                   }
    1509              :                 }
    1510              :             }
    1511              :         }
    1512              :     }
    1513              :   else
    1514              :     {
    1515      6928666 :       if (FLOAT_TYPE_P (TREE_TYPE (captures[1]))
    1516        85554 :  && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1517        42777 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[1])))
    1518      3571247 :  && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1519        42773 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[3])))
    1520              : )
    1521              :         {
    1522        42769 :           {
    1523        42769 :  tree type1 = TREE_TYPE (captures[3]);
    1524        42769 :  if (TREE_CODE (captures[3]) == REAL_CST && !DECIMAL_FLOAT_TYPE_P (type1))
    1525              :  {
    1526            0 :  REAL_VALUE_TYPE orig = TREE_REAL_CST (captures[3]);
    1527            0 :  if (TYPE_PRECISION (type1) > TYPE_PRECISION (float_type_node)
    1528            0 :  && exact_real_truncate (TYPE_MODE (float_type_node), &orig))
    1529            0 :  type1 = float_type_node;
    1530            0 :  if (TYPE_PRECISION (type1) > TYPE_PRECISION (double_type_node)
    1531            0 :  && exact_real_truncate (TYPE_MODE (double_type_node), &orig))
    1532            0 :  type1 = double_type_node;
    1533              :  }
    1534        42769 :  tree newtype
    1535        42769 :  = (element_precision (TREE_TYPE (captures[1])) > element_precision (type1)
    1536        42769 :  ? TREE_TYPE (captures[1]) : type1);
    1537        42769 :               if (element_precision (TREE_TYPE (captures[0])) > element_precision (newtype)
    1538        42769 :  && (!VECTOR_TYPE_P (type) || is_truth_type_for (newtype, type))
    1539              : )
    1540              :                 {
    1541         1527 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail488;
    1542         1527 :                   {
    1543         1527 :                     tree res_op0;
    1544         1527 :                     {
    1545         1527 :                       tree _o1[1], _r1;
    1546         1527 :                       _o1[0] = captures[1];
    1547         1527 :                       if (TREE_TYPE (_o1[0]) != newtype)
    1548              :                         {
    1549            9 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    1550              :                         }
    1551              :                       else
    1552              :                         _r1 = _o1[0];
    1553         1527 :                       res_op0 = _r1;
    1554              :                     }
    1555         1527 :                     tree res_op1;
    1556         1527 :                     {
    1557         1527 :                       tree _o1[1], _r1;
    1558         1527 :                       _o1[0] = captures[3];
    1559         1527 :                       if (TREE_TYPE (_o1[0]) != newtype)
    1560              :                         {
    1561            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    1562              :                         }
    1563              :                       else
    1564              :                         _r1 = _o1[0];
    1565         1527 :                       res_op1 = _r1;
    1566              :                     }
    1567         1527 :                     tree _r;
    1568         1527 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1569         1527 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 399, __FILE__, __LINE__, true);
    1570         1527 :                     return _r;
    1571              :                   }
    1572            0 : next_after_fail488:;
    1573              :                 }
    1574              :           }
    1575              :         }
    1576              :     }
    1577              :   return NULL_TREE;
    1578              : }
    1579              : 
    1580              : tree
    1581           17 : generic_simplify_298 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1582              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1583              :  const enum tree_code ARG_UNUSED (cmp),
    1584              :  const combined_fn ARG_UNUSED (ffs))
    1585              : {
    1586           17 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1587           17 :   {
    1588           17 :  int prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
    1589           17 :       if (integer_zerop (captures[2])
    1590              : )
    1591              :         {
    1592            9 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail561;
    1593            9 :           {
    1594            9 :             tree res_op0;
    1595            9 :             res_op0 = captures[1];
    1596            9 :             tree res_op1;
    1597            9 :             res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1598            9 :             tree _r;
    1599            9 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1600            9 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1601            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1602            9 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 454, __FILE__, __LINE__, true);
    1603           17 :             return _r;
    1604              :           }
    1605            0 : next_after_fail561:;
    1606              :         }
    1607              :       else
    1608              :         {
    1609            8 :           if (tree_int_cst_sgn (captures[2]) < 0 || wi::to_widest (captures[2]) > prec
    1610              : )
    1611              :             {
    1612            4 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail562;
    1613            4 :               {
    1614            4 :                 tree _r;
    1615            4 :                 _r =  constant_boolean_node (cmp == NE_EXPR ? true : false, type);
    1616            4 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1617            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1618            4 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1619            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1620            4 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 455, __FILE__, __LINE__, true);
    1621            4 :                 return _r;
    1622              :               }
    1623            0 : next_after_fail562:;
    1624              :             }
    1625              :           else
    1626              :             {
    1627            4 :               if (single_use (captures[0])
    1628              : )
    1629              :                 {
    1630            4 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail563;
    1631            4 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail563;
    1632            4 :                   {
    1633            4 :                     tree res_op0;
    1634            4 :                     {
    1635            4 :                       tree _o1[2], _r1;
    1636            4 :                       _o1[0] = captures[1];
    1637            4 :                       _o1[1] =  wide_int_to_tree (TREE_TYPE (captures[1]),
    1638            4 :  wi::mask (tree_to_uhwi (captures[2]),
    1639              :  false, prec));
    1640            4 :                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1641            4 :                       res_op0 = _r1;
    1642              :                     }
    1643            4 :                     tree res_op1;
    1644            4 :                     res_op1 =  wide_int_to_tree (TREE_TYPE (captures[1]),
    1645            4 :  wi::shifted_mask (tree_to_uhwi (captures[2]) - 1, 1,
    1646              :  false, prec));
    1647            4 :                     tree _r;
    1648            4 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1649            4 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 456, __FILE__, __LINE__, true);
    1650            4 :                     return _r;
    1651              :                   }
    1652            0 : next_after_fail563:;
    1653              :                 }
    1654              :             }
    1655              :         }
    1656              :   }
    1657            0 :   return NULL_TREE;
    1658              : }
    1659              : 
    1660              : tree
    1661            1 : generic_simplify_316 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1662              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1663              :  const enum tree_code ARG_UNUSED (div))
    1664              : {
    1665            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1666            0 :   if ((INTEGRAL_TYPE_P (type) || VECTOR_INTEGER_TYPE_P (type))
    1667            1 :  && TYPE_OVERFLOW_UNDEFINED (type)
    1668            1 :  && !integer_zerop (captures[0])
    1669            2 :  && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[0]))
    1670              : )
    1671              :     {
    1672            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail584;
    1673            1 :       {
    1674            1 :         tree _r;
    1675            1 :         _r =  build_minus_one_cst (type);
    1676            1 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1677            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1678            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 475, __FILE__, __LINE__, true);
    1679            1 :         return _r;
    1680              :       }
    1681            0 : next_after_fail584:;
    1682              :     }
    1683              :   return NULL_TREE;
    1684              : }
    1685              : 
    1686              : tree
    1687            3 : generic_simplify_321 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1688              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1689              :  const enum tree_code ARG_UNUSED (div))
    1690              : {
    1691            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1692            3 :   if (INTEGRAL_TYPE_P (type)
    1693            3 :  && wi::multiple_of_p (wi::to_widest (captures[2]), wi::to_widest (captures[3]), SIGNED)
    1694              : )
    1695              :     {
    1696            3 :       if (TYPE_OVERFLOW_UNDEFINED (type) && !TYPE_OVERFLOW_SANITIZED (type)
    1697              : )
    1698              :         {
    1699            3 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail590;
    1700            3 :           {
    1701            3 :             tree res_op0;
    1702            3 :             res_op0 = captures[2];
    1703            3 :             tree res_op1;
    1704            3 :             res_op1 = captures[3];
    1705            3 :             tree _r;
    1706            3 :             _r = fold_build2_loc (loc, div, type, res_op0, res_op1);
    1707            3 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1708            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1709            3 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 481, __FILE__, __LINE__, true);
    1710            3 :             return _r;
    1711              :           }
    1712            0 : next_after_fail590:;
    1713              :         }
    1714              :     }
    1715              :   return NULL_TREE;
    1716              : }
    1717              : 
    1718              : tree
    1719            0 : generic_simplify_331 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1720              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1721              : {
    1722            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1723            0 :   if (SCALAR_FLOAT_TYPE_P (type)
    1724            0 :  && ! HONOR_NANS (type)
    1725            0 :  && ! HONOR_INFINITIES (type)
    1726              : )
    1727              :     {
    1728            0 :       if (types_match (type, float_type_node)
    1729              : )
    1730              :         {
    1731            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail600;
    1732            0 :           {
    1733            0 :             tree res_op0;
    1734            0 :             res_op0 =  build_one_cst (type);
    1735            0 :             tree res_op1;
    1736            0 :             {
    1737            0 :               tree _o1[1], _r1;
    1738            0 :               _o1[0] = captures[0];
    1739            0 :               if (TREE_TYPE (_o1[0]) != type)
    1740              :                 {
    1741            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1742              :                 }
    1743              :               else
    1744              :                 _r1 = _o1[0];
    1745            0 :               res_op1 = _r1;
    1746              :             }
    1747            0 :             tree _r;
    1748            0 :             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COPYSIGNF, type, 2, res_op0, res_op1);
    1749            0 :             if (!_r)
    1750            0 :               goto next_after_fail600;
    1751            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 491, __FILE__, __LINE__, true);
    1752            0 :             return _r;
    1753              :           }
    1754              : next_after_fail600:;
    1755              :         }
    1756              :       else
    1757              :         {
    1758            0 :           if (types_match (type, double_type_node)
    1759              : )
    1760              :             {
    1761            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail601;
    1762            0 :               {
    1763            0 :                 tree res_op0;
    1764            0 :                 res_op0 =  build_one_cst (type);
    1765            0 :                 tree res_op1;
    1766            0 :                 {
    1767            0 :                   tree _o1[1], _r1;
    1768            0 :                   _o1[0] = captures[0];
    1769            0 :                   if (TREE_TYPE (_o1[0]) != type)
    1770              :                     {
    1771            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1772              :                     }
    1773              :                   else
    1774              :                     _r1 = _o1[0];
    1775            0 :                   res_op1 = _r1;
    1776              :                 }
    1777            0 :                 tree _r;
    1778            0 :                 _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COPYSIGN, type, 2, res_op0, res_op1);
    1779            0 :                 if (!_r)
    1780            0 :                   goto next_after_fail601;
    1781            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 492, __FILE__, __LINE__, true);
    1782            0 :                 return _r;
    1783              :               }
    1784              : next_after_fail601:;
    1785              :             }
    1786              :           else
    1787              :             {
    1788            0 :               if (types_match (type, long_double_type_node)
    1789              : )
    1790              :                 {
    1791            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail602;
    1792            0 :                   {
    1793            0 :                     tree res_op0;
    1794            0 :                     res_op0 =  build_one_cst (type);
    1795            0 :                     tree res_op1;
    1796            0 :                     {
    1797            0 :                       tree _o1[1], _r1;
    1798            0 :                       _o1[0] = captures[0];
    1799            0 :                       if (TREE_TYPE (_o1[0]) != type)
    1800              :                         {
    1801            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1802              :                         }
    1803              :                       else
    1804              :                         _r1 = _o1[0];
    1805            0 :                       res_op1 = _r1;
    1806              :                     }
    1807            0 :                     tree _r;
    1808            0 :                     _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COPYSIGNL, type, 2, res_op0, res_op1);
    1809            0 :                     if (!_r)
    1810            0 :                       goto next_after_fail602;
    1811            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 493, __FILE__, __LINE__, true);
    1812            0 :                     return _r;
    1813              :                   }
    1814              : next_after_fail602:;
    1815              :                 }
    1816              :             }
    1817              :         }
    1818              :     }
    1819              :   return NULL_TREE;
    1820              : }
    1821              : 
    1822              : tree
    1823            3 : generic_simplify_351 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1824              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1825              :  const enum tree_code ARG_UNUSED (op))
    1826              : {
    1827            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1828            3 :   if (INTEGRAL_TYPE_P (type)
    1829            3 :  && TYPE_PRECISION (type) > 1
    1830            3 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1831            6 :  && expr_no_side_effects_p (captures[2])
    1832              : )
    1833              :     {
    1834            3 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail628;
    1835            3 :       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail628;
    1836            3 :       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail628;
    1837            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail628;
    1838            3 :       {
    1839            3 :         tree res_op0;
    1840            3 :         {
    1841            3 :           tree _o1[2], _r1;
    1842            3 :           {
    1843            3 :             tree _o2[1], _r2;
    1844            3 :             _o2[0] = captures[0];
    1845            3 :             if (TREE_TYPE (_o2[0]) != type)
    1846              :               {
    1847            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    1848              :               }
    1849              :             else
    1850              :               _r2 = _o2[0];
    1851            3 :             _o1[0] = _r2;
    1852              :           }
    1853            3 :           _o1[1] = captures[2];
    1854            3 :           _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1855            3 :           res_op0 = _r1;
    1856              :         }
    1857            3 :         tree res_op1;
    1858            3 :         res_op1 = captures[1];
    1859            3 :         tree _r;
    1860            3 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1861            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 519, __FILE__, __LINE__, true);
    1862            3 :         return _r;
    1863              :       }
    1864              : next_after_fail628:;
    1865              :     }
    1866              :   return NULL_TREE;
    1867              : }
    1868              : 
    1869              : tree
    1870            0 : generic_simplify_362 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1871              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1872              : {
    1873            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1874            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail639;
    1875            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail639;
    1876            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail639;
    1877            0 :   {
    1878            0 :     tree _r;
    1879            0 :     _r = captures[2];
    1880            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 530, __FILE__, __LINE__, true);
    1881              :     return _r;
    1882              :   }
    1883              : next_after_fail639:;
    1884              :   return NULL_TREE;
    1885              : }
    1886              : 
    1887              : tree
    1888            0 : generic_simplify_367 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1889              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1890              :  const enum tree_code ARG_UNUSED (cmp))
    1891              : {
    1892            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1893            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail645;
    1894            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail645;
    1895            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail645;
    1896            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail645;
    1897            0 :   {
    1898            0 :     tree _r;
    1899            0 :     _r = captures[0];
    1900            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 536, __FILE__, __LINE__, true);
    1901              :     return _r;
    1902              :   }
    1903              : next_after_fail645:;
    1904              :   return NULL_TREE;
    1905              : }
    1906              : 
    1907              : tree
    1908          396 : generic_simplify_375 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1909              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1910              :  const enum tree_code ARG_UNUSED (op),
    1911              :  const enum tree_code ARG_UNUSED (neg_op))
    1912              : {
    1913          396 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1914          396 :   if (flag_unsafe_math_optimizations
    1915              : )
    1916              :     {
    1917            4 :       if (!HONOR_SIGNED_ZEROS (captures[1]) && !HONOR_INFINITIES (captures[1])
    1918              : )
    1919              :         {
    1920            4 :           if (real_less (&dconst0, TREE_REAL_CST_PTR (captures[0]))
    1921              : )
    1922              :             {
    1923            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail655;
    1924            2 :               {
    1925            2 :                 tree res_op0;
    1926            2 :                 res_op0 = captures[1];
    1927            2 :                 tree res_op1;
    1928            2 :                 res_op1 = captures[2];
    1929            2 :                 tree _r;
    1930            2 :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1931            2 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    1932            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1933            2 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 544, __FILE__, __LINE__, true);
    1934            2 :                 return _r;
    1935              :               }
    1936            0 : next_after_fail655:;
    1937              :             }
    1938              :           else
    1939              :             {
    1940            2 :               if (real_less (TREE_REAL_CST_PTR (captures[0]), &dconst0)
    1941              : )
    1942              :                 {
    1943            2 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail656;
    1944            2 :                   {
    1945            2 :                     tree res_op0;
    1946            2 :                     res_op0 = captures[1];
    1947            2 :                     tree res_op1;
    1948            2 :                     res_op1 = captures[2];
    1949            2 :                     tree _r;
    1950            2 :                     _r = fold_build2_loc (loc, neg_op, type, res_op0, res_op1);
    1951            2 :                     if (TREE_SIDE_EFFECTS (captures[0]))
    1952            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1953            2 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 545, __FILE__, __LINE__, true);
    1954            2 :                     return _r;
    1955              :                   }
    1956            0 : next_after_fail656:;
    1957              :                 }
    1958              :             }
    1959              :         }
    1960              :     }
    1961              :   return NULL_TREE;
    1962              : }
    1963              : 
    1964              : tree
    1965            0 : generic_simplify_385 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1966              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1967              :  const enum tree_code ARG_UNUSED (ltge),
    1968              :  const enum tree_code ARG_UNUSED (neeq))
    1969              : {
    1970            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1971            0 :   if (!HONOR_NANS (captures[0])
    1972              : )
    1973              :     {
    1974            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail668;
    1975            0 :       {
    1976            0 :         tree res_op0;
    1977            0 :         res_op0 = captures[0];
    1978            0 :         tree res_op1;
    1979            0 :         res_op1 = captures[1];
    1980            0 :         tree _r;
    1981            0 :         _r = fold_build2_loc (loc, neeq, type, res_op0, res_op1);
    1982            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 557, __FILE__, __LINE__, true);
    1983            0 :         return _r;
    1984              :       }
    1985            0 : next_after_fail668:;
    1986              :     }
    1987              :   return NULL_TREE;
    1988              : }
    1989              : 
    1990              : tree
    1991      1208286 : generic_simplify_393 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1992              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1993              :  const enum tree_code ARG_UNUSED (cmp))
    1994              : {
    1995      1208286 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1996      2416572 :   if ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    1997          469 :  || POINTER_TYPE_P (TREE_TYPE (captures[2]))
    1998           94 :  || VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[2])))
    1999      2416572 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    2000              : )
    2001              :     {
    2002      1031413 :       {
    2003      1031413 :  tree cst = uniform_integer_cst_p (captures[2]);
    2004      1031413 :  tree arg1_type = TREE_TYPE (cst);
    2005      1031413 :  unsigned int prec = TYPE_PRECISION (arg1_type);
    2006      1031413 :  wide_int max = wi::max_value (arg1_type);
    2007      1031413 :  wide_int signed_max = wi::max_value (prec, SIGNED);
    2008      1031413 :  wide_int min = wi::min_value (arg1_type);
    2009      1031413 :           if (wi::to_wide (cst) == max
    2010              : )
    2011              :             {
    2012          672 :               if (cmp == GT_EXPR
    2013              : )
    2014              :                 {
    2015          450 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail678;
    2016          450 :                   {
    2017          450 :                     tree _r;
    2018          450 :                     _r =  constant_boolean_node (false, type);
    2019          450 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    2020            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2021          450 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    2022            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2023          450 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 567, __FILE__, __LINE__, true);
    2024          450 :                     return _r;
    2025              :                   }
    2026            0 : next_after_fail678:;
    2027              :                 }
    2028              :               else
    2029              :                 {
    2030          222 :                   if (cmp == GE_EXPR
    2031              : )
    2032              :                     {
    2033            0 :                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail679;
    2034            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail679;
    2035            0 :                       {
    2036            0 :                         tree res_op0;
    2037            0 :                         res_op0 = captures[0];
    2038            0 :                         tree res_op1;
    2039            0 :                         res_op1 = captures[2];
    2040            0 :                         tree _r;
    2041            0 :                         _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    2042            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 568, __FILE__, __LINE__, true);
    2043            0 :                         return _r;
    2044              :                       }
    2045       967126 : next_after_fail679:;
    2046              :                     }
    2047              :                   else
    2048              :                     {
    2049          222 :                       if (cmp == LE_EXPR
    2050              : )
    2051              :                         {
    2052          222 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail680;
    2053          222 :                           {
    2054          222 :                             tree _r;
    2055          222 :                             _r =  constant_boolean_node (true, type);
    2056          222 :                             if (TREE_SIDE_EFFECTS (captures[1]))
    2057            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2058          222 :                             if (TREE_SIDE_EFFECTS (captures[2]))
    2059            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2060          222 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 569, __FILE__, __LINE__, true);
    2061          222 :                             return _r;
    2062              :                           }
    2063            0 : next_after_fail680:;
    2064              :                         }
    2065              :                       else
    2066              :                         {
    2067            0 :                           if (cmp == LT_EXPR
    2068              : )
    2069              :                             {
    2070            0 :                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail681;
    2071            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail681;
    2072            0 :                               {
    2073            0 :                                 tree res_op0;
    2074            0 :                                 res_op0 = captures[0];
    2075            0 :                                 tree res_op1;
    2076            0 :                                 res_op1 = captures[2];
    2077            0 :                                 tree _r;
    2078            0 :                                 _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    2079            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 570, __FILE__, __LINE__, true);
    2080            0 :                                 return _r;
    2081              :                               }
    2082       967126 : next_after_fail681:;
    2083              :                             }
    2084              :                         }
    2085              :                     }
    2086              :                 }
    2087              :             }
    2088              :           else
    2089              :             {
    2090      1030741 :               if (wi::to_wide (cst) == min
    2091              : )
    2092              :                 {
    2093        58600 :                   if (cmp == LT_EXPR
    2094              : )
    2095              :                     {
    2096         2800 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail682;
    2097         2800 :                       {
    2098         2800 :                         tree _r;
    2099         2800 :                         _r =  constant_boolean_node (false, type);
    2100         2800 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    2101            6 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2102         2800 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    2103            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2104         2800 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 571, __FILE__, __LINE__, true);
    2105         2800 :                         return _r;
    2106              :                       }
    2107            0 : next_after_fail682:;
    2108              :                     }
    2109              :                   else
    2110              :                     {
    2111        55800 :                       if (cmp == LE_EXPR
    2112              : )
    2113              :                         {
    2114        15913 :                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail683;
    2115        14795 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail683;
    2116        14795 :                           {
    2117        14795 :                             tree res_op0;
    2118        14795 :                             res_op0 = captures[0];
    2119        14795 :                             tree res_op1;
    2120        14795 :                             res_op1 = captures[2];
    2121        14795 :                             tree _r;
    2122        14795 :                             _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    2123        14795 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 572, __FILE__, __LINE__, true);
    2124        14795 :                             return _r;
    2125              :                           }
    2126       967126 : next_after_fail683:;
    2127              :                         }
    2128              :                       else
    2129              :                         {
    2130        39887 :                           if (cmp == GE_EXPR
    2131              : )
    2132              :                             {
    2133         8473 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail684;
    2134         8473 :                               {
    2135         8473 :                                 tree _r;
    2136         8473 :                                 _r =  constant_boolean_node (true, type);
    2137         8473 :                                 if (TREE_SIDE_EFFECTS (captures[1]))
    2138           51 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2139         8473 :                                 if (TREE_SIDE_EFFECTS (captures[2]))
    2140            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2141         8473 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 573, __FILE__, __LINE__, true);
    2142         8473 :                                 return _r;
    2143              :                               }
    2144            0 : next_after_fail684:;
    2145              :                             }
    2146              :                           else
    2147              :                             {
    2148        31414 :                               if (cmp == GT_EXPR
    2149              : )
    2150              :                                 {
    2151        31414 :                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail685;
    2152        25824 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail685;
    2153        25824 :                                   {
    2154        25824 :                                     tree res_op0;
    2155        25824 :                                     res_op0 = captures[0];
    2156        25824 :                                     tree res_op1;
    2157        25824 :                                     res_op1 = captures[2];
    2158        25824 :                                     tree _r;
    2159        25824 :                                     _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    2160        25824 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 574, __FILE__, __LINE__, true);
    2161        25824 :                                     return _r;
    2162              :                                   }
    2163       967126 : next_after_fail685:;
    2164              :                                 }
    2165              :                             }
    2166              :                         }
    2167              :                     }
    2168              :                 }
    2169              :               else
    2170              :                 {
    2171       972141 :                   if (wi::to_wide (cst) == max - 1
    2172              : )
    2173              :                     {
    2174         6699 :                       if (cmp == GT_EXPR
    2175              : )
    2176              :                         {
    2177         1404 :                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail686;
    2178         1404 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail686;
    2179         1404 :                           {
    2180         1404 :                             tree res_op0;
    2181         1404 :                             res_op0 = captures[0];
    2182         1404 :                             tree res_op1;
    2183         1404 :                             res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
    2184         1404 :  wide_int_to_tree (TREE_TYPE (cst),
    2185         1404 :  wi::to_wide (cst)
    2186         2808 :  + 1));
    2187         1404 :                             tree _r;
    2188         1404 :                             _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    2189         1404 :                             if (TREE_SIDE_EFFECTS (captures[2]))
    2190            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2191         1404 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 575, __FILE__, __LINE__, true);
    2192         1404 :                             return _r;
    2193              :                           }
    2194       967126 : next_after_fail686:;
    2195              :                         }
    2196              :                       else
    2197              :                         {
    2198         5295 :                           if (cmp == LE_EXPR
    2199              : )
    2200              :                             {
    2201         5295 :                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail687;
    2202         5295 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail687;
    2203         5295 :                               {
    2204         5295 :                                 tree res_op0;
    2205         5295 :                                 res_op0 = captures[0];
    2206         5295 :                                 tree res_op1;
    2207         5295 :                                 res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
    2208         5295 :  wide_int_to_tree (TREE_TYPE (cst),
    2209         5295 :  wi::to_wide (cst)
    2210        10590 :  + 1));
    2211         5295 :                                 tree _r;
    2212         5295 :                                 _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    2213         5295 :                                 if (TREE_SIDE_EFFECTS (captures[2]))
    2214            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2215         5295 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 576, __FILE__, __LINE__, true);
    2216         5295 :                                 return _r;
    2217              :                               }
    2218       967126 : next_after_fail687:;
    2219              :                             }
    2220              :                         }
    2221              :                     }
    2222              :                   else
    2223              :                     {
    2224       965442 :                       if (wi::to_wide (cst) == min + 1
    2225              : )
    2226              :                         {
    2227        55429 :                           if (cmp == GE_EXPR
    2228              : )
    2229              :                             {
    2230         1805 :                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail688;
    2231         1805 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail688;
    2232         1805 :                               {
    2233         1805 :                                 tree res_op0;
    2234         1805 :                                 res_op0 = captures[0];
    2235         1805 :                                 tree res_op1;
    2236         1805 :                                 res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
    2237         1805 :  wide_int_to_tree (TREE_TYPE (cst),
    2238         1805 :  wi::to_wide (cst)
    2239         3610 :  - 1));
    2240         1805 :                                 tree _r;
    2241         1805 :                                 _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    2242         1805 :                                 if (TREE_SIDE_EFFECTS (captures[2]))
    2243            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2244         1805 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 577, __FILE__, __LINE__, true);
    2245         1805 :                                 return _r;
    2246              :                               }
    2247       967126 : next_after_fail688:;
    2248              :                             }
    2249              :                           else
    2250              :                             {
    2251        53624 :                               if (cmp == LT_EXPR
    2252              : )
    2253              :                                 {
    2254          334 :                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail689;
    2255          334 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail689;
    2256          334 :                                   {
    2257          334 :                                     tree res_op0;
    2258          334 :                                     res_op0 = captures[0];
    2259          334 :                                     tree res_op1;
    2260          334 :                                     res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
    2261          334 :  wide_int_to_tree (TREE_TYPE (cst),
    2262          334 :  wi::to_wide (cst)
    2263          668 :  - 1));
    2264          334 :                                     tree _r;
    2265          334 :                                     _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    2266          334 :                                     if (TREE_SIDE_EFFECTS (captures[2]))
    2267            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2268          334 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 578, __FILE__, __LINE__, true);
    2269          334 :                                     return _r;
    2270              :                                   }
    2271       967126 : next_after_fail689:;
    2272              :                                 }
    2273              :                             }
    2274              :                         }
    2275              :                       else
    2276              :                         {
    2277       910013 :                           if (wi::to_wide (cst) == signed_max
    2278         2885 :  && TYPE_UNSIGNED (arg1_type)
    2279         2885 :  && TYPE_MODE (arg1_type) != BLKmode
    2280       910013 :  && prec == GET_MODE_PRECISION (SCALAR_INT_TYPE_MODE (arg1_type))
    2281       912898 :  && INTEGRAL_TYPE_P (arg1_type)
    2282              : )
    2283              :                             {
    2284         2885 :                               if (cmp == LE_EXPR || cmp == GT_EXPR
    2285              : )
    2286              :                                 {
    2287         2885 :                                   {
    2288         2885 :  tree st = signed_type_for (TREE_TYPE (captures[2]));
    2289         2885 :                                       if (cst == captures[2] && cmp == LE_EXPR
    2290              : )
    2291              :                                         {
    2292         2848 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail690;
    2293         2848 :                                           {
    2294         2848 :                                             tree res_op0;
    2295         2848 :                                             {
    2296         2848 :                                               tree _o1[1], _r1;
    2297         2848 :                                               _o1[0] = captures[1];
    2298         2848 :                                               if (TREE_TYPE (_o1[0]) != st)
    2299              :                                                 {
    2300         2844 :                                                   _r1 = fold_build1_loc (loc, NOP_EXPR, st, _o1[0]);
    2301              :                                                 }
    2302              :                                               else
    2303              :                                                 _r1 = _o1[0];
    2304         2848 :                                               res_op0 = _r1;
    2305              :                                             }
    2306         2848 :                                             tree res_op1;
    2307         2848 :                                             res_op1 =  build_zero_cst (st);
    2308         2848 :                                             tree _r;
    2309         2848 :                                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    2310         2848 :                                             if (TREE_SIDE_EFFECTS (captures[2]))
    2311            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2312         2848 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 579, __FILE__, __LINE__, true);
    2313         2848 :                                             return _r;
    2314              :                                           }
    2315            0 : next_after_fail690:;
    2316            0 :                                         }
    2317              :                                       else
    2318              :                                         {
    2319           37 :                                           if (cst == captures[2] && cmp == GT_EXPR
    2320              : )
    2321              :                                             {
    2322           37 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail691;
    2323           37 :                                               {
    2324           37 :                                                 tree res_op0;
    2325           37 :                                                 {
    2326           37 :                                                   tree _o1[1], _r1;
    2327           37 :                                                   _o1[0] = captures[1];
    2328           37 :                                                   if (TREE_TYPE (_o1[0]) != st)
    2329              :                                                     {
    2330           37 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, st, _o1[0]);
    2331              :                                                     }
    2332              :                                                   else
    2333              :                                                     _r1 = _o1[0];
    2334           37 :                                                   res_op0 = _r1;
    2335              :                                                 }
    2336           37 :                                                 tree res_op1;
    2337           37 :                                                 res_op1 =  build_zero_cst (st);
    2338           37 :                                                 tree _r;
    2339           37 :                                                 _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2340           37 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
    2341            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2342           37 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 580, __FILE__, __LINE__, true);
    2343           37 :                                                 return _r;
    2344              :                                               }
    2345            0 : next_after_fail691:;
    2346            0 :                                             }
    2347              :                                           else
    2348              :                                             {
    2349            0 :                                               if (cmp == LE_EXPR
    2350              : )
    2351              :                                                 {
    2352            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail692;
    2353            0 :                                                   {
    2354            0 :                                                     tree res_op0;
    2355            0 :                                                     {
    2356            0 :                                                       tree _o1[1], _r1;
    2357            0 :                                                       _o1[0] = captures[1];
    2358            0 :                                                       if (TREE_TYPE (_o1[0]) != st)
    2359              :                                                         {
    2360            0 :                                                           _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, st, _o1[0]);
    2361              :                                                         }
    2362              :                                                       else
    2363              :                                                         _r1 = _o1[0];
    2364            0 :                                                       res_op0 = _r1;
    2365              :                                                     }
    2366            0 :                                                     tree res_op1;
    2367            0 :                                                     res_op1 =  build_zero_cst (st);
    2368            0 :                                                     tree _r;
    2369            0 :                                                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    2370            0 :                                                     if (TREE_SIDE_EFFECTS (captures[2]))
    2371            0 :                                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2372            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 581, __FILE__, __LINE__, true);
    2373            0 :                                                     return _r;
    2374              :                                                   }
    2375            0 : next_after_fail692:;
    2376              :                                                 }
    2377              :                                               else
    2378              :                                                 {
    2379            0 :                                                   if (cmp == GT_EXPR
    2380              : )
    2381              :                                                     {
    2382            0 :                                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail693;
    2383            0 :                                                       {
    2384            0 :                                                         tree res_op0;
    2385            0 :                                                         {
    2386            0 :                                                           tree _o1[1], _r1;
    2387            0 :                                                           _o1[0] = captures[1];
    2388            0 :                                                           if (TREE_TYPE (_o1[0]) != st)
    2389              :                                                             {
    2390            0 :                                                               _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, st, _o1[0]);
    2391              :                                                             }
    2392              :                                                           else
    2393              :                                                             _r1 = _o1[0];
    2394            0 :                                                           res_op0 = _r1;
    2395              :                                                         }
    2396            0 :                                                         tree res_op1;
    2397            0 :                                                         res_op1 =  build_zero_cst (st);
    2398            0 :                                                         tree _r;
    2399            0 :                                                         _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2400            0 :                                                         if (TREE_SIDE_EFFECTS (captures[2]))
    2401            0 :                                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2402            0 :                                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 582, __FILE__, __LINE__, true);
    2403            0 :                                                         return _r;
    2404              :                                                       }
    2405            0 : next_after_fail693:;
    2406              :                                                     }
    2407              :                                                 }
    2408              :                                             }
    2409              :                                         }
    2410              :                                   }
    2411              :                                 }
    2412              :                             }
    2413              :                         }
    2414              :                     }
    2415              :                 }
    2416              :             }
    2417      1031413 :       }
    2418              :     }
    2419              :   return NULL_TREE;
    2420              : }
    2421              : 
    2422              : tree
    2423            2 : generic_simplify_455 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2424              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2425              : {
    2426            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2427            2 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail802;
    2428            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail802;
    2429            2 :   {
    2430            2 :     tree res_op0;
    2431            2 :     res_op0 = captures[0];
    2432            2 :     tree res_op1;
    2433            2 :     {
    2434            2 :       tree _o1[1], _r1;
    2435            2 :       _o1[0] = captures[5];
    2436            2 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2437            2 :       res_op1 = _r1;
    2438              :     }
    2439            2 :     tree _r;
    2440            2 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2441            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 656, __FILE__, __LINE__, true);
    2442              :     return _r;
    2443              :   }
    2444              : next_after_fail802:;
    2445              :   return NULL_TREE;
    2446              : }
    2447              : 
    2448              : tree
    2449           65 : generic_simplify_461 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2450              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2451              : {
    2452           65 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2453           65 :   if (INTEGRAL_TYPE_P (type)
    2454           65 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2455           65 :  && TREE_CODE (TREE_TYPE (captures[0])) != BOOLEAN_TYPE
    2456          130 :  && (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2457           19 :  || TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0])))
    2458              : )
    2459              :     {
    2460           65 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail808;
    2461           65 :       {
    2462           65 :         tree res_op0;
    2463           65 :         {
    2464           65 :           tree _o1[1], _r1;
    2465           65 :           _o1[0] = captures[0];
    2466           65 :           if (TREE_TYPE (_o1[0]) != type)
    2467              :             {
    2468           20 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2469              :             }
    2470              :           else
    2471              :             _r1 = _o1[0];
    2472           65 :           res_op0 = _r1;
    2473              :         }
    2474           65 :         tree res_op1;
    2475           65 :         res_op1 = captures[1];
    2476           65 :         tree _r;
    2477           65 :         _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    2478           65 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 661, __FILE__, __LINE__, true);
    2479           65 :         return _r;
    2480              :       }
    2481            0 : next_after_fail808:;
    2482              :     }
    2483              :   return NULL_TREE;
    2484              : }
    2485              : 
    2486              : tree
    2487      5316755 : generic_simplify_469 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2488              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2489              : {
    2490      5316755 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2491     10451314 :   if (POINTER_TYPE_P (TREE_TYPE (captures[0]))
    2492      5316775 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    2493              : )
    2494              :     {
    2495       182216 :       {
    2496       182216 :  unsigned int align;
    2497       182216 :  unsigned HOST_WIDE_INT bitpos;
    2498       182216 :  get_pointer_alignment_1 (captures[0], &align, &bitpos);
    2499       182216 :           if (wi::ltu_p (wi::to_wide (captures[1]), align / BITS_PER_UNIT)
    2500              : )
    2501              :             {
    2502         5461 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail816;
    2503         5461 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail816;
    2504         5461 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail816;
    2505         5461 :               {
    2506         5461 :                 tree _r;
    2507        10922 :                 _r =  wide_int_to_tree (type, (wi::to_wide (captures[1])
    2508        10922 :  & (bitpos / BITS_PER_UNIT)));
    2509         5461 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 668, __FILE__, __LINE__, true);
    2510         5461 :                 return _r;
    2511              :               }
    2512       176755 : next_after_fail816:;
    2513              :             }
    2514              :       }
    2515              :     }
    2516              :   return NULL_TREE;
    2517              : }
    2518              : 
    2519              : tree
    2520            0 : generic_simplify_479 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2521              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2522              :  const enum tree_code ARG_UNUSED (code2),
    2523              :  const enum tree_code ARG_UNUSED (code1))
    2524              : {
    2525            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2526            0 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
    2527            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2528            0 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2529            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    2530            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, code2))
    2531            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
    2532            0 :  && bitwise_equal_p (captures[2], captures[5]))
    2533              : )
    2534              :     {
    2535            0 :       {
    2536            0 :  bool one_before = false;
    2537            0 :  bool one_after = false;
    2538            0 :  int cmp = 0;
    2539            0 :  bool allbits = true;
    2540            0 :  if (TREE_CODE (captures[2]) == INTEGER_CST
    2541            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2542              :  {
    2543            0 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
    2544            0 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
    2545            0 :  auto t2 = wi::to_wide (captures[5]);
    2546            0 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
    2547            0 :  if (cmp < 0
    2548            0 :  && t1 == t2 - 1)
    2549              :  one_before = true;
    2550            0 :  if (cmp > 0
    2551            0 :  && t1 == t2 + 1)
    2552              :  one_after = true;
    2553              :  }
    2554            0 :  bool val;
    2555            0 :  switch (code2)
    2556              :  {
    2557            0 :  case EQ_EXPR: val = (cmp == 0); break;
    2558            0 :  case NE_EXPR: val = (cmp != 0); break;
    2559            0 :  case LT_EXPR: val = (cmp < 0); break;
    2560            0 :  case GT_EXPR: val = (cmp > 0); break;
    2561            0 :  case LE_EXPR: val = (cmp <= 0); break;
    2562            0 :  case GE_EXPR: val = (cmp >= 0); break;
    2563            0 :  default: gcc_unreachable ();
    2564              :  }
    2565            0 :           if (code1 == EQ_EXPR && val
    2566              : )
    2567              :             {
    2568            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail848;
    2569            0 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail848;
    2570            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail848;
    2571            0 :               {
    2572            0 :                 tree _r;
    2573            0 :                 _r = captures[0];
    2574            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 673, __FILE__, __LINE__, true);
    2575            0 :                 return _r;
    2576              :               }
    2577              : next_after_fail848:;
    2578              :             }
    2579              :           else
    2580              :             {
    2581            0 :               if (code1 == EQ_EXPR && !val
    2582              : )
    2583              :                 {
    2584            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail849;
    2585            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail849;
    2586            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail849;
    2587            0 :                   {
    2588            0 :                     tree _r;
    2589            0 :                     _r =  constant_boolean_node (false, type);
    2590            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    2591            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2592            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 674, __FILE__, __LINE__, true);
    2593            0 :                     return _r;
    2594              :                   }
    2595              : next_after_fail849:;
    2596              :                 }
    2597              :               else
    2598              :                 {
    2599            0 :                   if (code1 == NE_EXPR && !val && allbits
    2600              : )
    2601              :                     {
    2602            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail850;
    2603            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail850;
    2604            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail850;
    2605            0 :                       {
    2606            0 :                         tree _r;
    2607            0 :                         _r = captures[3];
    2608            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 675, __FILE__, __LINE__, true);
    2609            0 :                         return _r;
    2610              :                       }
    2611              : next_after_fail850:;
    2612              :                     }
    2613              :                   else
    2614              :                     {
    2615            0 :                       if ((code1 == NE_EXPR
    2616            0 :  && code2 == GE_EXPR
    2617            0 :  && cmp == 0
    2618            0 :  && allbits)
    2619            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2620            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2621            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2622              : )
    2623              :                         {
    2624            0 :                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail851;
    2625            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail851;
    2626            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail851;
    2627            0 :                           {
    2628            0 :                             tree res_op0;
    2629            0 :                             res_op0 = captures[4];
    2630            0 :                             tree res_op1;
    2631            0 :                             {
    2632            0 :                               tree _o1[1], _r1;
    2633            0 :                               _o1[0] = captures[2];
    2634            0 :                               if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2635              :                                 {
    2636            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2637              :                                 }
    2638              :                               else
    2639              :                                 _r1 = _o1[0];
    2640            0 :                               res_op1 = _r1;
    2641              :                             }
    2642            0 :                             tree _r;
    2643            0 :                             _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2644            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 676, __FILE__, __LINE__, true);
    2645            0 :                             return _r;
    2646              :                           }
    2647              : next_after_fail851:;
    2648              :                         }
    2649              :                       else
    2650              :                         {
    2651            0 :                           if ((code1 == NE_EXPR
    2652            0 :  && code2 == LE_EXPR
    2653            0 :  && cmp == 0
    2654            0 :  && allbits)
    2655            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2656            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2657            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2658              : )
    2659              :                             {
    2660            0 :                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail852;
    2661            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail852;
    2662            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail852;
    2663            0 :                               {
    2664            0 :                                 tree res_op0;
    2665            0 :                                 res_op0 = captures[4];
    2666            0 :                                 tree res_op1;
    2667            0 :                                 {
    2668            0 :                                   tree _o1[1], _r1;
    2669            0 :                                   _o1[0] = captures[2];
    2670            0 :                                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2671              :                                     {
    2672            0 :                                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2673              :                                     }
    2674              :                                   else
    2675              :                                     _r1 = _o1[0];
    2676            0 :                                   res_op1 = _r1;
    2677              :                                 }
    2678            0 :                                 tree _r;
    2679            0 :                                 _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2680            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 677, __FILE__, __LINE__, true);
    2681            0 :                                 return _r;
    2682              :                               }
    2683              : next_after_fail852:;
    2684              :                             }
    2685              :                           else
    2686              :                             {
    2687            0 :                               if ((code1 == NE_EXPR
    2688            0 :  && code2 == GT_EXPR
    2689              :  && one_after
    2690            0 :  && allbits)
    2691            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2692            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2693            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2694              : )
    2695              :                                 {
    2696            0 :                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail853;
    2697            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail853;
    2698            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail853;
    2699            0 :                                   {
    2700            0 :                                     tree res_op0;
    2701            0 :                                     res_op0 = captures[4];
    2702            0 :                                     tree res_op1;
    2703            0 :                                     {
    2704            0 :                                       tree _o1[1], _r1;
    2705            0 :                                       _o1[0] = captures[2];
    2706            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2707              :                                         {
    2708            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2709              :                                         }
    2710              :                                       else
    2711              :                                         _r1 = _o1[0];
    2712            0 :                                       res_op1 = _r1;
    2713              :                                     }
    2714            0 :                                     tree _r;
    2715            0 :                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2716            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 678, __FILE__, __LINE__, true);
    2717            0 :                                     return _r;
    2718              :                                   }
    2719              : next_after_fail853:;
    2720              :                                 }
    2721              :                               else
    2722              :                                 {
    2723            0 :                                   if ((code1 == NE_EXPR
    2724            0 :  && code2 == LT_EXPR
    2725              :  && one_before
    2726            0 :  && allbits)
    2727            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2728            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2729            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2730              : )
    2731              :                                     {
    2732            0 :                                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail854;
    2733            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail854;
    2734            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail854;
    2735            0 :                                       {
    2736            0 :                                         tree res_op0;
    2737            0 :                                         res_op0 = captures[4];
    2738            0 :                                         tree res_op1;
    2739            0 :                                         {
    2740            0 :                                           tree _o1[1], _r1;
    2741            0 :                                           _o1[0] = captures[2];
    2742            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2743              :                                             {
    2744            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2745              :                                             }
    2746              :                                           else
    2747              :                                             _r1 = _o1[0];
    2748            0 :                                           res_op1 = _r1;
    2749              :                                         }
    2750            0 :                                         tree _r;
    2751            0 :                                         _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2752            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 679, __FILE__, __LINE__, true);
    2753            0 :                                         return _r;
    2754              :                                       }
    2755              : next_after_fail854:;
    2756              :                                     }
    2757              :                                 }
    2758              :                             }
    2759              :                         }
    2760              :                     }
    2761              :                 }
    2762              :             }
    2763              :       }
    2764              :     }
    2765              :   return NULL_TREE;
    2766              : }
    2767              : 
    2768              : tree
    2769            0 : generic_simplify_508 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2770              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2771              :  const enum tree_code ARG_UNUSED (minmax),
    2772              :  const enum tree_code ARG_UNUSED (maxmin))
    2773              : {
    2774            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2775            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail899;
    2776            0 :   {
    2777            0 :     tree res_op0;
    2778            0 :     res_op0 = captures[1];
    2779            0 :     tree res_op1;
    2780            0 :     {
    2781            0 :       tree _o1[1], _r1;
    2782            0 :       _o1[0] = captures[2];
    2783            0 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2784            0 :       res_op1 = _r1;
    2785              :     }
    2786            0 :     tree _r;
    2787            0 :     _r = fold_build2_loc (loc, maxmin, type, res_op0, res_op1);
    2788            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 712, __FILE__, __LINE__, true);
    2789              :     return _r;
    2790              :   }
    2791            0 : next_after_fail899:;
    2792            0 :   return NULL_TREE;
    2793              : }
    2794              : 
    2795              : tree
    2796          409 : generic_simplify_516 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2797              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2798              : {
    2799          409 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2800          409 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    2801          409 :  && wi::to_wide (captures[1]) == element_precision (type) - 1
    2802              : )
    2803              :     {
    2804           44 :       {
    2805           44 :  tree stype = TREE_TYPE (captures[0]);
    2806           44 :  tree ntype = TYPE_UNSIGNED (stype) ? signed_type_for (stype)
    2807            9 :  : unsigned_type_for (stype);
    2808           44 :           if (VECTOR_TYPE_P (type)
    2809              : )
    2810              :             {
    2811            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail908;
    2812            0 :               {
    2813            0 :                 tree res_op0;
    2814            0 :                 {
    2815            0 :                   tree _o1[2], _r1;
    2816            0 :                   {
    2817            0 :                     tree _o2[1], _r2;
    2818            0 :                     _o2[0] = captures[0];
    2819            0 :                     if (TREE_TYPE (_o2[0]) != ntype)
    2820              :                       {
    2821            0 :                         _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, ntype, _o2[0]);
    2822              :                       }
    2823              :                     else
    2824              :                       _r2 = _o2[0];
    2825            0 :                     _o1[0] = _r2;
    2826              :                   }
    2827            0 :                   _o1[1] = captures[1];
    2828            0 :                   _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2829            0 :                   res_op0 = _r1;
    2830              :                 }
    2831            0 :                 tree _r;
    2832            0 :                 _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    2833            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 720, __FILE__, __LINE__, true);
    2834            0 :                 return _r;
    2835              :               }
    2836            0 : next_after_fail908:;
    2837              :             }
    2838              :           else
    2839              :             {
    2840           44 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail909;
    2841           44 :               {
    2842           44 :                 tree res_op0;
    2843           44 :                 {
    2844           44 :                   tree _o1[2], _r1;
    2845           44 :                   {
    2846           44 :                     tree _o2[1], _r2;
    2847           44 :                     _o2[0] = captures[0];
    2848           44 :                     if (TREE_TYPE (_o2[0]) != ntype)
    2849              :                       {
    2850           44 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, ntype, _o2[0]);
    2851              :                       }
    2852              :                     else
    2853              :                       _r2 = _o2[0];
    2854           44 :                     _o1[0] = _r2;
    2855              :                   }
    2856           44 :                   _o1[1] = captures[1];
    2857           44 :                   _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2858           44 :                   res_op0 = _r1;
    2859              :                 }
    2860           44 :                 tree _r;
    2861           44 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2862           44 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 721, __FILE__, __LINE__, true);
    2863           44 :                 return _r;
    2864              :               }
    2865            0 : next_after_fail909:;
    2866              :             }
    2867              :       }
    2868              :     }
    2869              :   return NULL_TREE;
    2870              : }
    2871              : 
    2872              : tree
    2873            2 : generic_simplify_534 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2874              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2875              : {
    2876            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2877            2 :   if (TREE_CODE (type) != COMPLEX_TYPE
    2878            2 :  && (! ANY_INTEGRAL_TYPE_P (type)
    2879            1 :  || TYPE_OVERFLOW_UNDEFINED (type))
    2880              : )
    2881              :     {
    2882            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail941;
    2883            2 :       {
    2884            2 :         tree res_op0;
    2885            2 :         res_op0 = captures[0];
    2886            2 :         tree _r;
    2887            2 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    2888            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 740, __FILE__, __LINE__, true);
    2889            2 :         return _r;
    2890              :       }
    2891            0 : next_after_fail941:;
    2892              :     }
    2893              :   return NULL_TREE;
    2894              : }
    2895              : 
    2896              : tree
    2897           12 : generic_simplify_541 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2898              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2899              :  const enum tree_code ARG_UNUSED (op))
    2900              : {
    2901           12 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2902           12 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail948;
    2903           12 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail948;
    2904           12 :   {
    2905           12 :     tree _r;
    2906           12 :     _r = captures[2];
    2907           12 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 532, __FILE__, __LINE__, true);
    2908              :     return _r;
    2909              :   }
    2910              : next_after_fail948:;
    2911              :   return NULL_TREE;
    2912              : }
    2913              : 
    2914              : tree
    2915            0 : generic_simplify_547 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2916              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2917              :  const combined_fn ARG_UNUSED (cond_op))
    2918              : {
    2919            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2920            0 :   {
    2921            0 :  tree op_type = TREE_TYPE (captures[6]);
    2922            0 :       if (inverse_conditions_p (captures[0], captures[2])
    2923            0 :  && element_precision (type) == element_precision (op_type)
    2924              : )
    2925              :         {
    2926            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail954;
    2927            0 :           {
    2928            0 :             tree res_op0;
    2929            0 :             {
    2930            0 :               tree _o1[5], _r1;
    2931            0 :               _o1[0] = captures[2];
    2932            0 :               _o1[1] = captures[3];
    2933            0 :               _o1[2] = captures[4];
    2934            0 :               _o1[3] = captures[5];
    2935            0 :               {
    2936            0 :                 tree _o2[1], _r2;
    2937            0 :                 _o2[0] = captures[1];
    2938            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    2939              :                   {
    2940            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    2941              :                   }
    2942              :                 else
    2943              :                   _r2 = _o2[0];
    2944            0 :                 _o1[4] = _r2;
    2945              :               }
    2946            0 :               _r1 = maybe_build_call_expr_loc (loc, cond_op, TREE_TYPE (_o1[1]), 5, _o1[0], _o1[1], _o1[2], _o1[3], _o1[4]);
    2947            0 :               if (!_r1)
    2948            0 :                 goto next_after_fail954;
    2949            0 :               res_op0 = _r1;
    2950              :             }
    2951            0 :             tree _r;
    2952            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    2953            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
    2954            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2955            0 :             if (TREE_SIDE_EFFECTS (captures[6]))
    2956            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[6]), _r);
    2957            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 748, __FILE__, __LINE__, true);
    2958            0 :             return _r;
    2959              :           }
    2960              : next_after_fail954:;
    2961              :         }
    2962              :   }
    2963              :   return NULL_TREE;
    2964              : }
    2965              : 
    2966              : tree
    2967            0 : generic_simplify_560 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2968              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2969              :  const enum tree_code ARG_UNUSED (bitop),
    2970              :  const combined_fn ARG_UNUSED (bswap))
    2971              : {
    2972            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2973            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail970;
    2974            0 :   {
    2975            0 :     tree res_op0;
    2976            0 :     res_op0 = captures[0];
    2977            0 :     tree res_op1;
    2978            0 :     {
    2979            0 :       tree _o1[1], _r1;
    2980            0 :       _o1[0] = captures[1];
    2981            0 :       _r1 = maybe_build_call_expr_loc (loc, bswap, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2982            0 :       if (!_r1)
    2983            0 :         goto next_after_fail970;
    2984            0 :       res_op1 = _r1;
    2985              :     }
    2986            0 :     tree _r;
    2987            0 :     _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
    2988            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 764, __FILE__, __LINE__, true);
    2989              :     return _r;
    2990              :   }
    2991              : next_after_fail970:;
    2992              :   return NULL_TREE;
    2993              : }
    2994              : 
    2995              : tree
    2996            0 : generic_simplify_569 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2997              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2998              :  const combined_fn ARG_UNUSED (tans),
    2999              :  const combined_fn ARG_UNUSED (atans))
    3000              : {
    3001            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3002            0 :   if (flag_unsafe_math_optimizations
    3003              : )
    3004              :     {
    3005            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail979;
    3006            0 :       {
    3007            0 :         tree _r;
    3008            0 :         _r = captures[0];
    3009            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 773, __FILE__, __LINE__, true);
    3010            0 :         return _r;
    3011              :       }
    3012            0 : next_after_fail979:;
    3013              :     }
    3014              :   return NULL_TREE;
    3015              : }
    3016              : 
    3017              : tree
    3018            0 : generic_simplify_574 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3019              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3020              :  const combined_fn ARG_UNUSED (froms),
    3021              :  const combined_fn ARG_UNUSED (tos))
    3022              : {
    3023            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3024            0 :   if (optimize && canonicalize_math_p ()
    3025            0 :  && targetm.libc_has_function (function_c99_misc, NULL_TREE)
    3026              : )
    3027              :     {
    3028            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail984;
    3029            0 :       {
    3030            0 :         tree res_op0;
    3031            0 :         {
    3032            0 :           tree _o1[1], _r1;
    3033            0 :           _o1[0] = captures[0];
    3034            0 :           _r1 = maybe_build_call_expr_loc (loc, tos, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3035            0 :           if (!_r1)
    3036            0 :             goto next_after_fail984;
    3037            0 :           res_op0 = _r1;
    3038              :         }
    3039            0 :         tree _r;
    3040            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3041            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 778, __FILE__, __LINE__, true);
    3042            0 :         return _r;
    3043              :       }
    3044              : next_after_fail984:;
    3045              :     }
    3046              :   return NULL_TREE;
    3047              : }
    3048              : 
    3049              : tree
    3050            0 : generic_simplify_581 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3051              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3052              :  const combined_fn ARG_UNUSED (floors))
    3053              : {
    3054            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3055            0 :   if (canonicalize_math_p ()
    3056              : )
    3057              :     {
    3058            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail991;
    3059            0 :       {
    3060            0 :         tree res_op0;
    3061            0 :         res_op0 = captures[0];
    3062            0 :         tree _r;
    3063            0 :         _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
    3064            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 785, __FILE__, __LINE__, true);
    3065            0 :         return _r;
    3066              :       }
    3067            0 : next_after_fail991:;
    3068              :     }
    3069              :   return NULL_TREE;
    3070              : }
    3071              : 
    3072              : tree
    3073            0 : generic_simplify_589 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3074              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3075              :  const combined_fn ARG_UNUSED (fmas))
    3076              : {
    3077            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3078            0 :   if (canonicalize_math_after_vectorization_p ()
    3079              : )
    3080              :     {
    3081              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail999;
    3082              :       {
    3083              :         tree res_op0;
    3084              :         res_op0 = captures[0];
    3085              :         tree res_op1;
    3086              :         res_op1 = captures[1];
    3087              :         tree res_op2;
    3088              :         res_op2 = captures[2];
    3089              :         tree _r;
    3090              :         _r = maybe_build_call_expr_loc (loc, CFN_FNMS, type, 3, res_op0, res_op1, res_op2);
    3091              :         if (!_r)
    3092              :           goto next_after_fail999;
    3093              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 793, __FILE__, __LINE__, true);
    3094              :         return _r;
    3095              :       }
    3096            0 : next_after_fail999:;
    3097              :     }
    3098            0 :   return NULL_TREE;
    3099              : }
    3100              : 
    3101              : tree
    3102            0 : generic_simplify_599 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3103              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures),
    3104              :  const combined_fn ARG_UNUSED (fmas))
    3105              : {
    3106            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3107            0 :   if (canonicalize_math_after_vectorization_p ()
    3108              : )
    3109              :     {
    3110              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1009;
    3111              :       {
    3112              :         tree res_op0;
    3113              :         res_op0 = captures[0];
    3114              :         tree res_op1;
    3115              :         res_op1 = captures[1];
    3116              :         tree res_op2;
    3117              :         res_op2 = captures[2];
    3118              :         tree res_op3;
    3119              :         res_op3 = captures[3];
    3120              :         tree res_op4;
    3121              :         res_op4 = captures[4];
    3122              :         tree _r;
    3123              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3124              :         if (!_r)
    3125              :           goto next_after_fail1009;
    3126              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 803, __FILE__, __LINE__, true);
    3127              :         return _r;
    3128              :       }
    3129            0 : next_after_fail1009:;
    3130              :     }
    3131            0 :   return NULL_TREE;
    3132              : }
    3133              : 
    3134              : tree
    3135            0 : generic_simplify_608 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3136              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3137              :  const combined_fn ARG_UNUSED (ctz))
    3138              : {
    3139            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3140            0 :   {
    3141            0 :  tree t = TREE_TYPE (captures[0]);
    3142            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1018;
    3143            0 :       {
    3144            0 :         tree res_op0;
    3145            0 :         {
    3146            0 :           tree _o1[1], _r1;
    3147            0 :           _o1[0] = captures[1];
    3148            0 :           if (TREE_TYPE (_o1[0]) != t)
    3149              :             {
    3150            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, t, _o1[0]);
    3151              :             }
    3152              :           else
    3153              :             _r1 = _o1[0];
    3154            0 :           res_op0 = _r1;
    3155              :         }
    3156            0 :         tree _r;
    3157            0 :         _r = maybe_build_call_expr_loc (loc, ctz, type, 1, res_op0);
    3158            0 :         if (!_r)
    3159            0 :           goto next_after_fail1018;
    3160            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 810, __FILE__, __LINE__, true);
    3161              :         return _r;
    3162              :       }
    3163              : next_after_fail1018:;
    3164              :   }
    3165              :   return NULL_TREE;
    3166              : }
    3167              : 
    3168              : tree
    3169            0 : generic_simplify_618 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3170              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3171              :  const enum tree_code ARG_UNUSED (rot),
    3172              :  const combined_fn ARG_UNUSED (parity))
    3173              : {
    3174            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3175            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3176            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3177            0 :  && (
    3178              : 
    3179            0 :  || !TREE_SIDE_EFFECTS (captures[3]))
    3180            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0]))
    3181            0 :  >= TYPE_PRECISION (TREE_TYPE (captures[1]))
    3182              : )
    3183              :     {
    3184            0 :       {
    3185            0 :  tree type0 = TREE_TYPE (captures[0]);
    3186            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1029;
    3187            0 :           {
    3188            0 :             tree res_op0;
    3189            0 :             {
    3190            0 :               tree _o1[1], _r1;
    3191            0 :               _o1[0] = captures[2];
    3192            0 :               if (TREE_TYPE (_o1[0]) != type0)
    3193              :                 {
    3194            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3195              :                 }
    3196              :               else
    3197              :                 _r1 = _o1[0];
    3198            0 :               res_op0 = _r1;
    3199              :             }
    3200            0 :             tree _r;
    3201            0 :             _r = maybe_build_call_expr_loc (loc, parity, type, 1, res_op0);
    3202            0 :             if (!_r)
    3203            0 :               goto next_after_fail1029;
    3204            0 :             if (TREE_SIDE_EFFECTS (captures[3]))
    3205            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3206            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 818, __FILE__, __LINE__, true);
    3207            0 :             return _r;
    3208              :           }
    3209              : next_after_fail1029:;
    3210              :       }
    3211              :     }
    3212              :   return NULL_TREE;
    3213              : }
    3214              : 
    3215              : tree
    3216          942 : generic_simplify_ABSU_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3217              : {
    3218          942 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3219          942 :   switch (TREE_CODE (_p0))
    3220              :     {
    3221          541 :     CASE_CONVERT:
    3222          541 :       {
    3223          541 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3224          541 :         switch (TREE_CODE (_q20))
    3225              :           {
    3226            0 :           case ABSU_EXPR:
    3227            0 :             {
    3228            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3229            0 :               {
    3230            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3231            0 :                 if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    3232              : )
    3233              :                   {
    3234            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1073;
    3235            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1073;
    3236            0 :                     {
    3237            0 :                       tree _r;
    3238            0 :                       _r = captures[1];
    3239            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 852, __FILE__, __LINE__, true);
    3240            0 :                       return _r;
    3241              :                     }
    3242            0 : next_after_fail1073:;
    3243              :                   }
    3244              :               }
    3245            0 :               break;
    3246              :             }
    3247              :           default:;
    3248              :           }
    3249              :         break;
    3250              :       }
    3251            6 :     case NEGATE_EXPR:
    3252            6 :       {
    3253            6 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3254            6 :         {
    3255            6 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3256            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1074;
    3257            6 :           {
    3258            6 :             tree res_op0;
    3259            6 :             res_op0 = captures[0];
    3260            6 :             tree _r;
    3261            6 :             _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
    3262            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 853, __FILE__, __LINE__, true);
    3263          942 :             return _r;
    3264              :           }
    3265            0 : next_after_fail1074:;
    3266              :         }
    3267            0 :         break;
    3268              :       }
    3269            0 :     case VEC_COND_EXPR:
    3270            0 :       {
    3271            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3272            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3273            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    3274            0 :         {
    3275            0 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3276            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1075;
    3277            0 :           {
    3278            0 :             tree res_op0;
    3279            0 :             res_op0 = captures[1];
    3280            0 :             tree res_op1;
    3281            0 :             {
    3282            0 :               tree _o1[1], _r1;
    3283            0 :               _o1[0] = captures[2];
    3284            0 :               _r1 = fold_build1_loc (loc, ABSU_EXPR, type, _o1[0]);
    3285            0 :               if (EXPR_P (_r1))
    3286            0 :                 goto next_after_fail1075;
    3287            0 :               res_op1 = _r1;
    3288              :             }
    3289            0 :             tree res_op2;
    3290            0 :             {
    3291            0 :               tree _o1[1], _r1;
    3292            0 :               _o1[0] = captures[3];
    3293            0 :               _r1 = fold_build1_loc (loc, ABSU_EXPR, type, _o1[0]);
    3294            0 :               if (EXPR_P (_r1))
    3295            0 :                 goto next_after_fail1075;
    3296            0 :               res_op2 = _r1;
    3297              :             }
    3298            0 :             tree _r;
    3299            0 :             _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    3300            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 827, __FILE__, __LINE__, true);
    3301            0 :             return _r;
    3302              :           }
    3303            0 : next_after_fail1075:;
    3304              :         }
    3305            0 :         break;
    3306              :       }
    3307          936 :     default:;
    3308              :     }
    3309          936 : if (tree_expr_nonnegative_p (_p0))
    3310              :   {
    3311            0 :     {
    3312            0 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3313            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1076;
    3314            0 :       {
    3315            0 :         tree res_op0;
    3316            0 :         res_op0 = captures[0];
    3317            0 :         tree _r;
    3318            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3319            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 854, __FILE__, __LINE__, true);
    3320            0 :         return _r;
    3321              :       }
    3322            0 : next_after_fail1076:;
    3323              :     }
    3324              :   }
    3325              :   return NULL_TREE;
    3326              : }
    3327              : 
    3328              : tree
    3329      1918374 : generic_simplify_IMAGPART_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3330              : {
    3331      1918374 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3332      1918374 :   switch (TREE_CODE (_p0))
    3333              :     {
    3334         1731 :     case COMPLEX_EXPR:
    3335         1731 :       {
    3336         1731 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3337         1731 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3338         1731 :         {
    3339         1731 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3340         1731 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1145;
    3341         1731 :           {
    3342         1731 :             tree _r;
    3343         1731 :             _r = captures[1];
    3344         1731 :             if (TREE_SIDE_EFFECTS (captures[0]))
    3345          522 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3346         1731 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 881, __FILE__, __LINE__, true);
    3347         1731 :             return _r;
    3348              :           }
    3349            0 : next_after_fail1145:;
    3350              :         }
    3351            0 :         break;
    3352              :       }
    3353        45598 :     CASE_CONVERT:
    3354        45598 :       {
    3355        45598 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3356        45598 :         switch (TREE_CODE (_q20))
    3357              :           {
    3358            0 :           case CONJ_EXPR:
    3359            0 :             {
    3360            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3361            0 :               {
    3362            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3363            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1146;
    3364            0 :                 {
    3365            0 :                   tree res_op0;
    3366            0 :                   {
    3367            0 :                     tree _o1[1], _r1;
    3368            0 :                     {
    3369            0 :                       tree _o2[1], _r2;
    3370            0 :                       _o2[0] = captures[2];
    3371            0 :                       _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3372            0 :                       _o1[0] = _r2;
    3373              :                     }
    3374            0 :                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3375            0 :                     res_op0 = _r1;
    3376              :                   }
    3377            0 :                   tree _r;
    3378            0 :                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3379            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 882, __FILE__, __LINE__, true);
    3380            0 :                   return _r;
    3381              :                 }
    3382            0 : next_after_fail1146:;
    3383              :               }
    3384            0 :               break;
    3385              :             }
    3386            0 :           case PLUS_EXPR:
    3387            0 :             {
    3388            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3389            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3390            0 :               {
    3391            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3392            0 :                 const enum tree_code op = PLUS_EXPR;
    3393            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1147;
    3394            0 :                 {
    3395            0 :                   tree res_op0;
    3396            0 :                   {
    3397            0 :                     tree _o1[2], _r1;
    3398            0 :                     {
    3399            0 :                       tree _o2[1], _r2;
    3400            0 :                       _o2[0] = captures[2];
    3401            0 :                       _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3402            0 :                       _o1[0] = _r2;
    3403              :                     }
    3404            0 :                     {
    3405            0 :                       tree _o2[1], _r2;
    3406            0 :                       _o2[0] = captures[3];
    3407            0 :                       _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3408            0 :                       _o1[1] = _r2;
    3409              :                     }
    3410            0 :                     _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3411            0 :                     res_op0 = _r1;
    3412              :                   }
    3413            0 :                   tree _r;
    3414            0 :                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3415            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 879, __FILE__, __LINE__, true);
    3416            0 :                   return _r;
    3417              :                 }
    3418            0 : next_after_fail1147:;
    3419              :               }
    3420            0 :               break;
    3421              :             }
    3422            0 :           case MINUS_EXPR:
    3423            0 :             {
    3424            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3425            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3426            0 :               {
    3427            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3428            0 :                 const enum tree_code op = MINUS_EXPR;
    3429            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1148;
    3430            0 :                 {
    3431            0 :                   tree res_op0;
    3432            0 :                   {
    3433            0 :                     tree _o1[2], _r1;
    3434            0 :                     {
    3435            0 :                       tree _o2[1], _r2;
    3436            0 :                       _o2[0] = captures[2];
    3437            0 :                       _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3438            0 :                       _o1[0] = _r2;
    3439              :                     }
    3440            0 :                     {
    3441            0 :                       tree _o2[1], _r2;
    3442            0 :                       _o2[0] = captures[3];
    3443            0 :                       _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3444            0 :                       _o1[1] = _r2;
    3445              :                     }
    3446            0 :                     _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3447            0 :                     res_op0 = _r1;
    3448              :                   }
    3449            0 :                   tree _r;
    3450            0 :                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3451            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 879, __FILE__, __LINE__, true);
    3452            0 :                   return _r;
    3453              :                 }
    3454            0 : next_after_fail1148:;
    3455              :               }
    3456            0 :               break;
    3457              :             }
    3458            0 :           case CALL_EXPR:
    3459            0 :             switch (get_call_combined_fn (_q20))
    3460              :               {
    3461            0 :               case CFN_BUILT_IN_CEXPIF:
    3462            0 :                 if (call_expr_nargs (_q20) == 1)
    3463              :     {
    3464            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    3465            0 :                     {
    3466            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3467            0 :                       if (single_use (captures[1]) && single_use (captures[0])
    3468              : )
    3469              :                         {
    3470            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1149;
    3471            0 :                           {
    3472            0 :                             tree res_op0;
    3473            0 :                             {
    3474            0 :                               tree _o1[1], _r1;
    3475            0 :                               _o1[0] = captures[2];
    3476            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SINF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3477            0 :                               if (!_r1)
    3478            0 :                                 goto next_after_fail1149;
    3479            0 :                               res_op0 = _r1;
    3480              :                             }
    3481            0 :                             tree _r;
    3482            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3483            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 883, __FILE__, __LINE__, true);
    3484            0 :                             return _r;
    3485              :                           }
    3486            0 : next_after_fail1149:;
    3487              :                         }
    3488              :                     }
    3489              :                   }
    3490              :                 break;
    3491            0 :               case CFN_BUILT_IN_CEXPIL:
    3492            0 :                 if (call_expr_nargs (_q20) == 1)
    3493              :     {
    3494            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    3495            0 :                     {
    3496            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3497            0 :                       if (single_use (captures[1]) && single_use (captures[0])
    3498              : )
    3499              :                         {
    3500            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1150;
    3501            0 :                           {
    3502            0 :                             tree res_op0;
    3503            0 :                             {
    3504            0 :                               tree _o1[1], _r1;
    3505            0 :                               _o1[0] = captures[2];
    3506            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SINL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3507            0 :                               if (!_r1)
    3508            0 :                                 goto next_after_fail1150;
    3509            0 :                               res_op0 = _r1;
    3510              :                             }
    3511            0 :                             tree _r;
    3512            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3513            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 883, __FILE__, __LINE__, true);
    3514            0 :                             return _r;
    3515              :                           }
    3516            0 : next_after_fail1150:;
    3517              :                         }
    3518              :                     }
    3519              :                   }
    3520              :                 break;
    3521            0 :               case CFN_BUILT_IN_CEXPI:
    3522            0 :                 if (call_expr_nargs (_q20) == 1)
    3523              :     {
    3524            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    3525            0 :                     {
    3526            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3527            0 :                       if (single_use (captures[1]) && single_use (captures[0])
    3528              : )
    3529              :                         {
    3530            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1151;
    3531            0 :                           {
    3532            0 :                             tree res_op0;
    3533            0 :                             {
    3534            0 :                               tree _o1[1], _r1;
    3535            0 :                               _o1[0] = captures[2];
    3536            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SIN, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3537            0 :                               if (!_r1)
    3538            0 :                                 goto next_after_fail1151;
    3539            0 :                               res_op0 = _r1;
    3540              :                             }
    3541            0 :                             tree _r;
    3542            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3543            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 883, __FILE__, __LINE__, true);
    3544            0 :                             return _r;
    3545              :                           }
    3546            0 : next_after_fail1151:;
    3547              :                         }
    3548              :                     }
    3549              :                   }
    3550              :                 break;
    3551              :               default:;
    3552              :               }
    3553              :             break;
    3554              :           default:;
    3555              :           }
    3556              :         break;
    3557              :       }
    3558           16 :     case CONJ_EXPR:
    3559           16 :       {
    3560           16 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3561           16 :         {
    3562           16 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3563           16 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1152;
    3564           16 :           {
    3565           16 :             tree res_op0;
    3566           16 :             {
    3567           16 :               tree _o1[1], _r1;
    3568           16 :               {
    3569           16 :                 tree _o2[1], _r2;
    3570           16 :                 _o2[0] = captures[2];
    3571           16 :                 _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3572           16 :                 _o1[0] = _r2;
    3573              :               }
    3574           16 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3575           16 :               res_op0 = _r1;
    3576              :             }
    3577           16 :             tree _r;
    3578           16 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3579           16 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 882, __FILE__, __LINE__, true);
    3580           16 :             return _r;
    3581              :           }
    3582            0 : next_after_fail1152:;
    3583              :         }
    3584            0 :         break;
    3585              :       }
    3586          365 :     case PLUS_EXPR:
    3587          365 :       {
    3588          365 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3589          365 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3590          365 :         {
    3591          365 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    3592          365 :           const enum tree_code op = PLUS_EXPR;
    3593          365 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1153;
    3594          365 :           {
    3595          365 :             tree res_op0;
    3596          365 :             {
    3597          365 :               tree _o1[2], _r1;
    3598          365 :               {
    3599          365 :                 tree _o2[1], _r2;
    3600          365 :                 _o2[0] = captures[2];
    3601          365 :                 _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3602          365 :                 _o1[0] = _r2;
    3603              :               }
    3604          365 :               {
    3605          365 :                 tree _o2[1], _r2;
    3606          365 :                 _o2[0] = captures[3];
    3607          365 :                 _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3608          365 :                 _o1[1] = _r2;
    3609              :               }
    3610          365 :               _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3611          365 :               res_op0 = _r1;
    3612              :             }
    3613          365 :             tree _r;
    3614          365 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3615          365 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 879, __FILE__, __LINE__, true);
    3616          365 :             return _r;
    3617              :           }
    3618            0 : next_after_fail1153:;
    3619              :         }
    3620            0 :         break;
    3621              :       }
    3622           47 :     case MINUS_EXPR:
    3623           47 :       {
    3624           47 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3625           47 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3626           47 :         {
    3627           47 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    3628           47 :           const enum tree_code op = MINUS_EXPR;
    3629           47 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1154;
    3630           47 :           {
    3631           47 :             tree res_op0;
    3632           47 :             {
    3633           47 :               tree _o1[2], _r1;
    3634           47 :               {
    3635           47 :                 tree _o2[1], _r2;
    3636           47 :                 _o2[0] = captures[2];
    3637           47 :                 _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3638           47 :                 _o1[0] = _r2;
    3639              :               }
    3640           47 :               {
    3641           47 :                 tree _o2[1], _r2;
    3642           47 :                 _o2[0] = captures[3];
    3643           47 :                 _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3644           47 :                 _o1[1] = _r2;
    3645              :               }
    3646           47 :               _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3647           47 :               res_op0 = _r1;
    3648              :             }
    3649           47 :             tree _r;
    3650           47 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3651           47 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 879, __FILE__, __LINE__, true);
    3652           47 :             return _r;
    3653              :           }
    3654            0 : next_after_fail1154:;
    3655              :         }
    3656            0 :         break;
    3657              :       }
    3658        54944 :     case CALL_EXPR:
    3659        54944 :       switch (get_call_combined_fn (_p0))
    3660              :         {
    3661        20602 :         case CFN_MUL_OVERFLOW:
    3662        20602 :           if (call_expr_nargs (_p0) == 2)
    3663              :     {
    3664        20602 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3665        20602 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3666        20602 :               if (integer_nonzerop (_q21))
    3667              :                 {
    3668         2784 :                   {
    3669         2784 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3670         2784 :                     tree res = generic_simplify_556 (loc, type, _p0, captures);
    3671         2784 :                     if (res) return res;
    3672              :                   }
    3673              :                 }
    3674        19649 :               if (integer_nonzerop (_q20))
    3675              :                 {
    3676         3002 :                   {
    3677         3002 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    3678         3002 :                     tree res = generic_simplify_556 (loc, type, _p0, captures);
    3679         3002 :                     if (res) return res;
    3680              :                   }
    3681              :                 }
    3682              :             }
    3683              :           break;
    3684            0 :         case CFN_BUILT_IN_CEXPIF:
    3685            0 :           if (call_expr_nargs (_p0) == 1)
    3686              :     {
    3687            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3688            0 :               {
    3689            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3690            0 :                 if (single_use (captures[1]) && single_use (captures[0])
    3691              : )
    3692              :                   {
    3693            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1155;
    3694            0 :                     {
    3695            0 :                       tree res_op0;
    3696            0 :                       {
    3697            0 :                         tree _o1[1], _r1;
    3698            0 :                         _o1[0] = captures[2];
    3699            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SINF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3700            0 :                         if (!_r1)
    3701            0 :                           goto next_after_fail1155;
    3702            0 :                         res_op0 = _r1;
    3703              :                       }
    3704            0 :                       tree _r;
    3705            0 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3706            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 883, __FILE__, __LINE__, true);
    3707            0 :                       return _r;
    3708              :                     }
    3709            0 : next_after_fail1155:;
    3710              :                   }
    3711              :               }
    3712              :             }
    3713              :           break;
    3714            0 :         case CFN_BUILT_IN_CEXPIL:
    3715            0 :           if (call_expr_nargs (_p0) == 1)
    3716              :     {
    3717            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3718            0 :               {
    3719            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3720            0 :                 if (single_use (captures[1]) && single_use (captures[0])
    3721              : )
    3722              :                   {
    3723            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1156;
    3724            0 :                     {
    3725            0 :                       tree res_op0;
    3726            0 :                       {
    3727            0 :                         tree _o1[1], _r1;
    3728            0 :                         _o1[0] = captures[2];
    3729            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SINL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3730            0 :                         if (!_r1)
    3731            0 :                           goto next_after_fail1156;
    3732            0 :                         res_op0 = _r1;
    3733              :                       }
    3734            0 :                       tree _r;
    3735            0 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3736            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 883, __FILE__, __LINE__, true);
    3737            0 :                       return _r;
    3738              :                     }
    3739            0 : next_after_fail1156:;
    3740              :                   }
    3741              :               }
    3742              :             }
    3743              :           break;
    3744            1 :         case CFN_BUILT_IN_CEXPI:
    3745            1 :           if (call_expr_nargs (_p0) == 1)
    3746              :     {
    3747            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3748            1 :               {
    3749            1 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3750            1 :                 if (single_use (captures[1]) && single_use (captures[0])
    3751              : )
    3752              :                   {
    3753            1 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1157;
    3754            1 :                     {
    3755            1 :                       tree res_op0;
    3756            1 :                       {
    3757            1 :                         tree _o1[1], _r1;
    3758            1 :                         _o1[0] = captures[2];
    3759            1 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SIN, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3760            1 :                         if (!_r1)
    3761            0 :                           goto next_after_fail1157;
    3762            1 :                         res_op0 = _r1;
    3763              :                       }
    3764            1 :                       tree _r;
    3765            1 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3766            1 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 883, __FILE__, __LINE__, true);
    3767            1 :                       return _r;
    3768              :                     }
    3769            0 : next_after_fail1157:;
    3770              :                   }
    3771              :               }
    3772              :             }
    3773              :           break;
    3774              :         default:;
    3775              :         }
    3776              :       break;
    3777              :     default:;
    3778              :     }
    3779              :   return NULL_TREE;
    3780              : }
    3781              : 
    3782              : tree
    3783     70287781 : generic_simplify_MULT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    3784              : {
    3785     70287781 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3786     70287781 :   switch (TREE_CODE (_p1))
    3787              :     {
    3788          380 :     case VECTOR_CST:
    3789          380 :       {
    3790          380 :         {
    3791          380 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    3792          380 :           if (initializer_each_zero_or_onep (captures[1])
    3793            5 :  && !HONOR_SNANS (type)
    3794          385 :  && !HONOR_SIGNED_ZEROS (type)
    3795              : )
    3796              :             {
    3797            5 :               {
    3798            5 :  tree itype = FLOAT_TYPE_P (type) ? unsigned_type_for (type) : type;
    3799            5 :                   if (itype
    3800            5 :  && (!VECTOR_MODE_P (TYPE_MODE (type))
    3801            5 :  || (VECTOR_MODE_P (TYPE_MODE (itype))
    3802            5 :  && optab_handler (and_optab,
    3803            5 :  TYPE_MODE (itype)) != CODE_FOR_nothing))
    3804              : )
    3805              :                     {
    3806            5 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1390;
    3807            5 :                       {
    3808            5 :                         tree res_op0;
    3809            5 :                         {
    3810            5 :                           tree _o1[2], _r1;
    3811            5 :                           {
    3812            5 :                             tree _o2[1], _r2;
    3813            5 :                             _o2[0] = captures[0];
    3814            5 :                             if (TREE_TYPE (_o2[0]) != itype)
    3815              :                               {
    3816            1 :                                 _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, itype, _o2[0]);
    3817              :                               }
    3818              :                             else
    3819              :                               _r2 = _o2[0];
    3820            5 :                             _o1[0] = _r2;
    3821              :                           }
    3822            5 :                           {
    3823            5 :                             tree _o2[2], _r2;
    3824            5 :                             _o2[0] = captures[1];
    3825            5 :                             _o2[1] =  build_zero_cst (type);
    3826            5 :                             _r2 = fold_build2_loc (loc, NE_EXPR, itype, _o2[0], _o2[1]);
    3827            5 :                             _o1[1] = _r2;
    3828              :                           }
    3829            5 :                           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, itype, _o1[0], _o1[1]);
    3830            5 :                           res_op0 = _r1;
    3831              :                         }
    3832            5 :                         tree _r;
    3833            5 :                         _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3834            5 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 958, __FILE__, __LINE__, true);
    3835            5 :                         return _r;
    3836              :                       }
    3837            0 : next_after_fail1390:;
    3838              :                     }
    3839              :               }
    3840              :             }
    3841              :         }
    3842          375 :         break;
    3843              :       }
    3844     70287776 :     default:;
    3845              :     }
    3846     70287776 : if (integer_zerop (_p1))
    3847              :   {
    3848        33591 :     {
    3849        33591 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    3850        33591 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1391;
    3851        33591 :       {
    3852        33591 :         tree _r;
    3853        33591 :         _r = captures[1];
    3854        33591 :         if (TREE_SIDE_EFFECTS (captures[0]))
    3855         2459 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3856        33591 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 959, __FILE__, __LINE__, true);
    3857        33591 :         return _r;
    3858              :       }
    3859            0 : next_after_fail1391:;
    3860              :     }
    3861              :   }
    3862     70254185 : if (real_zerop (_p1))
    3863              :   {
    3864          330 :     {
    3865          330 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    3866          330 :       if (!tree_expr_maybe_nan_p (captures[0])
    3867          122 :  && (!HONOR_NANS (type) || !tree_expr_maybe_infinite_p (captures[0]))
    3868          340 :  && (!HONOR_SIGNED_ZEROS (type) || tree_expr_nonnegative_p (captures[0]))
    3869              : )
    3870              :         {
    3871            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1392;
    3872            4 :           {
    3873            4 :             tree _r;
    3874            4 :             _r = captures[1];
    3875            4 :             if (TREE_SIDE_EFFECTS (captures[0]))
    3876            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3877            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 960, __FILE__, __LINE__, true);
    3878            4 :             return _r;
    3879              :           }
    3880            0 : next_after_fail1392:;
    3881              :         }
    3882              :     }
    3883              :   }
    3884     70254181 : if (real_onep (_p1))
    3885              :   {
    3886         1237 :     {
    3887         1237 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3888         1237 :       if (!tree_expr_maybe_signaling_nan_p (captures[0])
    3889         1237 :  && (!HONOR_SIGNED_ZEROS (type)
    3890         1116 :  || !COMPLEX_FLOAT_TYPE_P (type))
    3891              : )
    3892              :         {
    3893          754 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1393;
    3894          754 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1393;
    3895          754 :           {
    3896          754 :             tree res_op0;
    3897          754 :             res_op0 = captures[0];
    3898          754 :             tree _r;
    3899          754 :             _r = non_lvalue_loc (loc, res_op0);
    3900          754 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    3901          754 :             return _r;
    3902              :           }
    3903              : next_after_fail1393:;
    3904              :         }
    3905              :     }
    3906              :   }
    3907     70253427 : if (real_minus_onep (_p1))
    3908              :   {
    3909        42483 :     {
    3910        42483 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3911        42483 :       if (!tree_expr_maybe_signaling_nan_p (captures[0])
    3912        42483 :  && (!HONOR_SIGNED_ZEROS (type)
    3913        39575 :  || !COMPLEX_FLOAT_TYPE_P (type))
    3914              : )
    3915              :         {
    3916        42099 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1394;
    3917        42099 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1394;
    3918        42099 :           {
    3919        42099 :             tree res_op0;
    3920        42099 :             res_op0 = captures[0];
    3921        42099 :             tree _r;
    3922        42099 :             _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    3923        42099 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 962, __FILE__, __LINE__, true);
    3924        42099 :             return _r;
    3925              :           }
    3926              : next_after_fail1394:;
    3927              :         }
    3928              :     }
    3929              :   }
    3930     70211328 :   switch (TREE_CODE (_p0))
    3931              :     {
    3932        60515 :     case BIT_AND_EXPR:
    3933        60515 :       {
    3934        60515 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3935        60515 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3936        60515 :         switch (TREE_CODE (_q20))
    3937              :           {
    3938          275 :           case RSHIFT_EXPR:
    3939          275 :             {
    3940          275 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3941          275 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3942          275 :               if (uniform_integer_cst_p (_q31))
    3943              :                 {
    3944           14 :                   if (uniform_integer_cst_p (_q21))
    3945              :                     {
    3946           14 :                       if (uniform_integer_cst_p (_p1))
    3947              :                         {
    3948           14 :                           {
    3949           14 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
    3950           14 :                             {
    3951           14 :  tree rshift_cst = uniform_integer_cst_p (captures[1]);
    3952           14 :  tree bit_and_cst = uniform_integer_cst_p (captures[2]);
    3953           14 :  tree mult_cst = uniform_integer_cst_p (captures[3]);
    3954           14 :                                 if (VECTOR_TYPE_P (type)
    3955            0 :  && tree_fits_uhwi_p (rshift_cst)
    3956            0 :  && tree_fits_uhwi_p (mult_cst)
    3957            0 :  && tree_fits_uhwi_p (bit_and_cst)
    3958              : )
    3959              :                                   {
    3960            0 :                                     {
    3961            0 :  HOST_WIDE_INT vec_elem_bits = vector_element_bits (type);
    3962            0 :  poly_int64 vec_nelts = TYPE_VECTOR_SUBPARTS (type);
    3963            0 :  poly_int64 vec_bits = vec_elem_bits * vec_nelts;
    3964            0 :  unsigned HOST_WIDE_INT cmp_bits_i, bit_and_i, mult_i;
    3965            0 :  unsigned HOST_WIDE_INT target_mult_i, target_bit_and_i;
    3966            0 :  cmp_bits_i = tree_to_uhwi (rshift_cst) + 1;
    3967            0 :  mult_i = tree_to_uhwi (mult_cst);
    3968            0 :  target_mult_i = (HOST_WIDE_INT_1U << cmp_bits_i) - 1;
    3969            0 :  bit_and_i = tree_to_uhwi (bit_and_cst);
    3970            0 :  target_bit_and_i = 0;
    3971            0 :  for (unsigned i = 0; i < vec_elem_bits / cmp_bits_i; i++)
    3972            0 :  target_bit_and_i = (target_bit_and_i << cmp_bits_i) | 1U;
    3973            0 :                                         if ((exact_log2 (cmp_bits_i)) >= 0
    3974            0 :  && cmp_bits_i < HOST_BITS_PER_WIDE_INT
    3975            0 :  && multiple_p (vec_bits, cmp_bits_i)
    3976            0 :  && vec_elem_bits <= HOST_BITS_PER_WIDE_INT
    3977            0 :  && target_mult_i == mult_i
    3978            0 :  && target_bit_and_i == bit_and_i
    3979              : )
    3980              :                                           {
    3981            0 :                                             {
    3982            0 :  tree cmp_type = build_nonstandard_integer_type (cmp_bits_i, 0);
    3983            0 :  poly_int64 vector_type_nelts = exact_div (vec_bits, cmp_bits_i);
    3984            0 :  tree vec_cmp_type = build_vector_type (cmp_type, vector_type_nelts);
    3985            0 :  tree vec_truth_type = truth_type_for (vec_cmp_type);
    3986            0 :  tree zeros = build_zero_cst (vec_cmp_type);
    3987            0 :  tree ones = build_all_ones_cst (vec_cmp_type);
    3988            0 :                                                 if (expand_vec_cmp_expr_p (vec_cmp_type, vec_truth_type, LT_EXPR)
    3989            0 :  && expand_vec_cond_expr_p (vec_cmp_type, vec_truth_type)
    3990              : )
    3991              :                                                   {
    3992            0 :                                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1395;
    3993            0 :                                                     {
    3994            0 :                                                       tree res_op0;
    3995            0 :                                                       {
    3996            0 :                                                         tree _o1[3], _r1;
    3997            0 :                                                         {
    3998            0 :                                                           tree _o2[2], _r2;
    3999            0 :                                                           {
    4000            0 :                                                             tree _o3[1], _r3;
    4001            0 :                                                             _o3[0] = captures[0];
    4002            0 :                                                             if (TREE_TYPE (_o3[0]) != vec_cmp_type)
    4003              :                                                               {
    4004            0 :                                                                 _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, vec_cmp_type, _o3[0]);
    4005              :                                                               }
    4006              :                                                             else
    4007              :                                                               _r3 = _o3[0];
    4008            0 :                                                             _o2[0] = _r3;
    4009              :                                                           }
    4010            0 :                                                           _o2[1] =  zeros;
    4011            0 :                                                           _r2 = fold_build2_loc (loc, LT_EXPR, vec_truth_type, _o2[0], _o2[1]);
    4012            0 :                                                           _o1[0] = _r2;
    4013              :                                                         }
    4014            0 :                                                         _o1[1] =  ones;
    4015            0 :                                                         _o1[2] =  zeros;
    4016            0 :                                                         _r1 = fold_build3_loc (loc, VEC_COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
    4017            0 :                                                         res_op0 = _r1;
    4018              :                                                       }
    4019            0 :                                                       tree _r;
    4020            0 :                                                       _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    4021            0 :                                                       if (TREE_SIDE_EFFECTS (captures[1]))
    4022            0 :                                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4023            0 :                                                       if (TREE_SIDE_EFFECTS (captures[2]))
    4024            0 :                                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4025            0 :                                                       if (TREE_SIDE_EFFECTS (captures[3]))
    4026            0 :                                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    4027            0 :                                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 963, __FILE__, __LINE__, true);
    4028            0 :                                                       return _r;
    4029              :                                                     }
    4030            0 : next_after_fail1395:;
    4031              :                                                   }
    4032              :                                             }
    4033              :                                           }
    4034              :                                     }
    4035              :                                   }
    4036              :                             }
    4037              :                           }
    4038              :                         }
    4039              :                     }
    4040              :                 }
    4041              :               break;
    4042              :             }
    4043              :           default:;
    4044              :           }
    4045              :         break;
    4046              :       }
    4047     70211328 :     default:;
    4048              :     }
    4049     70211328 :   switch (TREE_CODE (_p1))
    4050              :     {
    4051         3062 :     case COND_EXPR:
    4052         3062 :       {
    4053         3062 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4054         3062 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4055         3062 :         tree _q32 = TREE_OPERAND (_p1, 2);
    4056         3062 :         switch (TREE_CODE (_q30))
    4057              :           {
    4058          546 :           case GT_EXPR:
    4059          546 :             {
    4060          546 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4061          546 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4062          546 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4063              :                 {
    4064            0 :                   if (real_zerop (_q41))
    4065              :                     {
    4066            0 :                       if (real_onep (_q31))
    4067              :                         {
    4068            0 :                           if (real_minus_onep (_q32))
    4069              :                             {
    4070            0 :                               {
    4071            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    4072            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4073              : )
    4074              :                                   {
    4075            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1396;
    4076            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1396;
    4077            0 :                                     {
    4078            0 :                                       tree res_op0;
    4079            0 :                                       {
    4080            0 :                                         tree _o1[1], _r1;
    4081            0 :                                         _o1[0] = captures[0];
    4082            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4083            0 :                                         res_op0 = _r1;
    4084              :                                       }
    4085            0 :                                       tree _r;
    4086            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4087            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 964, __FILE__, __LINE__, true);
    4088            0 :                                       return _r;
    4089              :                                     }
    4090            0 : next_after_fail1396:;
    4091              :                                   }
    4092              :                               }
    4093              :                             }
    4094              :                         }
    4095              :                     }
    4096              :                 }
    4097              :               break;
    4098              :             }
    4099           24 :           case GE_EXPR:
    4100           24 :             {
    4101           24 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4102           24 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4103           24 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4104              :                 {
    4105            0 :                   if (real_zerop (_q41))
    4106              :                     {
    4107            0 :                       if (real_onep (_q31))
    4108              :                         {
    4109            0 :                           if (real_minus_onep (_q32))
    4110              :                             {
    4111            0 :                               {
    4112            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    4113            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4114              : )
    4115              :                                   {
    4116            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1397;
    4117            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1397;
    4118            0 :                                     {
    4119            0 :                                       tree res_op0;
    4120            0 :                                       {
    4121            0 :                                         tree _o1[1], _r1;
    4122            0 :                                         _o1[0] = captures[0];
    4123            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4124            0 :                                         res_op0 = _r1;
    4125              :                                       }
    4126            0 :                                       tree _r;
    4127            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4128            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 964, __FILE__, __LINE__, true);
    4129            0 :                                       return _r;
    4130              :                                     }
    4131            0 : next_after_fail1397:;
    4132              :                                   }
    4133              :                               }
    4134              :                             }
    4135              :                         }
    4136              :                     }
    4137              :                 }
    4138              :               break;
    4139              :             }
    4140           51 :           case LT_EXPR:
    4141           51 :             {
    4142           51 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4143           51 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4144           51 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4145              :                 {
    4146            0 :                   if (real_zerop (_q41))
    4147              :                     {
    4148            0 :                       if (real_onep (_q31))
    4149              :                         {
    4150            0 :                           if (real_minus_onep (_q32))
    4151              :                             {
    4152            0 :                               {
    4153            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    4154            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4155              : )
    4156              :                                   {
    4157            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1398;
    4158            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1398;
    4159            0 :                                     {
    4160            0 :                                       tree res_op0;
    4161            0 :                                       {
    4162            0 :                                         tree _o1[1], _r1;
    4163            0 :                                         _o1[0] = captures[0];
    4164            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4165            0 :                                         res_op0 = _r1;
    4166              :                                       }
    4167            0 :                                       tree _r;
    4168            0 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4169            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 964, __FILE__, __LINE__, true);
    4170            0 :                                       return _r;
    4171              :                                     }
    4172            0 : next_after_fail1398:;
    4173              :                                   }
    4174              :                               }
    4175              :                             }
    4176              :                         }
    4177              :                     }
    4178              :                 }
    4179              :               break;
    4180              :             }
    4181            5 :           case LE_EXPR:
    4182            5 :             {
    4183            5 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4184            5 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4185            5 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4186              :                 {
    4187            0 :                   if (real_zerop (_q41))
    4188              :                     {
    4189            0 :                       if (real_onep (_q31))
    4190              :                         {
    4191            0 :                           if (real_minus_onep (_q32))
    4192              :                             {
    4193            0 :                               {
    4194            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    4195            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4196              : )
    4197              :                                   {
    4198            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1399;
    4199            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1399;
    4200            0 :                                     {
    4201            0 :                                       tree res_op0;
    4202            0 :                                       {
    4203            0 :                                         tree _o1[1], _r1;
    4204            0 :                                         _o1[0] = captures[0];
    4205            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4206            0 :                                         res_op0 = _r1;
    4207              :                                       }
    4208            0 :                                       tree _r;
    4209            0 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4210            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 964, __FILE__, __LINE__, true);
    4211            0 :                                       return _r;
    4212              :                                     }
    4213            0 : next_after_fail1399:;
    4214              :                                   }
    4215              :                               }
    4216              :                             }
    4217              :                         }
    4218              :                     }
    4219              :                 }
    4220              :               break;
    4221              :             }
    4222              :           default:;
    4223              :           }
    4224              :         break;
    4225              :       }
    4226     70211328 :     default:;
    4227              :     }
    4228     70211328 :   switch (TREE_CODE (_p0))
    4229              :     {
    4230        87132 :     case COND_EXPR:
    4231        87132 :       {
    4232        87132 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4233        87132 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4234        87132 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4235        87132 :         switch (TREE_CODE (_q20))
    4236              :           {
    4237        22108 :           case GT_EXPR:
    4238        22108 :             {
    4239        22108 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4240        22108 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4241        22108 :               if (real_zerop (_q31))
    4242              :                 {
    4243            4 :                   if (real_onep (_q21))
    4244              :                     {
    4245            3 :                       if (real_minus_onep (_q22))
    4246              :                         {
    4247            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4248              :                             {
    4249            1 :                               {
    4250            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4251            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4252              : )
    4253              :                                   {
    4254            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1400;
    4255            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1400;
    4256            1 :                                     {
    4257            1 :                                       tree res_op0;
    4258            1 :                                       {
    4259            1 :                                         tree _o1[1], _r1;
    4260            1 :                                         _o1[0] = captures[0];
    4261            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4262            1 :                                         res_op0 = _r1;
    4263              :                                       }
    4264            1 :                                       tree _r;
    4265            1 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4266            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 964, __FILE__, __LINE__, true);
    4267            1 :                                       return _r;
    4268              :                                     }
    4269            0 : next_after_fail1400:;
    4270              :                                   }
    4271              :                               }
    4272              :                             }
    4273              :                         }
    4274              :                     }
    4275            3 :                   if (real_minus_onep (_q21))
    4276              :                     {
    4277            1 :                       if (real_onep (_q22))
    4278              :                         {
    4279            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4280              :                             {
    4281            1 :                               {
    4282            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
    4283            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4284              : )
    4285              :                                   {
    4286            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1401;
    4287            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1401;
    4288            1 :                                     {
    4289            1 :                                       tree res_op0;
    4290            1 :                                       {
    4291            1 :                                         tree _o1[1], _r1;
    4292            1 :                                         _o1[0] = captures[0];
    4293            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4294            1 :                                         res_op0 = _r1;
    4295              :                                       }
    4296            1 :                                       tree _r;
    4297            1 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4298            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 965, __FILE__, __LINE__, true);
    4299            1 :                                       return _r;
    4300              :                                     }
    4301            0 : next_after_fail1401:;
    4302              :                                   }
    4303              :                               }
    4304              :                             }
    4305              :                         }
    4306              :                     }
    4307              :                 }
    4308              :               break;
    4309              :             }
    4310         8245 :           case GE_EXPR:
    4311         8245 :             {
    4312         8245 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4313         8245 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4314         8245 :               if (real_zerop (_q31))
    4315              :                 {
    4316            2 :                   if (real_onep (_q21))
    4317              :                     {
    4318            1 :                       if (real_minus_onep (_q22))
    4319              :                         {
    4320            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4321              :                             {
    4322            1 :                               {
    4323            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4324            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4325              : )
    4326              :                                   {
    4327            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1402;
    4328            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1402;
    4329            1 :                                     {
    4330            1 :                                       tree res_op0;
    4331            1 :                                       {
    4332            1 :                                         tree _o1[1], _r1;
    4333            1 :                                         _o1[0] = captures[0];
    4334            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4335            1 :                                         res_op0 = _r1;
    4336              :                                       }
    4337            1 :                                       tree _r;
    4338            1 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4339            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 964, __FILE__, __LINE__, true);
    4340            1 :                                       return _r;
    4341              :                                     }
    4342            0 : next_after_fail1402:;
    4343              :                                   }
    4344              :                               }
    4345              :                             }
    4346              :                         }
    4347              :                     }
    4348            1 :                   if (real_minus_onep (_q21))
    4349              :                     {
    4350            1 :                       if (real_onep (_q22))
    4351              :                         {
    4352            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4353              :                             {
    4354            1 :                               {
    4355            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
    4356            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4357              : )
    4358              :                                   {
    4359            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1403;
    4360            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1403;
    4361            1 :                                     {
    4362            1 :                                       tree res_op0;
    4363            1 :                                       {
    4364            1 :                                         tree _o1[1], _r1;
    4365            1 :                                         _o1[0] = captures[0];
    4366            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4367            1 :                                         res_op0 = _r1;
    4368              :                                       }
    4369            1 :                                       tree _r;
    4370            1 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4371            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 965, __FILE__, __LINE__, true);
    4372            1 :                                       return _r;
    4373              :                                     }
    4374            0 : next_after_fail1403:;
    4375              :                                   }
    4376              :                               }
    4377              :                             }
    4378              :                         }
    4379              :                     }
    4380              :                 }
    4381              :               break;
    4382              :             }
    4383         7743 :           case LT_EXPR:
    4384         7743 :             {
    4385         7743 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4386         7743 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4387         7743 :               if (real_zerop (_q31))
    4388              :                 {
    4389            2 :                   if (real_onep (_q21))
    4390              :                     {
    4391            1 :                       if (real_minus_onep (_q22))
    4392              :                         {
    4393            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4394              :                             {
    4395            1 :                               {
    4396            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4397            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4398              : )
    4399              :                                   {
    4400            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1404;
    4401            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1404;
    4402            1 :                                     {
    4403            1 :                                       tree res_op0;
    4404            1 :                                       {
    4405            1 :                                         tree _o1[1], _r1;
    4406            1 :                                         _o1[0] = captures[0];
    4407            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4408            1 :                                         res_op0 = _r1;
    4409              :                                       }
    4410            1 :                                       tree _r;
    4411            1 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4412            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 964, __FILE__, __LINE__, true);
    4413            1 :                                       return _r;
    4414              :                                     }
    4415            0 : next_after_fail1404:;
    4416              :                                   }
    4417              :                               }
    4418              :                             }
    4419              :                         }
    4420              :                     }
    4421            1 :                   if (real_minus_onep (_q21))
    4422              :                     {
    4423            1 :                       if (real_onep (_q22))
    4424              :                         {
    4425            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4426              :                             {
    4427            1 :                               {
    4428            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
    4429            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4430              : )
    4431              :                                   {
    4432            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1405;
    4433            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1405;
    4434            1 :                                     {
    4435            1 :                                       tree res_op0;
    4436            1 :                                       {
    4437            1 :                                         tree _o1[1], _r1;
    4438            1 :                                         _o1[0] = captures[0];
    4439            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4440            1 :                                         res_op0 = _r1;
    4441              :                                       }
    4442            1 :                                       tree _r;
    4443            1 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4444            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 965, __FILE__, __LINE__, true);
    4445            1 :                                       return _r;
    4446              :                                     }
    4447            0 : next_after_fail1405:;
    4448              :                                   }
    4449              :                               }
    4450              :                             }
    4451              :                         }
    4452              :                     }
    4453              :                 }
    4454              :               break;
    4455              :             }
    4456         3233 :           case LE_EXPR:
    4457         3233 :             {
    4458         3233 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4459         3233 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4460         3233 :               if (real_zerop (_q31))
    4461              :                 {
    4462            2 :                   if (real_onep (_q21))
    4463              :                     {
    4464            1 :                       if (real_minus_onep (_q22))
    4465              :                         {
    4466            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4467              :                             {
    4468            1 :                               {
    4469            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4470            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4471              : )
    4472              :                                   {
    4473            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1406;
    4474            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1406;
    4475            1 :                                     {
    4476            1 :                                       tree res_op0;
    4477            1 :                                       {
    4478            1 :                                         tree _o1[1], _r1;
    4479            1 :                                         _o1[0] = captures[0];
    4480            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4481            1 :                                         res_op0 = _r1;
    4482              :                                       }
    4483            1 :                                       tree _r;
    4484            1 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4485            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 964, __FILE__, __LINE__, true);
    4486            1 :                                       return _r;
    4487              :                                     }
    4488            0 : next_after_fail1406:;
    4489              :                                   }
    4490              :                               }
    4491              :                             }
    4492              :                         }
    4493              :                     }
    4494            1 :                   if (real_minus_onep (_q21))
    4495              :                     {
    4496            1 :                       if (real_onep (_q22))
    4497              :                         {
    4498            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4499              :                             {
    4500            1 :                               {
    4501            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
    4502            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4503              : )
    4504              :                                   {
    4505            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1407;
    4506            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1407;
    4507            1 :                                     {
    4508            1 :                                       tree res_op0;
    4509            1 :                                       {
    4510            1 :                                         tree _o1[1], _r1;
    4511            1 :                                         _o1[0] = captures[0];
    4512            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4513            1 :                                         res_op0 = _r1;
    4514              :                                       }
    4515            1 :                                       tree _r;
    4516            1 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4517            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 965, __FILE__, __LINE__, true);
    4518            1 :                                       return _r;
    4519              :                                     }
    4520            0 : next_after_fail1407:;
    4521              :                                   }
    4522              :                               }
    4523              :                             }
    4524              :                         }
    4525              :                     }
    4526              :                 }
    4527              :               break;
    4528              :             }
    4529              :           default:;
    4530              :           }
    4531              :         break;
    4532              :       }
    4533     70211320 :     default:;
    4534              :     }
    4535     70211320 :   switch (TREE_CODE (_p1))
    4536              :     {
    4537         3062 :     case COND_EXPR:
    4538         3062 :       {
    4539         3062 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4540         3062 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4541         3062 :         tree _q32 = TREE_OPERAND (_p1, 2);
    4542         3062 :         switch (TREE_CODE (_q30))
    4543              :           {
    4544          546 :           case GT_EXPR:
    4545          546 :             {
    4546          546 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4547          546 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4548          546 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4549              :                 {
    4550            0 :                   if (real_zerop (_q41))
    4551              :                     {
    4552            0 :                       if (real_minus_onep (_q31))
    4553              :                         {
    4554            0 :                           if (real_onep (_q32))
    4555              :                             {
    4556            0 :                               {
    4557            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
    4558            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4559              : )
    4560              :                                   {
    4561            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1408;
    4562            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1408;
    4563            0 :                                     {
    4564            0 :                                       tree res_op0;
    4565            0 :                                       {
    4566            0 :                                         tree _o1[1], _r1;
    4567            0 :                                         _o1[0] = captures[0];
    4568            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4569            0 :                                         res_op0 = _r1;
    4570              :                                       }
    4571            0 :                                       tree _r;
    4572            0 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4573            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 965, __FILE__, __LINE__, true);
    4574            0 :                                       return _r;
    4575              :                                     }
    4576            0 : next_after_fail1408:;
    4577              :                                   }
    4578              :                               }
    4579              :                             }
    4580              :                         }
    4581              :                     }
    4582              :                 }
    4583              :               break;
    4584              :             }
    4585           24 :           case GE_EXPR:
    4586           24 :             {
    4587           24 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4588           24 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4589           24 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4590              :                 {
    4591            0 :                   if (real_zerop (_q41))
    4592              :                     {
    4593            0 :                       if (real_minus_onep (_q31))
    4594              :                         {
    4595            0 :                           if (real_onep (_q32))
    4596              :                             {
    4597            0 :                               {
    4598            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
    4599            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4600              : )
    4601              :                                   {
    4602            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1409;
    4603            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1409;
    4604            0 :                                     {
    4605            0 :                                       tree res_op0;
    4606            0 :                                       {
    4607            0 :                                         tree _o1[1], _r1;
    4608            0 :                                         _o1[0] = captures[0];
    4609            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4610            0 :                                         res_op0 = _r1;
    4611              :                                       }
    4612            0 :                                       tree _r;
    4613            0 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4614            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 965, __FILE__, __LINE__, true);
    4615            0 :                                       return _r;
    4616              :                                     }
    4617            0 : next_after_fail1409:;
    4618              :                                   }
    4619              :                               }
    4620              :                             }
    4621              :                         }
    4622              :                     }
    4623              :                 }
    4624              :               break;
    4625              :             }
    4626           51 :           case LT_EXPR:
    4627           51 :             {
    4628           51 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4629           51 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4630           51 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4631              :                 {
    4632            0 :                   if (real_zerop (_q41))
    4633              :                     {
    4634            0 :                       if (real_minus_onep (_q31))
    4635              :                         {
    4636            0 :                           if (real_onep (_q32))
    4637              :                             {
    4638            0 :                               {
    4639            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
    4640            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4641              : )
    4642              :                                   {
    4643            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1410;
    4644            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1410;
    4645            0 :                                     {
    4646            0 :                                       tree res_op0;
    4647            0 :                                       {
    4648            0 :                                         tree _o1[1], _r1;
    4649            0 :                                         _o1[0] = captures[0];
    4650            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4651            0 :                                         res_op0 = _r1;
    4652              :                                       }
    4653            0 :                                       tree _r;
    4654            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4655            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 965, __FILE__, __LINE__, true);
    4656            0 :                                       return _r;
    4657              :                                     }
    4658            0 : next_after_fail1410:;
    4659              :                                   }
    4660              :                               }
    4661              :                             }
    4662              :                         }
    4663              :                     }
    4664              :                 }
    4665              :               break;
    4666              :             }
    4667            5 :           case LE_EXPR:
    4668            5 :             {
    4669            5 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4670            5 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4671            5 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4672              :                 {
    4673            0 :                   if (real_zerop (_q41))
    4674              :                     {
    4675            0 :                       if (real_minus_onep (_q31))
    4676              :                         {
    4677            0 :                           if (real_onep (_q32))
    4678              :                             {
    4679            0 :                               {
    4680            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
    4681            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4682              : )
    4683              :                                   {
    4684            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1411;
    4685            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1411;
    4686            0 :                                     {
    4687            0 :                                       tree res_op0;
    4688            0 :                                       {
    4689            0 :                                         tree _o1[1], _r1;
    4690            0 :                                         _o1[0] = captures[0];
    4691            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4692            0 :                                         res_op0 = _r1;
    4693              :                                       }
    4694            0 :                                       tree _r;
    4695            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4696            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 965, __FILE__, __LINE__, true);
    4697            0 :                                       return _r;
    4698              :                                     }
    4699            0 : next_after_fail1411:;
    4700              :                                   }
    4701              :                               }
    4702              :                             }
    4703              :                         }
    4704              :                     }
    4705              :                 }
    4706              :               break;
    4707              :             }
    4708              :           default:;
    4709              :           }
    4710              :         break;
    4711              :       }
    4712       870586 :     case CALL_EXPR:
    4713       870586 :       switch (get_call_combined_fn (_p1))
    4714              :         {
    4715           20 :         case CFN_BUILT_IN_COPYSIGNF16:
    4716           20 :           if (call_expr_nargs (_p1) == 2)
    4717              :     {
    4718           20 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4719           20 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4720           20 :               if (real_onep (_q30))
    4721              :                 {
    4722           20 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4723              :                     {
    4724            0 :                       {
    4725            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4726            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    4727            0 :                         if (res) return res;
    4728              :                       }
    4729              :                     }
    4730              :                 }
    4731              :             }
    4732              :           break;
    4733            0 :         case CFN_BUILT_IN_COPYSIGNF32:
    4734            0 :           if (call_expr_nargs (_p1) == 2)
    4735              :     {
    4736            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4737            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4738            0 :               if (real_onep (_q30))
    4739              :                 {
    4740            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4741              :                     {
    4742            0 :                       {
    4743            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4744            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    4745            0 :                         if (res) return res;
    4746              :                       }
    4747              :                     }
    4748              :                 }
    4749              :             }
    4750              :           break;
    4751            0 :         case CFN_BUILT_IN_COPYSIGNF64:
    4752            0 :           if (call_expr_nargs (_p1) == 2)
    4753              :     {
    4754            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4755            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4756            0 :               if (real_onep (_q30))
    4757              :                 {
    4758            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4759              :                     {
    4760            0 :                       {
    4761            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4762            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    4763            0 :                         if (res) return res;
    4764              :                       }
    4765              :                     }
    4766              :                 }
    4767              :             }
    4768              :           break;
    4769            0 :         case CFN_BUILT_IN_COPYSIGNF128X:
    4770            0 :           if (call_expr_nargs (_p1) == 2)
    4771              :     {
    4772            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4773            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4774            0 :               if (real_onep (_q30))
    4775              :                 {
    4776            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4777              :                     {
    4778            0 :                       {
    4779            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4780            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    4781            0 :                         if (res) return res;
    4782              :                       }
    4783              :                     }
    4784              :                 }
    4785              :             }
    4786              :           break;
    4787            0 :         case CFN_BUILT_IN_COPYSIGNF128:
    4788            0 :           if (call_expr_nargs (_p1) == 2)
    4789              :     {
    4790            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4791            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4792            0 :               if (real_onep (_q30))
    4793              :                 {
    4794            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4795              :                     {
    4796            0 :                       {
    4797            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4798            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    4799            0 :                         if (res) return res;
    4800              :                       }
    4801              :                     }
    4802              :                 }
    4803              :             }
    4804              :           break;
    4805            0 :         case CFN_BUILT_IN_COPYSIGNF32X:
    4806            0 :           if (call_expr_nargs (_p1) == 2)
    4807              :     {
    4808            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4809            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4810            0 :               if (real_onep (_q30))
    4811              :                 {
    4812            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4813              :                     {
    4814            0 :                       {
    4815            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4816            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    4817            0 :                         if (res) return res;
    4818              :                       }
    4819              :                     }
    4820              :                 }
    4821              :             }
    4822              :           break;
    4823            0 :         case CFN_BUILT_IN_COPYSIGNF64X:
    4824            0 :           if (call_expr_nargs (_p1) == 2)
    4825              :     {
    4826            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4827            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4828            0 :               if (real_onep (_q30))
    4829              :                 {
    4830            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4831              :                     {
    4832            0 :                       {
    4833            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4834            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    4835            0 :                         if (res) return res;
    4836              :                       }
    4837              :                     }
    4838              :                 }
    4839              :             }
    4840              :           break;
    4841           18 :         case CFN_BUILT_IN_COPYSIGN:
    4842           18 :           if (call_expr_nargs (_p1) == 2)
    4843              :     {
    4844           18 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4845           18 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4846           18 :               if (real_onep (_q30))
    4847              :                 {
    4848           14 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4849              :                     {
    4850            0 :                       {
    4851            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4852            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    4853            0 :                         if (res) return res;
    4854              :                       }
    4855              :                     }
    4856              :                 }
    4857              :             }
    4858              :           break;
    4859           14 :         case CFN_BUILT_IN_COPYSIGNF:
    4860           14 :           if (call_expr_nargs (_p1) == 2)
    4861              :     {
    4862           14 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4863           14 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4864           14 :               if (real_onep (_q30))
    4865              :                 {
    4866           12 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4867              :                     {
    4868            0 :                       {
    4869            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4870            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    4871            0 :                         if (res) return res;
    4872              :                       }
    4873              :                     }
    4874              :                 }
    4875              :             }
    4876              :           break;
    4877            0 :         case CFN_BUILT_IN_COPYSIGNL:
    4878            0 :           if (call_expr_nargs (_p1) == 2)
    4879              :     {
    4880            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4881            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4882            0 :               if (real_onep (_q30))
    4883              :                 {
    4884            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4885              :                     {
    4886            0 :                       {
    4887            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4888            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    4889            0 :                         if (res) return res;
    4890              :                       }
    4891              :                     }
    4892              :                 }
    4893              :             }
    4894              :           break;
    4895            0 :         case CFN_COPYSIGN:
    4896            0 :           if (call_expr_nargs (_p1) == 2)
    4897              :     {
    4898            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4899            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4900            0 :               if (real_onep (_q30))
    4901              :                 {
    4902            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4903              :                     {
    4904            0 :                       {
    4905            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4906            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    4907            0 :                         if (res) return res;
    4908              :                       }
    4909              :                     }
    4910              :                 }
    4911              :             }
    4912              :           break;
    4913              :         default:;
    4914              :         }
    4915              :       break;
    4916     70211320 :     default:;
    4917              :     }
    4918     70211320 :   switch (TREE_CODE (_p0))
    4919              :     {
    4920      2642581 :     case CALL_EXPR:
    4921      2642581 :       switch (get_call_combined_fn (_p0))
    4922              :         {
    4923            1 :         case CFN_BUILT_IN_COPYSIGNF16:
    4924            1 :           if (call_expr_nargs (_p0) == 2)
    4925              :     {
    4926            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    4927            1 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    4928            1 :               if (real_onep (_q20))
    4929              :                 {
    4930            1 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4931              :                     {
    4932            0 :                       {
    4933            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    4934            0 :                         tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    4935            0 :                         if (res) return res;
    4936              :                       }
    4937              :                     }
    4938            1 :                   switch (TREE_CODE (_q21))
    4939              :                     {
    4940            0 :                     case NEGATE_EXPR:
    4941            0 :                       {
    4942            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    4943            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4944              :                           {
    4945            0 :                             {
    4946            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    4947            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    4948            0 :                               if (res) return res;
    4949              :                             }
    4950              :                           }
    4951              :                         break;
    4952              :                       }
    4953              :                     default:;
    4954              :                     }
    4955              :                 }
    4956              :             }
    4957              :           break;
    4958            0 :         case CFN_BUILT_IN_COPYSIGNF32:
    4959            0 :           if (call_expr_nargs (_p0) == 2)
    4960              :     {
    4961            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    4962            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    4963            0 :               if (real_onep (_q20))
    4964              :                 {
    4965            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4966              :                     {
    4967            0 :                       {
    4968            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    4969            0 :                         tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    4970            0 :                         if (res) return res;
    4971              :                       }
    4972              :                     }
    4973            0 :                   switch (TREE_CODE (_q21))
    4974              :                     {
    4975            0 :                     case NEGATE_EXPR:
    4976            0 :                       {
    4977            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    4978            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4979              :                           {
    4980            0 :                             {
    4981            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    4982            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    4983            0 :                               if (res) return res;
    4984              :                             }
    4985              :                           }
    4986              :                         break;
    4987              :                       }
    4988              :                     default:;
    4989              :                     }
    4990              :                 }
    4991              :             }
    4992              :           break;
    4993            0 :         case CFN_BUILT_IN_COPYSIGNF64:
    4994            0 :           if (call_expr_nargs (_p0) == 2)
    4995              :     {
    4996            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    4997            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    4998            0 :               if (real_onep (_q20))
    4999              :                 {
    5000            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5001              :                     {
    5002            0 :                       {
    5003            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5004            0 :                         tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    5005            0 :                         if (res) return res;
    5006              :                       }
    5007              :                     }
    5008            0 :                   switch (TREE_CODE (_q21))
    5009              :                     {
    5010            0 :                     case NEGATE_EXPR:
    5011            0 :                       {
    5012            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5013            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5014              :                           {
    5015            0 :                             {
    5016            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5017            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    5018            0 :                               if (res) return res;
    5019              :                             }
    5020              :                           }
    5021              :                         break;
    5022              :                       }
    5023              :                     default:;
    5024              :                     }
    5025              :                 }
    5026              :             }
    5027              :           break;
    5028            0 :         case CFN_BUILT_IN_COPYSIGNF128X:
    5029            0 :           if (call_expr_nargs (_p0) == 2)
    5030              :     {
    5031            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5032            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5033            0 :               if (real_onep (_q20))
    5034              :                 {
    5035            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5036              :                     {
    5037            0 :                       {
    5038            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5039            0 :                         tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    5040            0 :                         if (res) return res;
    5041              :                       }
    5042              :                     }
    5043            0 :                   switch (TREE_CODE (_q21))
    5044              :                     {
    5045            0 :                     case NEGATE_EXPR:
    5046            0 :                       {
    5047            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5048            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5049              :                           {
    5050            0 :                             {
    5051            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5052            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    5053            0 :                               if (res) return res;
    5054              :                             }
    5055              :                           }
    5056              :                         break;
    5057              :                       }
    5058              :                     default:;
    5059              :                     }
    5060              :                 }
    5061              :             }
    5062              :           break;
    5063            8 :         case CFN_BUILT_IN_COPYSIGNF128:
    5064            8 :           if (call_expr_nargs (_p0) == 2)
    5065              :     {
    5066            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5067            8 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5068            8 :               if (real_onep (_q20))
    5069              :                 {
    5070            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5071              :                     {
    5072            0 :                       {
    5073            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5074            0 :                         tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    5075            0 :                         if (res) return res;
    5076              :                       }
    5077              :                     }
    5078            0 :                   switch (TREE_CODE (_q21))
    5079              :                     {
    5080            0 :                     case NEGATE_EXPR:
    5081            0 :                       {
    5082            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5083            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5084              :                           {
    5085            0 :                             {
    5086            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5087            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    5088            0 :                               if (res) return res;
    5089              :                             }
    5090              :                           }
    5091              :                         break;
    5092              :                       }
    5093              :                     default:;
    5094              :                     }
    5095              :                 }
    5096              :             }
    5097              :           break;
    5098            0 :         case CFN_BUILT_IN_COPYSIGNF32X:
    5099            0 :           if (call_expr_nargs (_p0) == 2)
    5100              :     {
    5101            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5102            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5103            0 :               if (real_onep (_q20))
    5104              :                 {
    5105            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5106              :                     {
    5107            0 :                       {
    5108            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5109            0 :                         tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    5110            0 :                         if (res) return res;
    5111              :                       }
    5112              :                     }
    5113            0 :                   switch (TREE_CODE (_q21))
    5114              :                     {
    5115            0 :                     case NEGATE_EXPR:
    5116            0 :                       {
    5117            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5118            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5119              :                           {
    5120            0 :                             {
    5121            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5122            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    5123            0 :                               if (res) return res;
    5124              :                             }
    5125              :                           }
    5126              :                         break;
    5127              :                       }
    5128              :                     default:;
    5129              :                     }
    5130              :                 }
    5131              :             }
    5132              :           break;
    5133            0 :         case CFN_BUILT_IN_COPYSIGNF64X:
    5134            0 :           if (call_expr_nargs (_p0) == 2)
    5135              :     {
    5136            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5137            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5138            0 :               if (real_onep (_q20))
    5139              :                 {
    5140            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5141              :                     {
    5142            0 :                       {
    5143            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5144            0 :                         tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    5145            0 :                         if (res) return res;
    5146              :                       }
    5147              :                     }
    5148            0 :                   switch (TREE_CODE (_q21))
    5149              :                     {
    5150            0 :                     case NEGATE_EXPR:
    5151            0 :                       {
    5152            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5153            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5154              :                           {
    5155            0 :                             {
    5156            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5157            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    5158            0 :                               if (res) return res;
    5159              :                             }
    5160              :                           }
    5161              :                         break;
    5162              :                       }
    5163              :                     default:;
    5164              :                     }
    5165              :                 }
    5166              :             }
    5167              :           break;
    5168           18 :         case CFN_BUILT_IN_COPYSIGN:
    5169           18 :           if (call_expr_nargs (_p0) == 2)
    5170              :     {
    5171           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5172           18 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5173           18 :               if (real_onep (_q20))
    5174              :                 {
    5175            3 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5176              :                     {
    5177            0 :                       {
    5178            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5179            0 :                         tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    5180            0 :                         if (res) return res;
    5181              :                       }
    5182              :                     }
    5183            3 :                   switch (TREE_CODE (_q21))
    5184              :                     {
    5185            0 :                     case NEGATE_EXPR:
    5186            0 :                       {
    5187            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5188            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5189              :                           {
    5190            0 :                             {
    5191            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5192            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    5193            0 :                               if (res) return res;
    5194              :                             }
    5195              :                           }
    5196              :                         break;
    5197              :                       }
    5198              :                     default:;
    5199              :                     }
    5200              :                 }
    5201              :             }
    5202              :           break;
    5203           36 :         case CFN_BUILT_IN_COPYSIGNF:
    5204           36 :           if (call_expr_nargs (_p0) == 2)
    5205              :     {
    5206           36 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5207           36 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5208           36 :               if (real_onep (_q20))
    5209              :                 {
    5210           12 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5211              :                     {
    5212            4 :                       {
    5213            4 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5214            4 :                         tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    5215            4 :                         if (res) return res;
    5216              :                       }
    5217              :                     }
    5218           12 :                   switch (TREE_CODE (_q21))
    5219              :                     {
    5220            0 :                     case NEGATE_EXPR:
    5221            0 :                       {
    5222            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5223            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5224              :                           {
    5225            0 :                             {
    5226            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5227            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    5228            0 :                               if (res) return res;
    5229              :                             }
    5230              :                           }
    5231              :                         break;
    5232              :                       }
    5233              :                     default:;
    5234              :                     }
    5235              :                 }
    5236              :             }
    5237              :           break;
    5238            8 :         case CFN_BUILT_IN_COPYSIGNL:
    5239            8 :           if (call_expr_nargs (_p0) == 2)
    5240              :     {
    5241            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5242            8 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5243            8 :               if (real_onep (_q20))
    5244              :                 {
    5245            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5246              :                     {
    5247            0 :                       {
    5248            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5249            0 :                         tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    5250            0 :                         if (res) return res;
    5251              :                       }
    5252              :                     }
    5253            0 :                   switch (TREE_CODE (_q21))
    5254              :                     {
    5255            0 :                     case NEGATE_EXPR:
    5256            0 :                       {
    5257            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5258            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5259              :                           {
    5260            0 :                             {
    5261            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5262            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    5263            0 :                               if (res) return res;
    5264              :                             }
    5265              :                           }
    5266              :                         break;
    5267              :                       }
    5268              :                     default:;
    5269              :                     }
    5270              :                 }
    5271              :             }
    5272              :           break;
    5273            0 :         case CFN_COPYSIGN:
    5274            0 :           if (call_expr_nargs (_p0) == 2)
    5275              :     {
    5276            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5277            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5278            0 :               if (real_onep (_q20))
    5279              :                 {
    5280            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5281              :                     {
    5282            0 :                       {
    5283            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5284            0 :                         tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    5285            0 :                         if (res) return res;
    5286              :                       }
    5287              :                     }
    5288            0 :                   switch (TREE_CODE (_q21))
    5289              :                     {
    5290            0 :                     case NEGATE_EXPR:
    5291            0 :                       {
    5292            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5293            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5294              :                           {
    5295            0 :                             {
    5296            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5297            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    5298            0 :                               if (res) return res;
    5299              :                             }
    5300              :                           }
    5301              :                         break;
    5302              :                       }
    5303              :                     default:;
    5304              :                     }
    5305              :                 }
    5306              :             }
    5307              :           break;
    5308              :         default:;
    5309              :         }
    5310              :       break;
    5311     70211320 :     default:;
    5312              :     }
    5313     70211320 :   switch (TREE_CODE (_p1))
    5314              :     {
    5315       870586 :     case CALL_EXPR:
    5316       870586 :       switch (get_call_combined_fn (_p1))
    5317              :         {
    5318           20 :         case CFN_BUILT_IN_COPYSIGNF16:
    5319           20 :           if (call_expr_nargs (_p1) == 2)
    5320              :     {
    5321           20 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5322           20 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5323           20 :               if (real_onep (_q30))
    5324              :                 {
    5325           20 :                   switch (TREE_CODE (_q31))
    5326              :                     {
    5327            0 :                     case NEGATE_EXPR:
    5328            0 :                       {
    5329            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5330            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5331              :                           {
    5332            0 :                             {
    5333            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5334            0 :                               tree res = generic_simplify_180 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    5335            0 :                               if (res) return res;
    5336              :                             }
    5337              :                           }
    5338              :                         break;
    5339              :                       }
    5340              :                     default:;
    5341              :                     }
    5342              :                 }
    5343              :             }
    5344              :           break;
    5345            0 :         case CFN_BUILT_IN_COPYSIGNF32:
    5346            0 :           if (call_expr_nargs (_p1) == 2)
    5347              :     {
    5348            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5349            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5350            0 :               if (real_onep (_q30))
    5351              :                 {
    5352            0 :                   switch (TREE_CODE (_q31))
    5353              :                     {
    5354            0 :                     case NEGATE_EXPR:
    5355            0 :                       {
    5356            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5357            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5358              :                           {
    5359            0 :                             {
    5360            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5361            0 :                               tree res = generic_simplify_180 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    5362            0 :                               if (res) return res;
    5363              :                             }
    5364              :                           }
    5365              :                         break;
    5366              :                       }
    5367              :                     default:;
    5368              :                     }
    5369              :                 }
    5370              :             }
    5371              :           break;
    5372            0 :         case CFN_BUILT_IN_COPYSIGNF64:
    5373            0 :           if (call_expr_nargs (_p1) == 2)
    5374              :     {
    5375            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5376            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5377            0 :               if (real_onep (_q30))
    5378              :                 {
    5379            0 :                   switch (TREE_CODE (_q31))
    5380              :                     {
    5381            0 :                     case NEGATE_EXPR:
    5382            0 :                       {
    5383            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5384            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5385              :                           {
    5386            0 :                             {
    5387            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5388            0 :                               tree res = generic_simplify_180 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    5389            0 :                               if (res) return res;
    5390              :                             }
    5391              :                           }
    5392              :                         break;
    5393              :                       }
    5394              :                     default:;
    5395              :                     }
    5396              :                 }
    5397              :             }
    5398              :           break;
    5399            0 :         case CFN_BUILT_IN_COPYSIGNF128X:
    5400            0 :           if (call_expr_nargs (_p1) == 2)
    5401              :     {
    5402            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5403            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5404            0 :               if (real_onep (_q30))
    5405              :                 {
    5406            0 :                   switch (TREE_CODE (_q31))
    5407              :                     {
    5408            0 :                     case NEGATE_EXPR:
    5409            0 :                       {
    5410            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5411            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5412              :                           {
    5413            0 :                             {
    5414            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5415            0 :                               tree res = generic_simplify_180 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    5416            0 :                               if (res) return res;
    5417              :                             }
    5418              :                           }
    5419              :                         break;
    5420              :                       }
    5421              :                     default:;
    5422              :                     }
    5423              :                 }
    5424              :             }
    5425              :           break;
    5426            0 :         case CFN_BUILT_IN_COPYSIGNF128:
    5427            0 :           if (call_expr_nargs (_p1) == 2)
    5428              :     {
    5429            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5430            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5431            0 :               if (real_onep (_q30))
    5432              :                 {
    5433            0 :                   switch (TREE_CODE (_q31))
    5434              :                     {
    5435            0 :                     case NEGATE_EXPR:
    5436            0 :                       {
    5437            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5438            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5439              :                           {
    5440            0 :                             {
    5441            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5442            0 :                               tree res = generic_simplify_180 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    5443            0 :                               if (res) return res;
    5444              :                             }
    5445              :                           }
    5446              :                         break;
    5447              :                       }
    5448              :                     default:;
    5449              :                     }
    5450              :                 }
    5451              :             }
    5452              :           break;
    5453            0 :         case CFN_BUILT_IN_COPYSIGNF32X:
    5454            0 :           if (call_expr_nargs (_p1) == 2)
    5455              :     {
    5456            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5457            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5458            0 :               if (real_onep (_q30))
    5459              :                 {
    5460            0 :                   switch (TREE_CODE (_q31))
    5461              :                     {
    5462            0 :                     case NEGATE_EXPR:
    5463            0 :                       {
    5464            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5465            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5466              :                           {
    5467            0 :                             {
    5468            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5469            0 :                               tree res = generic_simplify_180 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    5470            0 :                               if (res) return res;
    5471              :                             }
    5472              :                           }
    5473              :                         break;
    5474              :                       }
    5475              :                     default:;
    5476              :                     }
    5477              :                 }
    5478              :             }
    5479              :           break;
    5480            0 :         case CFN_BUILT_IN_COPYSIGNF64X:
    5481            0 :           if (call_expr_nargs (_p1) == 2)
    5482              :     {
    5483            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5484            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5485            0 :               if (real_onep (_q30))
    5486              :                 {
    5487            0 :                   switch (TREE_CODE (_q31))
    5488              :                     {
    5489            0 :                     case NEGATE_EXPR:
    5490            0 :                       {
    5491            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5492            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5493              :                           {
    5494            0 :                             {
    5495            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5496            0 :                               tree res = generic_simplify_180 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    5497            0 :                               if (res) return res;
    5498              :                             }
    5499              :                           }
    5500              :                         break;
    5501              :                       }
    5502              :                     default:;
    5503              :                     }
    5504              :                 }
    5505              :             }
    5506              :           break;
    5507           18 :         case CFN_BUILT_IN_COPYSIGN:
    5508           18 :           if (call_expr_nargs (_p1) == 2)
    5509              :     {
    5510           18 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5511           18 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5512           18 :               if (real_onep (_q30))
    5513              :                 {
    5514           14 :                   switch (TREE_CODE (_q31))
    5515              :                     {
    5516            0 :                     case NEGATE_EXPR:
    5517            0 :                       {
    5518            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5519            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5520              :                           {
    5521            0 :                             {
    5522            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5523            0 :                               tree res = generic_simplify_180 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    5524            0 :                               if (res) return res;
    5525              :                             }
    5526              :                           }
    5527              :                         break;
    5528              :                       }
    5529              :                     default:;
    5530              :                     }
    5531              :                 }
    5532              :             }
    5533              :           break;
    5534           14 :         case CFN_BUILT_IN_COPYSIGNF:
    5535           14 :           if (call_expr_nargs (_p1) == 2)
    5536              :     {
    5537           14 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5538           14 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5539           14 :               if (real_onep (_q30))
    5540              :                 {
    5541           12 :                   switch (TREE_CODE (_q31))
    5542              :                     {
    5543            0 :                     case NEGATE_EXPR:
    5544            0 :                       {
    5545            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5546            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5547              :                           {
    5548            0 :                             {
    5549            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5550            0 :                               tree res = generic_simplify_180 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    5551            0 :                               if (res) return res;
    5552              :                             }
    5553              :                           }
    5554              :                         break;
    5555              :                       }
    5556              :                     default:;
    5557              :                     }
    5558              :                 }
    5559              :             }
    5560              :           break;
    5561            0 :         case CFN_BUILT_IN_COPYSIGNL:
    5562            0 :           if (call_expr_nargs (_p1) == 2)
    5563              :     {
    5564            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5565            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5566            0 :               if (real_onep (_q30))
    5567              :                 {
    5568            0 :                   switch (TREE_CODE (_q31))
    5569              :                     {
    5570            0 :                     case NEGATE_EXPR:
    5571            0 :                       {
    5572            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5573            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5574              :                           {
    5575            0 :                             {
    5576            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5577            0 :                               tree res = generic_simplify_180 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    5578            0 :                               if (res) return res;
    5579              :                             }
    5580              :                           }
    5581              :                         break;
    5582              :                       }
    5583              :                     default:;
    5584              :                     }
    5585              :                 }
    5586              :             }
    5587              :           break;
    5588            0 :         case CFN_COPYSIGN:
    5589            0 :           if (call_expr_nargs (_p1) == 2)
    5590              :     {
    5591            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5592            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5593            0 :               if (real_onep (_q30))
    5594              :                 {
    5595            0 :                   switch (TREE_CODE (_q31))
    5596              :                     {
    5597            0 :                     case NEGATE_EXPR:
    5598            0 :                       {
    5599            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5600            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5601              :                           {
    5602            0 :                             {
    5603            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5604            0 :                               tree res = generic_simplify_180 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    5605            0 :                               if (res) return res;
    5606              :                             }
    5607              :                           }
    5608              :                         break;
    5609              :                       }
    5610              :                     default:;
    5611              :                     }
    5612              :                 }
    5613              :             }
    5614              :           break;
    5615              :         default:;
    5616              :         }
    5617              :       break;
    5618     70211320 :     default:;
    5619              :     }
    5620     70211320 : if (integer_onep (_p1))
    5621              :   {
    5622      3316411 :     {
    5623      3316411 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5624      3316411 :       tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, MULT_EXPR);
    5625      3316411 :       if (res) return res;
    5626              :     }
    5627              :   }
    5628     66894909 :   switch (TREE_CODE (_p0))
    5629              :     {
    5630      5627844 :     case MULT_EXPR:
    5631      5627844 :       {
    5632      5627844 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5633      5627844 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5634      5627844 :         switch (TREE_CODE (_q21))
    5635              :           {
    5636      1108609 :           case INTEGER_CST:
    5637      1108609 :             {
    5638      1108609 :               switch (TREE_CODE (_p1))
    5639              :                 {
    5640       980179 :                 case INTEGER_CST:
    5641       980179 :                   {
    5642       980179 :                     {
    5643       980179 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5644       980179 :                       {
    5645       980179 :  wi::overflow_type overflow;
    5646       980179 :  wide_int mul = wi::mul (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    5647      1960358 :  TYPE_SIGN (type), &overflow);
    5648       980179 :                           if (!overflow || TYPE_OVERFLOW_WRAPS (type)
    5649              : )
    5650              :                             {
    5651       980149 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1412;
    5652       980149 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1412;
    5653       980149 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1412;
    5654       980149 :                               {
    5655       980149 :                                 tree res_op0;
    5656       980149 :                                 res_op0 = captures[0];
    5657       980149 :                                 tree res_op1;
    5658       980149 :                                 res_op1 =  wide_int_to_tree (type, mul);
    5659       980149 :                                 tree _r;
    5660       980149 :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5661       980149 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 966, __FILE__, __LINE__, true);
    5662       980149 :                                 return _r;
    5663              :                               }
    5664           30 : next_after_fail1412:;
    5665              :                             }
    5666       980149 :                       }
    5667              :                     }
    5668           30 :                     break;
    5669              :                   }
    5670              :                 default:;
    5671              :                 }
    5672              :               break;
    5673              :             }
    5674              :           default:;
    5675              :           }
    5676              :         break;
    5677              :       }
    5678      7210293 :     case PLUS_EXPR:
    5679      7210293 :       {
    5680      7210293 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5681      7210293 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5682      7210293 :         switch (TREE_CODE (_q20))
    5683              :           {
    5684      1134378 :           case MULT_EXPR:
    5685      1134378 :             {
    5686      1134378 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5687      1134378 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5688      1134378 :               switch (TREE_CODE (_q31))
    5689              :                 {
    5690       308301 :                 case INTEGER_CST:
    5691       308301 :                   {
    5692       308301 :                     switch (TREE_CODE (_q21))
    5693              :                       {
    5694        37151 :                       case INTEGER_CST:
    5695        37151 :                         {
    5696        37151 :                           switch (TREE_CODE (_p1))
    5697              :                             {
    5698        13498 :                             case INTEGER_CST:
    5699        13498 :                               {
    5700        13498 :                                 {
    5701        13498 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    5702        13498 :                                   {
    5703        13498 :  bool overflowed = true;
    5704        13498 :  wi::overflow_type ovf1, ovf2;
    5705        13498 :  wide_int mul = wi::mul (wi::to_wide (captures[3]), wi::to_wide (captures[5]),
    5706        26996 :  TYPE_SIGN (type), &ovf1);
    5707        13498 :  wide_int add = wi::mul (wi::to_wide (captures[4]), wi::to_wide (captures[5]),
    5708        26996 :  TYPE_SIGN (type), &ovf2);
    5709        13498 :  if (TYPE_OVERFLOW_UNDEFINED (type))
    5710              :  {
    5711              :  }
    5712              :  else
    5713         5579 :  overflowed = false;
    5714         5579 :                                       if (!overflowed
    5715              : )
    5716              :                                         {
    5717         5579 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1413;
    5718         5579 :                                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1413;
    5719         5579 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1413;
    5720         5579 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1413;
    5721         5579 :                                           {
    5722         5579 :                                             tree res_op0;
    5723         5579 :                                             {
    5724         5579 :                                               tree _o1[2], _r1;
    5725         5579 :                                               _o1[0] = captures[2];
    5726         5579 :                                               _o1[1] =  wide_int_to_tree (type, mul);
    5727         5579 :                                               _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5728         5579 :                                               res_op0 = _r1;
    5729              :                                             }
    5730         5579 :                                             tree res_op1;
    5731         5579 :                                             res_op1 =  wide_int_to_tree (type, add);
    5732         5579 :                                             tree _r;
    5733         5579 :                                             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    5734         5579 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 967, __FILE__, __LINE__, true);
    5735         5579 :                                             return _r;
    5736              :                                           }
    5737         7919 : next_after_fail1413:;
    5738              :                                         }
    5739        13498 :                                   }
    5740              :                                 }
    5741         7919 :                                 break;
    5742              :                               }
    5743              :                             default:;
    5744              :                             }
    5745              :                           break;
    5746              :                         }
    5747              :                       default:;
    5748              :                       }
    5749              :                     break;
    5750              :                   }
    5751              :                 default:;
    5752              :                 }
    5753              :               break;
    5754              :             }
    5755              :           default:;
    5756              :           }
    5757              :         break;
    5758              :       }
    5759        84406 :     case TRUNC_DIV_EXPR:
    5760        84406 :       {
    5761        84406 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5762        84406 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5763        84406 :         if (integer_pow2p (_q21))
    5764              :           {
    5765        63438 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5766              :               {
    5767        41609 :                 {
    5768        41609 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5769        41609 :                   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    5770              : )
    5771              :                     {
    5772        41545 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1414;
    5773        41545 :                       {
    5774        41545 :                         tree res_op0;
    5775        41545 :                         res_op0 = captures[0];
    5776        41545 :                         tree res_op1;
    5777        41545 :                         {
    5778        41545 :                           tree _o1[1], _r1;
    5779        41545 :                           _o1[0] = captures[1];
    5780        41545 :                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    5781        41545 :                           res_op1 = _r1;
    5782              :                         }
    5783        41545 :                         tree _r;
    5784        41545 :                         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    5785        41545 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 968, __FILE__, __LINE__, true);
    5786        41545 :                         return _r;
    5787              :                       }
    5788            0 : next_after_fail1414:;
    5789              :                     }
    5790              :                 }
    5791              :               }
    5792              :           }
    5793              :         break;
    5794              :       }
    5795          260 :     case ABS_EXPR:
    5796          260 :       {
    5797          260 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5798          260 :         if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5799              :           {
    5800            2 :             {
    5801            2 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    5802            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1415;
    5803            2 :               {
    5804            2 :                 if (! tree_invariant_p (captures[1])) goto next_after_fail1415;
    5805            0 :                 tree res_op0;
    5806            0 :                 res_op0 = unshare_expr (captures[1]);
    5807            0 :                 tree res_op1;
    5808            0 :                 res_op1 = captures[1];
    5809            0 :                 tree _r;
    5810            0 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5811            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 969, __FILE__, __LINE__, true);
    5812            0 :                 return _r;
    5813              :               }
    5814            2 : next_after_fail1415:;
    5815              :             }
    5816              :           }
    5817              :         break;
    5818              :       }
    5819            0 :     case ABSU_EXPR:
    5820            0 :       {
    5821            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5822            0 :         if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5823              :           {
    5824            0 :             {
    5825            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20 };
    5826            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1416;
    5827            0 :               {
    5828            0 :                 tree res_op0;
    5829            0 :                 {
    5830            0 :                   tree _o1[1], _r1;
    5831            0 :                   _o1[0] = captures[1];
    5832            0 :                   if (TREE_TYPE (_o1[0]) != type)
    5833              :                     {
    5834            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    5835              :                     }
    5836              :                   else
    5837              :                     _r1 = _o1[0];
    5838            0 :                   captures[2] = _r1;
    5839              :                 }
    5840            0 :                 res_op0 = unshare_expr (captures[2]);
    5841            0 :                 tree res_op1;
    5842            0 :                 res_op1 = captures[2];
    5843            0 :                 tree _r;
    5844            0 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5845            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 970, __FILE__, __LINE__, true);
    5846            0 :                 return _r;
    5847              :               }
    5848            0 : next_after_fail1416:;
    5849              :             }
    5850              :           }
    5851              :         break;
    5852              :       }
    5853      2427349 :     case CALL_EXPR:
    5854      2427349 :       switch (get_call_combined_fn (_p0))
    5855              :         {
    5856            1 :         case CFN_BUILT_IN_COPYSIGNF16:
    5857            1 :           if (call_expr_nargs (_p0) == 2)
    5858              :     {
    5859            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5860            1 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5861            1 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5862              :                 {
    5863            0 :                   {
    5864            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5865            0 :                     tree res = generic_simplify_182 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    5866            0 :                     if (res) return res;
    5867              :                   }
    5868              :                 }
    5869              :             }
    5870              :           break;
    5871            0 :         case CFN_BUILT_IN_COPYSIGNF32:
    5872            0 :           if (call_expr_nargs (_p0) == 2)
    5873              :     {
    5874            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5875            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5876            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5877              :                 {
    5878            0 :                   {
    5879            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5880            0 :                     tree res = generic_simplify_182 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    5881            0 :                     if (res) return res;
    5882              :                   }
    5883              :                 }
    5884              :             }
    5885              :           break;
    5886            0 :         case CFN_BUILT_IN_COPYSIGNF64:
    5887            0 :           if (call_expr_nargs (_p0) == 2)
    5888              :     {
    5889            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5890            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5891            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5892              :                 {
    5893            0 :                   {
    5894            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5895            0 :                     tree res = generic_simplify_182 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    5896            0 :                     if (res) return res;
    5897              :                   }
    5898              :                 }
    5899              :             }
    5900              :           break;
    5901            0 :         case CFN_BUILT_IN_COPYSIGNF128X:
    5902            0 :           if (call_expr_nargs (_p0) == 2)
    5903              :     {
    5904            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5905            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5906            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5907              :                 {
    5908            0 :                   {
    5909            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5910            0 :                     tree res = generic_simplify_182 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    5911            0 :                     if (res) return res;
    5912              :                   }
    5913              :                 }
    5914              :             }
    5915              :           break;
    5916            8 :         case CFN_BUILT_IN_COPYSIGNF128:
    5917            8 :           if (call_expr_nargs (_p0) == 2)
    5918              :     {
    5919            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5920            8 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5921            8 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5922              :                 {
    5923            0 :                   {
    5924            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5925            0 :                     tree res = generic_simplify_182 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    5926            0 :                     if (res) return res;
    5927              :                   }
    5928              :                 }
    5929              :             }
    5930              :           break;
    5931            0 :         case CFN_BUILT_IN_COPYSIGNF32X:
    5932            0 :           if (call_expr_nargs (_p0) == 2)
    5933              :     {
    5934            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5935            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5936            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5937              :                 {
    5938            0 :                   {
    5939            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5940            0 :                     tree res = generic_simplify_182 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    5941            0 :                     if (res) return res;
    5942              :                   }
    5943              :                 }
    5944              :             }
    5945              :           break;
    5946            0 :         case CFN_BUILT_IN_COPYSIGNF64X:
    5947            0 :           if (call_expr_nargs (_p0) == 2)
    5948              :     {
    5949            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5950            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5951            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5952              :                 {
    5953            0 :                   {
    5954            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5955            0 :                     tree res = generic_simplify_182 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    5956            0 :                     if (res) return res;
    5957              :                   }
    5958              :                 }
    5959              :             }
    5960              :           break;
    5961           18 :         case CFN_BUILT_IN_COPYSIGN:
    5962           18 :           if (call_expr_nargs (_p0) == 2)
    5963              :     {
    5964           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5965           18 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5966           18 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5967              :                 {
    5968            0 :                   {
    5969            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5970            0 :                     tree res = generic_simplify_182 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    5971            0 :                     if (res) return res;
    5972              :                   }
    5973              :                 }
    5974              :             }
    5975              :           break;
    5976           36 :         case CFN_BUILT_IN_COPYSIGNF:
    5977           36 :           if (call_expr_nargs (_p0) == 2)
    5978              :     {
    5979           36 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5980           36 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5981           36 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5982              :                 {
    5983            0 :                   {
    5984            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5985            0 :                     tree res = generic_simplify_182 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    5986            0 :                     if (res) return res;
    5987              :                   }
    5988              :                 }
    5989              :             }
    5990              :           break;
    5991            8 :         case CFN_BUILT_IN_COPYSIGNL:
    5992            8 :           if (call_expr_nargs (_p0) == 2)
    5993              :     {
    5994            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5995            8 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5996            8 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5997              :                 {
    5998            0 :                   {
    5999            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    6000            0 :                     tree res = generic_simplify_182 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    6001            0 :                     if (res) return res;
    6002              :                   }
    6003              :                 }
    6004              :             }
    6005              :           break;
    6006            0 :         case CFN_COPYSIGN:
    6007            0 :           if (call_expr_nargs (_p0) == 2)
    6008              :     {
    6009            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6010            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    6011            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    6012              :                 {
    6013            0 :                   {
    6014            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    6015            0 :                     tree res = generic_simplify_182 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    6016            0 :                     if (res) return res;
    6017              :                   }
    6018              :                 }
    6019              :             }
    6020              :           break;
    6021              :         default:;
    6022              :         }
    6023              :       break;
    6024     65867636 :     default:;
    6025              :     }
    6026     65867636 :   switch (TREE_CODE (_p1))
    6027              :     {
    6028      7023797 :     CASE_CONVERT:
    6029      7023797 :       {
    6030      7023797 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6031      7023797 :         switch (TREE_CODE (_q30))
    6032              :           {
    6033            0 :           case LSHIFT_EXPR:
    6034            0 :             {
    6035            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6036            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6037            0 :               if (integer_onep (_q40))
    6038              :                 {
    6039            0 :                   {
    6040            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    6041            0 :                     tree res = generic_simplify_183 (loc, type, _p0, _p1, captures);
    6042            0 :                     if (res) return res;
    6043              :                   }
    6044              :                 }
    6045              :               break;
    6046              :             }
    6047              :           default:;
    6048              :           }
    6049              :         break;
    6050              :       }
    6051     65867636 :     default:;
    6052              :     }
    6053     65867636 :   switch (TREE_CODE (_p0))
    6054              :     {
    6055     31646021 :     CASE_CONVERT:
    6056     31646021 :       {
    6057     31646021 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6058     31646021 :         switch (TREE_CODE (_q20))
    6059              :           {
    6060           20 :           case LSHIFT_EXPR:
    6061           20 :             {
    6062           20 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6063           20 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6064           20 :               if (integer_onep (_q30))
    6065              :                 {
    6066            1 :                   {
    6067            1 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _q31 };
    6068            1 :                     tree res = generic_simplify_183 (loc, type, _p0, _p1, captures);
    6069            1 :                     if (res) return res;
    6070              :                   }
    6071              :                 }
    6072              :               break;
    6073              :             }
    6074            1 :           case EQ_EXPR:
    6075            1 :             {
    6076            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6077            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6078            1 :               if (integer_zerop (_q31))
    6079              :                 {
    6080            1 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6081              :                     {
    6082            0 :                       {
    6083            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    6084            0 :                         tree res = generic_simplify_184 (loc, type, _p0, _p1, captures);
    6085            0 :                         if (res) return res;
    6086              :                       }
    6087              :                     }
    6088              :                 }
    6089              :               break;
    6090              :             }
    6091              :           default:;
    6092              :           }
    6093              :         break;
    6094              :       }
    6095     65867636 :     default:;
    6096              :     }
    6097     65867636 :   switch (TREE_CODE (_p1))
    6098              :     {
    6099          844 :     case LSHIFT_EXPR:
    6100          844 :       {
    6101          844 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6102          844 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6103          844 :         if (integer_onep (_q30))
    6104              :           {
    6105          165 :             {
    6106          165 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    6107          165 :               tree res = generic_simplify_183 (loc, type, _p0, _p1, captures);
    6108          165 :               if (res) return res;
    6109              :             }
    6110              :           }
    6111              :         break;
    6112              :       }
    6113     65867471 :     default:;
    6114              :     }
    6115     65867471 :   switch (TREE_CODE (_p0))
    6116              :     {
    6117         3699 :     case LSHIFT_EXPR:
    6118         3699 :       {
    6119         3699 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6120         3699 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6121         3699 :         if (integer_onep (_q20))
    6122              :           {
    6123         3477 :             {
    6124         3477 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
    6125         3477 :               tree res = generic_simplify_183 (loc, type, _p0, _p1, captures);
    6126         3477 :               if (res) return res;
    6127              :             }
    6128              :           }
    6129              :         break;
    6130              :       }
    6131     65863994 :     default:;
    6132              :     }
    6133     65863994 :   switch (TREE_CODE (_p1))
    6134              :     {
    6135      7023406 :     CASE_CONVERT:
    6136      7023406 :       {
    6137      7023406 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6138      7023406 :         switch (TREE_CODE (_q30))
    6139              :           {
    6140            0 :           case EQ_EXPR:
    6141            0 :             {
    6142            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6143            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6144            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6145              :                 {
    6146            0 :                   if (integer_zerop (_q41))
    6147              :                     {
    6148            0 :                       {
    6149            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6150            0 :                         tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    6151            0 :                         if (res) return res;
    6152              :                       }
    6153              :                     }
    6154              :                 }
    6155              :               break;
    6156              :             }
    6157              :           default:;
    6158              :           }
    6159              :         break;
    6160              :       }
    6161            0 :     case EQ_EXPR:
    6162            0 :       {
    6163            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6164            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6165            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6166              :           {
    6167            0 :             if (integer_zerop (_q31))
    6168              :               {
    6169            0 :                 {
    6170            0 :                   tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6171            0 :                   tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    6172            0 :                   if (res) return res;
    6173              :                 }
    6174              :               }
    6175              :           }
    6176              :         break;
    6177              :       }
    6178     65863994 :     default:;
    6179              :     }
    6180     65863994 :   switch (TREE_CODE (_p0))
    6181              :     {
    6182          183 :     case EQ_EXPR:
    6183          183 :       {
    6184          183 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6185          183 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6186          183 :         if (integer_zerop (_q21))
    6187              :           {
    6188           59 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6189              :               {
    6190            3 :                 {
    6191            3 :                   tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6192            3 :                   tree res = generic_simplify_184 (loc, type, _p0, _p1, captures);
    6193            3 :                   if (res) return res;
    6194              :                 }
    6195              :               }
    6196              :           }
    6197              :         break;
    6198              :       }
    6199     65863991 :     default:;
    6200              :     }
    6201     65863991 :   switch (TREE_CODE (_p1))
    6202              :     {
    6203            0 :     case VEC_COND_EXPR:
    6204            0 :       {
    6205            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6206            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6207            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    6208            0 :         switch (TREE_CODE (_q30))
    6209              :           {
    6210            0 :           case EQ_EXPR:
    6211            0 :             {
    6212            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6213            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6214            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6215              :                 {
    6216            0 :                   if (integer_zerop (_q41))
    6217              :                     {
    6218            0 :                       if (integer_zerop (_q32))
    6219              :                         {
    6220            0 :                           {
    6221            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    6222            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1417;
    6223            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1417;
    6224            0 :                             {
    6225            0 :                               tree _r;
    6226            0 :                               _r =  build_zero_cst (type);
    6227            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 971, __FILE__, __LINE__, true);
    6228            0 :                               return _r;
    6229              :                             }
    6230            0 : next_after_fail1417:;
    6231              :                           }
    6232              :                         }
    6233              :                     }
    6234              :                 }
    6235              :               break;
    6236              :             }
    6237              :           default:;
    6238              :           }
    6239              :         break;
    6240              :       }
    6241     65863991 :     default:;
    6242              :     }
    6243     65863991 :   switch (TREE_CODE (_p0))
    6244              :     {
    6245           37 :     case VEC_COND_EXPR:
    6246           37 :       {
    6247           37 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6248           37 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6249           37 :         tree _q22 = TREE_OPERAND (_p0, 2);
    6250           37 :         switch (TREE_CODE (_q20))
    6251              :           {
    6252            1 :           case EQ_EXPR:
    6253            1 :             {
    6254            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6255            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6256            1 :               if (integer_zerop (_q31))
    6257              :                 {
    6258            1 :                   if (integer_zerop (_q22))
    6259              :                     {
    6260            1 :                       if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6261              :                         {
    6262            1 :                           {
    6263            1 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    6264            1 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1418;
    6265            1 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1418;
    6266            1 :                             {
    6267            1 :                               tree _r;
    6268            1 :                               _r =  build_zero_cst (type);
    6269            1 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 971, __FILE__, __LINE__, true);
    6270            1 :                               return _r;
    6271              :                             }
    6272            0 : next_after_fail1418:;
    6273              :                           }
    6274              :                         }
    6275              :                     }
    6276              :                 }
    6277              :               break;
    6278              :             }
    6279            0 :           case NE_EXPR:
    6280            0 :             {
    6281            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6282            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6283            0 :               if (integer_zerop (_q31))
    6284              :                 {
    6285            0 :                   if (integer_zerop (_q21))
    6286              :                     {
    6287            0 :                       if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6288              :                         {
    6289            0 :                           {
    6290            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
    6291            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1419;
    6292            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1419;
    6293            0 :                             {
    6294            0 :                               tree _r;
    6295            0 :                               _r =  build_zero_cst (type);
    6296            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 972, __FILE__, __LINE__, true);
    6297            0 :                               return _r;
    6298              :                             }
    6299            0 : next_after_fail1419:;
    6300              :                           }
    6301              :                         }
    6302              :                     }
    6303              :                 }
    6304              :               break;
    6305              :             }
    6306              :           default:;
    6307              :           }
    6308              :         break;
    6309              :       }
    6310     65863990 :     default:;
    6311              :     }
    6312     65863990 :   switch (TREE_CODE (_p1))
    6313              :     {
    6314            0 :     case VEC_COND_EXPR:
    6315            0 :       {
    6316            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6317            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6318            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    6319            0 :         switch (TREE_CODE (_q30))
    6320              :           {
    6321            0 :           case NE_EXPR:
    6322            0 :             {
    6323            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6324            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6325            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6326              :                 {
    6327            0 :                   if (integer_zerop (_q41))
    6328              :                     {
    6329            0 :                       if (integer_zerop (_q31))
    6330              :                         {
    6331            0 :                           {
    6332            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
    6333            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1420;
    6334            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1420;
    6335            0 :                             {
    6336            0 :                               tree _r;
    6337            0 :                               _r =  build_zero_cst (type);
    6338            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 972, __FILE__, __LINE__, true);
    6339            0 :                               return _r;
    6340              :                             }
    6341            0 : next_after_fail1420:;
    6342              :                           }
    6343              :                         }
    6344              :                     }
    6345              :                 }
    6346              :               break;
    6347              :             }
    6348              :           default:;
    6349              :           }
    6350              :         break;
    6351              :       }
    6352     65863990 :     default:;
    6353              :     }
    6354     65863990 :   switch (TREE_CODE (_p0))
    6355              :     {
    6356       740973 :     case RDIV_EXPR:
    6357       740973 :       {
    6358       740973 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6359       740973 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6360       740973 :         switch (TREE_CODE (_q20))
    6361              :           {
    6362        56503 :           case REAL_CST:
    6363        56503 :             {
    6364        56503 :               switch (TREE_CODE (_p1))
    6365              :                 {
    6366            1 :                 case REAL_CST:
    6367            1 :                   {
    6368            1 :                     {
    6369            1 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    6370            1 :                       if (flag_associative_math
    6371            1 :  && single_use (captures[0])
    6372              : )
    6373              :                         {
    6374            1 :                           {
    6375            1 :  tree tem = const_binop (MULT_EXPR, type, captures[1], captures[3]);
    6376            1 :                               if (tem
    6377              : )
    6378              :                                 {
    6379            1 :                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1421;
    6380            1 :                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1421;
    6381            1 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1421;
    6382            1 :                                   {
    6383            1 :                                     tree res_op0;
    6384            1 :                                     res_op0 =  tem;
    6385            1 :                                     tree res_op1;
    6386            1 :                                     res_op1 = captures[2];
    6387            1 :                                     tree _r;
    6388            1 :                                     _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    6389            1 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 973, __FILE__, __LINE__, true);
    6390            1 :                                     return _r;
    6391              :                                   }
    6392            0 : next_after_fail1421:;
    6393              :                                 }
    6394              :                           }
    6395              :                         }
    6396              :                     }
    6397            0 :                     break;
    6398              :                   }
    6399              :                 default:;
    6400              :                 }
    6401              :               break;
    6402              :             }
    6403              :           default:;
    6404              :           }
    6405              :         break;
    6406              :       }
    6407     65863989 :     default:;
    6408              :     }
    6409     65863989 : {
    6410     65863989 :   tree _p0_pops[1];
    6411     65863989 :   if (tree_nop_convert (_p0, _p0_pops))
    6412              :     {
    6413     22888041 :       tree _q20 = _p0_pops[0];
    6414     22888041 :       switch (TREE_CODE (_q20))
    6415              :         {
    6416            4 :         case BIT_IOR_EXPR:
    6417            4 :           {
    6418            4 :             tree _q30 = TREE_OPERAND (_q20, 0);
    6419            4 :             tree _q31 = TREE_OPERAND (_q20, 1);
    6420            4 :             switch (TREE_CODE (_q30))
    6421              :               {
    6422            4 :               case NEGATE_EXPR:
    6423            4 :                 {
    6424            4 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    6425            4 :                   switch (TREE_CODE (_q40))
    6426              :                     {
    6427            0 :                     CASE_CONVERT:
    6428            0 :                       {
    6429            0 :                         tree _q50 = TREE_OPERAND (_q40, 0);
    6430            0 :                         switch (TREE_CODE (_q50))
    6431              :                           {
    6432            0 :                           case LT_EXPR:
    6433            0 :                             {
    6434            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
    6435            0 :                               tree _q61 = TREE_OPERAND (_q50, 1);
    6436            0 :                               if (integer_zerop (_q61))
    6437              :                                 {
    6438            0 :                                   if (integer_onep (_q31))
    6439              :                                     {
    6440            0 :                                       {
    6441            0 :                                         tree _p1_pops[1];
    6442            0 :                                         if (tree_nop_convert (_p1, _p1_pops))
    6443              :                                           {
    6444            0 :                                             tree _q100 = _p1_pops[0];
    6445            0 :                                             if ((_q100 == _q60 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q60, 0) && types_match (_q100, _q60)))
    6446              :                                               {
    6447            0 :                                                 {
    6448            0 :                                                   tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    6449            0 :                                                   tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6450            0 :                                                   if (res) return res;
    6451              :                                                 }
    6452              :                                               }
    6453              :                                           }
    6454              :                                       }
    6455            0 :                                       if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
    6456              :                                         {
    6457            0 :                                           {
    6458            0 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    6459            0 :                                             tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6460            0 :                                             if (res) return res;
    6461              :                                           }
    6462              :                                         }
    6463              :                                     }
    6464              :                                 }
    6465              :                               break;
    6466              :                             }
    6467              :                           default:;
    6468              :                           }
    6469              :                         break;
    6470              :                       }
    6471            4 :                     case LT_EXPR:
    6472            4 :                       {
    6473            4 :                         tree _q50 = TREE_OPERAND (_q40, 0);
    6474            4 :                         tree _q51 = TREE_OPERAND (_q40, 1);
    6475            4 :                         if (integer_zerop (_q51))
    6476              :                           {
    6477            4 :                             if (integer_onep (_q31))
    6478              :                               {
    6479            4 :                                 {
    6480            4 :                                   tree _p1_pops[1];
    6481            4 :                                   if (tree_nop_convert (_p1, _p1_pops))
    6482              :                                     {
    6483            4 :                                       tree _q90 = _p1_pops[0];
    6484            4 :                                       if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
    6485              :                                         {
    6486            4 :                                           {
    6487            4 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    6488            4 :                                             tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6489            4 :                                             if (res) return res;
    6490              :                                           }
    6491              :                                         }
    6492              :                                     }
    6493              :                                 }
    6494            0 :                                 if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    6495              :                                   {
    6496            0 :                                     {
    6497            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    6498            0 :                                       tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6499            0 :                                       if (res) return res;
    6500              :                                     }
    6501              :                                   }
    6502              :                               }
    6503              :                           }
    6504              :                         break;
    6505              :                       }
    6506              :                     default:;
    6507              :                     }
    6508              :                   break;
    6509              :                 }
    6510            0 :               default:;
    6511              :               }
    6512            0 :           {
    6513            0 :             tree _q30_pops[1];
    6514            0 :             if (tree_nop_convert (_q30, _q30_pops))
    6515              :               {
    6516            0 :                 tree _q40 = _q30_pops[0];
    6517            0 :                 switch (TREE_CODE (_q40))
    6518              :                   {
    6519            0 :                   case NEGATE_EXPR:
    6520            0 :                     {
    6521            0 :                       tree _q50 = TREE_OPERAND (_q40, 0);
    6522            0 :                       switch (TREE_CODE (_q50))
    6523              :                         {
    6524            0 :                         CASE_CONVERT:
    6525            0 :                           {
    6526            0 :                             tree _q60 = TREE_OPERAND (_q50, 0);
    6527            0 :                             switch (TREE_CODE (_q60))
    6528              :                               {
    6529            0 :                               case LT_EXPR:
    6530            0 :                                 {
    6531            0 :                                   tree _q70 = TREE_OPERAND (_q60, 0);
    6532            0 :                                   tree _q71 = TREE_OPERAND (_q60, 1);
    6533            0 :                                   if (integer_zerop (_q71))
    6534              :                                     {
    6535            0 :                                       if (integer_onep (_q31))
    6536              :                                         {
    6537            0 :                                           {
    6538            0 :                                             tree _p1_pops[1];
    6539            0 :                                             if (tree_nop_convert (_p1, _p1_pops))
    6540              :                                               {
    6541            0 :                                                 tree _q110 = _p1_pops[0];
    6542            0 :                                                 if ((_q110 == _q70 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q70, 0) && types_match (_q110, _q70)))
    6543              :                                                   {
    6544            0 :                                                     {
    6545            0 :                                                       tree captures[1] ATTRIBUTE_UNUSED = { _q70 };
    6546            0 :                                                       tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6547            0 :                                                       if (res) return res;
    6548              :                                                     }
    6549              :                                                   }
    6550              :                                               }
    6551              :                                           }
    6552            0 :                                           if ((_p1 == _q70 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q70, 0) && types_match (_p1, _q70)))
    6553              :                                             {
    6554            0 :                                               {
    6555            0 :                                                 tree captures[1] ATTRIBUTE_UNUSED = { _q70 };
    6556            0 :                                                 tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6557            0 :                                                 if (res) return res;
    6558              :                                               }
    6559              :                                             }
    6560              :                                         }
    6561              :                                     }
    6562              :                                   break;
    6563              :                                 }
    6564              :                               default:;
    6565              :                               }
    6566              :                             break;
    6567              :                           }
    6568            0 :                         case LT_EXPR:
    6569            0 :                           {
    6570            0 :                             tree _q60 = TREE_OPERAND (_q50, 0);
    6571            0 :                             tree _q61 = TREE_OPERAND (_q50, 1);
    6572            0 :                             if (integer_zerop (_q61))
    6573              :                               {
    6574            0 :                                 if (integer_onep (_q31))
    6575              :                                   {
    6576            0 :                                     {
    6577            0 :                                       tree _p1_pops[1];
    6578            0 :                                       if (tree_nop_convert (_p1, _p1_pops))
    6579              :                                         {
    6580            0 :                                           tree _q100 = _p1_pops[0];
    6581            0 :                                           if ((_q100 == _q60 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q60, 0) && types_match (_q100, _q60)))
    6582              :                                             {
    6583            0 :                                               {
    6584            0 :                                                 tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    6585            0 :                                                 tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6586            0 :                                                 if (res) return res;
    6587              :                                               }
    6588              :                                             }
    6589              :                                         }
    6590              :                                     }
    6591            0 :                                     if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
    6592              :                                       {
    6593            0 :                                         {
    6594            0 :                                           tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    6595            0 :                                           tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6596            0 :                                           if (res) return res;
    6597              :                                         }
    6598              :                                       }
    6599              :                                   }
    6600              :                               }
    6601              :                             break;
    6602              :                           }
    6603              :                         default:;
    6604              :                         }
    6605              :                       break;
    6606              :                     }
    6607              :                   default:;
    6608              :                   }
    6609              :               }
    6610              :           }
    6611            0 :             break;
    6612              :           }
    6613     22888037 :         default:;
    6614              :         }
    6615     22888037 :       switch (TREE_CODE (_p1))
    6616              :         {
    6617            0 :         case BIT_IOR_EXPR:
    6618            0 :           {
    6619            0 :             tree _q40 = TREE_OPERAND (_p1, 0);
    6620            0 :             tree _q41 = TREE_OPERAND (_p1, 1);
    6621            0 :             switch (TREE_CODE (_q40))
    6622              :               {
    6623            0 :               case NEGATE_EXPR:
    6624            0 :                 {
    6625            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    6626            0 :                   switch (TREE_CODE (_q50))
    6627              :                     {
    6628            0 :                     CASE_CONVERT:
    6629            0 :                       {
    6630            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    6631            0 :                         switch (TREE_CODE (_q60))
    6632              :                           {
    6633            0 :                           case LT_EXPR:
    6634            0 :                             {
    6635            0 :                               tree _q70 = TREE_OPERAND (_q60, 0);
    6636            0 :                               tree _q71 = TREE_OPERAND (_q60, 1);
    6637            0 :                               if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6638              :                                 {
    6639            0 :                                   if (integer_zerop (_q71))
    6640              :                                     {
    6641            0 :                                       if (integer_onep (_q41))
    6642              :                                         {
    6643            0 :                                           {
    6644            0 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6645            0 :                                             tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    6646            0 :                                             if (res) return res;
    6647              :                                           }
    6648              :                                         }
    6649              :                                     }
    6650              :                                 }
    6651              :                               break;
    6652              :                             }
    6653              :                           default:;
    6654              :                           }
    6655              :                         break;
    6656              :                       }
    6657            0 :                     case LT_EXPR:
    6658            0 :                       {
    6659            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    6660            0 :                         tree _q61 = TREE_OPERAND (_q50, 1);
    6661            0 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6662              :                           {
    6663            0 :                             if (integer_zerop (_q61))
    6664              :                               {
    6665            0 :                                 if (integer_onep (_q41))
    6666              :                                   {
    6667            0 :                                     {
    6668            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6669            0 :                                       tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    6670            0 :                                       if (res) return res;
    6671              :                                     }
    6672              :                                   }
    6673              :                               }
    6674              :                           }
    6675              :                         break;
    6676              :                       }
    6677              :                     default:;
    6678              :                     }
    6679              :                   break;
    6680              :                 }
    6681            0 :               default:;
    6682              :               }
    6683            0 :           {
    6684            0 :             tree _q40_pops[1];
    6685            0 :             if (tree_nop_convert (_q40, _q40_pops))
    6686              :               {
    6687            0 :                 tree _q50 = _q40_pops[0];
    6688            0 :                 switch (TREE_CODE (_q50))
    6689              :                   {
    6690            0 :                   case NEGATE_EXPR:
    6691            0 :                     {
    6692            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    6693            0 :                       switch (TREE_CODE (_q60))
    6694              :                         {
    6695            0 :                         CASE_CONVERT:
    6696            0 :                           {
    6697            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    6698            0 :                             switch (TREE_CODE (_q70))
    6699              :                               {
    6700            0 :                               case LT_EXPR:
    6701            0 :                                 {
    6702            0 :                                   tree _q80 = TREE_OPERAND (_q70, 0);
    6703            0 :                                   tree _q81 = TREE_OPERAND (_q70, 1);
    6704            0 :                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    6705              :                                     {
    6706            0 :                                       if (integer_zerop (_q81))
    6707              :                                         {
    6708            0 :                                           if (integer_onep (_q41))
    6709              :                                             {
    6710            0 :                                               {
    6711            0 :                                                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6712            0 :                                                 tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    6713            0 :                                                 if (res) return res;
    6714              :                                               }
    6715              :                                             }
    6716              :                                         }
    6717              :                                     }
    6718              :                                   break;
    6719              :                                 }
    6720              :                               default:;
    6721              :                               }
    6722              :                             break;
    6723              :                           }
    6724            0 :                         case LT_EXPR:
    6725            0 :                           {
    6726            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    6727            0 :                             tree _q71 = TREE_OPERAND (_q60, 1);
    6728            0 :                             if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6729              :                               {
    6730            0 :                                 if (integer_zerop (_q71))
    6731              :                                   {
    6732            0 :                                     if (integer_onep (_q41))
    6733              :                                       {
    6734            0 :                                         {
    6735            0 :                                           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6736            0 :                                           tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    6737            0 :                                           if (res) return res;
    6738              :                                         }
    6739              :                                       }
    6740              :                                   }
    6741              :                               }
    6742              :                             break;
    6743              :                           }
    6744              :                         default:;
    6745              :                         }
    6746              :                       break;
    6747              :                     }
    6748              :                   default:;
    6749              :                   }
    6750              :               }
    6751              :           }
    6752            0 :             break;
    6753              :           }
    6754     22888037 :         default:;
    6755              :         }
    6756     22888037 :     {
    6757     22888037 :       tree _p1_pops[1];
    6758     22888037 :       if (tree_nop_convert (_p1, _p1_pops))
    6759              :         {
    6760      2422847 :           tree _q40 = _p1_pops[0];
    6761      2422847 :           switch (TREE_CODE (_q40))
    6762              :             {
    6763            0 :             case BIT_IOR_EXPR:
    6764            0 :               {
    6765            0 :                 tree _q50 = TREE_OPERAND (_q40, 0);
    6766            0 :                 tree _q51 = TREE_OPERAND (_q40, 1);
    6767            0 :                 switch (TREE_CODE (_q50))
    6768              :                   {
    6769            0 :                   case NEGATE_EXPR:
    6770            0 :                     {
    6771            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    6772            0 :                       switch (TREE_CODE (_q60))
    6773              :                         {
    6774            0 :                         CASE_CONVERT:
    6775            0 :                           {
    6776            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    6777            0 :                             switch (TREE_CODE (_q70))
    6778              :                               {
    6779            0 :                               case LT_EXPR:
    6780            0 :                                 {
    6781            0 :                                   tree _q80 = TREE_OPERAND (_q70, 0);
    6782            0 :                                   tree _q81 = TREE_OPERAND (_q70, 1);
    6783            0 :                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    6784              :                                     {
    6785            0 :                                       if (integer_zerop (_q81))
    6786              :                                         {
    6787            0 :                                           if (integer_onep (_q51))
    6788              :                                             {
    6789            0 :                                               {
    6790            0 :                                                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6791            0 :                                                 tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    6792            0 :                                                 if (res) return res;
    6793              :                                               }
    6794              :                                             }
    6795              :                                         }
    6796              :                                     }
    6797              :                                   break;
    6798              :                                 }
    6799              :                               default:;
    6800              :                               }
    6801              :                             break;
    6802              :                           }
    6803            0 :                         case LT_EXPR:
    6804            0 :                           {
    6805            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    6806            0 :                             tree _q71 = TREE_OPERAND (_q60, 1);
    6807            0 :                             if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6808              :                               {
    6809            0 :                                 if (integer_zerop (_q71))
    6810              :                                   {
    6811            0 :                                     if (integer_onep (_q51))
    6812              :                                       {
    6813            0 :                                         {
    6814            0 :                                           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6815            0 :                                           tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    6816            0 :                                           if (res) return res;
    6817              :                                         }
    6818              :                                       }
    6819              :                                   }
    6820              :                               }
    6821              :                             break;
    6822              :                           }
    6823              :                         default:;
    6824              :                         }
    6825              :                       break;
    6826              :                     }
    6827            0 :                   default:;
    6828              :                   }
    6829            0 :               {
    6830            0 :                 tree _q50_pops[1];
    6831            0 :                 if (tree_nop_convert (_q50, _q50_pops))
    6832              :                   {
    6833            0 :                     tree _q60 = _q50_pops[0];
    6834            0 :                     switch (TREE_CODE (_q60))
    6835              :                       {
    6836            0 :                       case NEGATE_EXPR:
    6837            0 :                         {
    6838            0 :                           tree _q70 = TREE_OPERAND (_q60, 0);
    6839            0 :                           switch (TREE_CODE (_q70))
    6840              :                             {
    6841            0 :                             CASE_CONVERT:
    6842            0 :                               {
    6843            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    6844            0 :                                 switch (TREE_CODE (_q80))
    6845              :                                   {
    6846            0 :                                   case LT_EXPR:
    6847            0 :                                     {
    6848            0 :                                       tree _q90 = TREE_OPERAND (_q80, 0);
    6849            0 :                                       tree _q91 = TREE_OPERAND (_q80, 1);
    6850            0 :                                       if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
    6851              :                                         {
    6852            0 :                                           if (integer_zerop (_q91))
    6853              :                                             {
    6854            0 :                                               if (integer_onep (_q51))
    6855              :                                                 {
    6856            0 :                                                   {
    6857            0 :                                                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6858            0 :                                                     tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    6859            0 :                                                     if (res) return res;
    6860              :                                                   }
    6861              :                                                 }
    6862              :                                             }
    6863              :                                         }
    6864              :                                       break;
    6865              :                                     }
    6866              :                                   default:;
    6867              :                                   }
    6868              :                                 break;
    6869              :                               }
    6870            0 :                             case LT_EXPR:
    6871            0 :                               {
    6872            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    6873            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    6874            0 :                                 if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    6875              :                                   {
    6876            0 :                                     if (integer_zerop (_q81))
    6877              :                                       {
    6878            0 :                                         if (integer_onep (_q51))
    6879              :                                           {
    6880            0 :                                             {
    6881            0 :                                               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6882            0 :                                               tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    6883            0 :                                               if (res) return res;
    6884              :                                             }
    6885              :                                           }
    6886              :                                       }
    6887              :                                   }
    6888              :                                 break;
    6889              :                               }
    6890              :                             default:;
    6891              :                             }
    6892              :                           break;
    6893              :                         }
    6894              :                       default:;
    6895              :                       }
    6896              :                   }
    6897              :               }
    6898            0 :                 break;
    6899              :               }
    6900              :             default:;
    6901              :             }
    6902              :         }
    6903              :     }
    6904              :     }
    6905              : }
    6906     65863985 :   {
    6907     65863985 :     tree _p1_pops[1];
    6908     65863985 :     if (tree_nop_convert (_p1, _p1_pops))
    6909              :       {
    6910      6937805 :         tree _q30 = _p1_pops[0];
    6911      6937805 :         switch (TREE_CODE (_q30))
    6912              :           {
    6913            0 :           case BIT_IOR_EXPR:
    6914            0 :             {
    6915            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6916            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6917            0 :               switch (TREE_CODE (_q40))
    6918              :                 {
    6919            0 :                 case NEGATE_EXPR:
    6920            0 :                   {
    6921            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6922            0 :                     switch (TREE_CODE (_q50))
    6923              :                       {
    6924            0 :                       CASE_CONVERT:
    6925            0 :                         {
    6926            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    6927            0 :                           switch (TREE_CODE (_q60))
    6928              :                             {
    6929            0 :                             case LT_EXPR:
    6930            0 :                               {
    6931            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    6932            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    6933            0 :                                 if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
    6934              :                                   {
    6935            0 :                                     if (integer_zerop (_q71))
    6936              :                                       {
    6937            0 :                                         if (integer_onep (_q41))
    6938              :                                           {
    6939            0 :                                             {
    6940            0 :                                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6941            0 :                                               tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    6942            0 :                                               if (res) return res;
    6943              :                                             }
    6944              :                                           }
    6945              :                                       }
    6946              :                                   }
    6947              :                                 break;
    6948              :                               }
    6949              :                             default:;
    6950              :                             }
    6951              :                           break;
    6952              :                         }
    6953              :                       default:;
    6954              :                       }
    6955              :                     break;
    6956              :                   }
    6957            0 :                 default:;
    6958              :                 }
    6959            0 :             {
    6960            0 :               tree _q40_pops[1];
    6961            0 :               if (tree_nop_convert (_q40, _q40_pops))
    6962              :                 {
    6963            0 :                   tree _q50 = _q40_pops[0];
    6964            0 :                   switch (TREE_CODE (_q50))
    6965              :                     {
    6966            0 :                     case NEGATE_EXPR:
    6967            0 :                       {
    6968            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    6969            0 :                         switch (TREE_CODE (_q60))
    6970              :                           {
    6971            0 :                           CASE_CONVERT:
    6972            0 :                             {
    6973            0 :                               tree _q70 = TREE_OPERAND (_q60, 0);
    6974            0 :                               switch (TREE_CODE (_q70))
    6975              :                                 {
    6976            0 :                                 case LT_EXPR:
    6977            0 :                                   {
    6978            0 :                                     tree _q80 = TREE_OPERAND (_q70, 0);
    6979            0 :                                     tree _q81 = TREE_OPERAND (_q70, 1);
    6980            0 :                                     if ((_q80 == _p0 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _p0, 0) && types_match (_q80, _p0)))
    6981              :                                       {
    6982            0 :                                         if (integer_zerop (_q81))
    6983              :                                           {
    6984            0 :                                             if (integer_onep (_q41))
    6985              :                                               {
    6986            0 :                                                 {
    6987            0 :                                                   tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6988            0 :                                                   tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    6989            0 :                                                   if (res) return res;
    6990              :                                                 }
    6991              :                                               }
    6992              :                                           }
    6993              :                                       }
    6994              :                                     break;
    6995              :                                   }
    6996              :                                 default:;
    6997              :                                 }
    6998              :                               break;
    6999              :                             }
    7000              :                           default:;
    7001              :                           }
    7002              :                         break;
    7003              :                       }
    7004              :                     default:;
    7005              :                     }
    7006              :                 }
    7007              :             }
    7008            0 :               break;
    7009              :             }
    7010              :           default:;
    7011              :           }
    7012              :       }
    7013              :   }
    7014     65863985 :   switch (TREE_CODE (_p0))
    7015              :     {
    7016          299 :     case BIT_IOR_EXPR:
    7017          299 :       {
    7018          299 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7019          299 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7020          299 :         switch (TREE_CODE (_q20))
    7021              :           {
    7022            1 :           case NEGATE_EXPR:
    7023            1 :             {
    7024            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7025            1 :               switch (TREE_CODE (_q30))
    7026              :                 {
    7027            0 :                 CASE_CONVERT:
    7028            0 :                   {
    7029            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    7030            0 :                     switch (TREE_CODE (_q40))
    7031              :                       {
    7032            0 :                       case LT_EXPR:
    7033            0 :                         {
    7034            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    7035            0 :                           tree _q51 = TREE_OPERAND (_q40, 1);
    7036            0 :                           if (integer_zerop (_q51))
    7037              :                             {
    7038            0 :                               if (integer_onep (_q21))
    7039              :                                 {
    7040            0 :                                   {
    7041            0 :                                     tree _p1_pops[1];
    7042            0 :                                     if (tree_nop_convert (_p1, _p1_pops))
    7043              :                                       {
    7044            0 :                                         tree _q90 = _p1_pops[0];
    7045            0 :                                         if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
    7046              :                                           {
    7047            0 :                                             {
    7048            0 :                                               tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    7049            0 :                                               tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7050            0 :                                               if (res) return res;
    7051              :                                             }
    7052              :                                           }
    7053              :                                       }
    7054              :                                   }
    7055            0 :                                   if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    7056              :                                     {
    7057            0 :                                       {
    7058            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    7059            0 :                                         tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7060            0 :                                         if (res) return res;
    7061              :                                       }
    7062              :                                     }
    7063              :                                 }
    7064              :                             }
    7065              :                           break;
    7066              :                         }
    7067              :                       default:;
    7068              :                       }
    7069              :                     break;
    7070              :                   }
    7071            1 :                 case LT_EXPR:
    7072            1 :                   {
    7073            1 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    7074            1 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    7075            1 :                     if (integer_zerop (_q41))
    7076              :                       {
    7077            1 :                         if (integer_onep (_q21))
    7078              :                           {
    7079            1 :                             {
    7080            1 :                               tree _p1_pops[1];
    7081            1 :                               if (tree_nop_convert (_p1, _p1_pops))
    7082              :                                 {
    7083            0 :                                   tree _q80 = _p1_pops[0];
    7084            0 :                                   if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    7085              :                                     {
    7086            0 :                                       {
    7087            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    7088            0 :                                         tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7089            0 :                                         if (res) return res;
    7090              :                                       }
    7091              :                                     }
    7092              :                                 }
    7093              :                             }
    7094            1 :                             if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    7095              :                               {
    7096            1 :                                 {
    7097            1 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    7098            1 :                                   tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7099            1 :                                   if (res) return res;
    7100              :                                 }
    7101              :                               }
    7102              :                           }
    7103              :                       }
    7104              :                     break;
    7105              :                   }
    7106              :                 default:;
    7107              :                 }
    7108              :               break;
    7109              :             }
    7110          298 :           default:;
    7111              :           }
    7112          298 :       {
    7113          298 :         tree _q20_pops[1];
    7114          298 :         if (tree_nop_convert (_q20, _q20_pops))
    7115              :           {
    7116            1 :             tree _q30 = _q20_pops[0];
    7117            1 :             switch (TREE_CODE (_q30))
    7118              :               {
    7119            1 :               case NEGATE_EXPR:
    7120            1 :                 {
    7121            1 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    7122            1 :                   switch (TREE_CODE (_q40))
    7123              :                     {
    7124            0 :                     CASE_CONVERT:
    7125            0 :                       {
    7126            0 :                         tree _q50 = TREE_OPERAND (_q40, 0);
    7127            0 :                         switch (TREE_CODE (_q50))
    7128              :                           {
    7129            0 :                           case LT_EXPR:
    7130            0 :                             {
    7131            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
    7132            0 :                               tree _q61 = TREE_OPERAND (_q50, 1);
    7133            0 :                               if (integer_zerop (_q61))
    7134              :                                 {
    7135            0 :                                   if (integer_onep (_q21))
    7136              :                                     {
    7137            0 :                                       {
    7138            0 :                                         tree _p1_pops[1];
    7139            0 :                                         if (tree_nop_convert (_p1, _p1_pops))
    7140              :                                           {
    7141            0 :                                             tree _q100 = _p1_pops[0];
    7142            0 :                                             if ((_q100 == _q60 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q60, 0) && types_match (_q100, _q60)))
    7143              :                                               {
    7144            0 :                                                 {
    7145            0 :                                                   tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    7146            0 :                                                   tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7147            0 :                                                   if (res) return res;
    7148              :                                                 }
    7149              :                                               }
    7150              :                                           }
    7151              :                                       }
    7152            0 :                                       if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
    7153              :                                         {
    7154            0 :                                           {
    7155            0 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    7156            0 :                                             tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7157            0 :                                             if (res) return res;
    7158              :                                           }
    7159              :                                         }
    7160              :                                     }
    7161              :                                 }
    7162              :                               break;
    7163              :                             }
    7164              :                           default:;
    7165              :                           }
    7166              :                         break;
    7167              :                       }
    7168            1 :                     case LT_EXPR:
    7169            1 :                       {
    7170            1 :                         tree _q50 = TREE_OPERAND (_q40, 0);
    7171            1 :                         tree _q51 = TREE_OPERAND (_q40, 1);
    7172            1 :                         if (integer_zerop (_q51))
    7173              :                           {
    7174            1 :                             if (integer_onep (_q21))
    7175              :                               {
    7176            1 :                                 {
    7177            1 :                                   tree _p1_pops[1];
    7178            1 :                                   if (tree_nop_convert (_p1, _p1_pops))
    7179              :                                     {
    7180            1 :                                       tree _q90 = _p1_pops[0];
    7181            1 :                                       if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
    7182              :                                         {
    7183            1 :                                           {
    7184            1 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    7185            1 :                                             tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7186            1 :                                             if (res) return res;
    7187              :                                           }
    7188              :                                         }
    7189              :                                     }
    7190              :                                 }
    7191            0 :                                 if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    7192              :                                   {
    7193            0 :                                     {
    7194            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    7195            0 :                                       tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7196            0 :                                       if (res) return res;
    7197              :                                     }
    7198              :                                   }
    7199              :                               }
    7200              :                           }
    7201              :                         break;
    7202              :                       }
    7203              :                     default:;
    7204              :                     }
    7205              :                   break;
    7206              :                 }
    7207              :               default:;
    7208              :               }
    7209              :           }
    7210              :       }
    7211          297 :         break;
    7212              :       }
    7213     65863983 :     default:;
    7214              :     }
    7215     65863983 :   switch (TREE_CODE (_p1))
    7216              :     {
    7217            1 :     case BIT_IOR_EXPR:
    7218            1 :       {
    7219            1 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7220            1 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7221            1 :         switch (TREE_CODE (_q30))
    7222              :           {
    7223            0 :           case NEGATE_EXPR:
    7224            0 :             {
    7225            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7226            0 :               switch (TREE_CODE (_q40))
    7227              :                 {
    7228            0 :                 CASE_CONVERT:
    7229            0 :                   {
    7230            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    7231            0 :                     switch (TREE_CODE (_q50))
    7232              :                       {
    7233            0 :                       case LT_EXPR:
    7234            0 :                         {
    7235            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    7236            0 :                           tree _q61 = TREE_OPERAND (_q50, 1);
    7237            0 :                           if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    7238              :                             {
    7239            0 :                               if (integer_zerop (_q61))
    7240              :                                 {
    7241            0 :                                   if (integer_onep (_q31))
    7242              :                                     {
    7243            0 :                                       {
    7244            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7245            0 :                                         tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7246            0 :                                         if (res) return res;
    7247              :                                       }
    7248              :                                     }
    7249              :                                 }
    7250              :                             }
    7251              :                           break;
    7252              :                         }
    7253              :                       default:;
    7254              :                       }
    7255              :                     break;
    7256              :                   }
    7257            0 :                 case LT_EXPR:
    7258            0 :                   {
    7259            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    7260            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    7261            0 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    7262              :                       {
    7263            0 :                         if (integer_zerop (_q51))
    7264              :                           {
    7265            0 :                             if (integer_onep (_q31))
    7266              :                               {
    7267            0 :                                 {
    7268            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7269            0 :                                   tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7270            0 :                                   if (res) return res;
    7271              :                                 }
    7272              :                               }
    7273              :                           }
    7274              :                       }
    7275              :                     break;
    7276              :                   }
    7277              :                 default:;
    7278              :                 }
    7279              :               break;
    7280              :             }
    7281            1 :           default:;
    7282              :           }
    7283            1 :       {
    7284            1 :         tree _q30_pops[1];
    7285            1 :         if (tree_nop_convert (_q30, _q30_pops))
    7286              :           {
    7287            0 :             tree _q40 = _q30_pops[0];
    7288            0 :             switch (TREE_CODE (_q40))
    7289              :               {
    7290            0 :               case NEGATE_EXPR:
    7291            0 :                 {
    7292            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    7293            0 :                   switch (TREE_CODE (_q50))
    7294              :                     {
    7295            0 :                     CASE_CONVERT:
    7296            0 :                       {
    7297            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    7298            0 :                         switch (TREE_CODE (_q60))
    7299              :                           {
    7300            0 :                           case LT_EXPR:
    7301            0 :                             {
    7302            0 :                               tree _q70 = TREE_OPERAND (_q60, 0);
    7303            0 :                               tree _q71 = TREE_OPERAND (_q60, 1);
    7304            0 :                               if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
    7305              :                                 {
    7306            0 :                                   if (integer_zerop (_q71))
    7307              :                                     {
    7308            0 :                                       if (integer_onep (_q31))
    7309              :                                         {
    7310            0 :                                           {
    7311            0 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7312            0 :                                             tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7313            0 :                                             if (res) return res;
    7314              :                                           }
    7315              :                                         }
    7316              :                                     }
    7317              :                                 }
    7318              :                               break;
    7319              :                             }
    7320              :                           default:;
    7321              :                           }
    7322              :                         break;
    7323              :                       }
    7324            0 :                     case LT_EXPR:
    7325            0 :                       {
    7326            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    7327            0 :                         tree _q61 = TREE_OPERAND (_q50, 1);
    7328            0 :                         if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    7329              :                           {
    7330            0 :                             if (integer_zerop (_q61))
    7331              :                               {
    7332            0 :                                 if (integer_onep (_q31))
    7333              :                                   {
    7334            0 :                                     {
    7335            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7336            0 :                                       tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7337            0 :                                       if (res) return res;
    7338              :                                     }
    7339              :                                   }
    7340              :                               }
    7341              :                           }
    7342              :                         break;
    7343              :                       }
    7344              :                     default:;
    7345              :                     }
    7346              :                   break;
    7347              :                 }
    7348              :               default:;
    7349              :               }
    7350              :           }
    7351              :       }
    7352            1 :         break;
    7353              :       }
    7354     65863983 :     default:;
    7355              :     }
    7356     65863983 : {
    7357     65863983 :   tree _p1_pops[1];
    7358     65863983 :   if (tree_nop_convert (_p1, _p1_pops))
    7359              :     {
    7360      6937804 :       tree _q30 = _p1_pops[0];
    7361      6937804 :       switch (TREE_CODE (_q30))
    7362              :         {
    7363            0 :         case BIT_IOR_EXPR:
    7364            0 :           {
    7365            0 :             tree _q40 = TREE_OPERAND (_q30, 0);
    7366            0 :             tree _q41 = TREE_OPERAND (_q30, 1);
    7367            0 :             switch (TREE_CODE (_q40))
    7368              :               {
    7369            0 :               case NEGATE_EXPR:
    7370            0 :                 {
    7371            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    7372            0 :                   switch (TREE_CODE (_q50))
    7373              :                     {
    7374            0 :                     case LT_EXPR:
    7375            0 :                       {
    7376            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    7377            0 :                         tree _q61 = TREE_OPERAND (_q50, 1);
    7378            0 :                         if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    7379              :                           {
    7380            0 :                             if (integer_zerop (_q61))
    7381              :                               {
    7382            0 :                                 if (integer_onep (_q41))
    7383              :                                   {
    7384            0 :                                     {
    7385            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7386            0 :                                       tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7387            0 :                                       if (res) return res;
    7388              :                                     }
    7389              :                                   }
    7390              :                               }
    7391              :                           }
    7392              :                         break;
    7393              :                       }
    7394              :                     default:;
    7395              :                     }
    7396              :                   break;
    7397              :                 }
    7398            0 :               default:;
    7399              :               }
    7400            0 :           {
    7401            0 :             tree _q40_pops[1];
    7402            0 :             if (tree_nop_convert (_q40, _q40_pops))
    7403              :               {
    7404            0 :                 tree _q50 = _q40_pops[0];
    7405            0 :                 switch (TREE_CODE (_q50))
    7406              :                   {
    7407            0 :                   case NEGATE_EXPR:
    7408            0 :                     {
    7409            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    7410            0 :                       switch (TREE_CODE (_q60))
    7411              :                         {
    7412            0 :                         case LT_EXPR:
    7413            0 :                           {
    7414            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    7415            0 :                             tree _q71 = TREE_OPERAND (_q60, 1);
    7416            0 :                             if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
    7417              :                               {
    7418            0 :                                 if (integer_zerop (_q71))
    7419              :                                   {
    7420            0 :                                     if (integer_onep (_q41))
    7421              :                                       {
    7422            0 :                                         {
    7423            0 :                                           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7424            0 :                                           tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7425            0 :                                           if (res) return res;
    7426              :                                         }
    7427              :                                       }
    7428              :                                   }
    7429              :                               }
    7430              :                             break;
    7431              :                           }
    7432              :                         default:;
    7433              :                         }
    7434              :                       break;
    7435              :                     }
    7436              :                   default:;
    7437              :                   }
    7438              :               }
    7439              :           }
    7440            0 :             break;
    7441              :           }
    7442              :         default:;
    7443              :         }
    7444              :     }
    7445              : }
    7446     65863983 :   switch (TREE_CODE (_p0))
    7447              :     {
    7448     31645885 :     CASE_CONVERT:
    7449     31645885 :       {
    7450     31645885 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7451     31645885 :         switch (TREE_CODE (_q20))
    7452              :           {
    7453         6182 :           case NEGATE_EXPR:
    7454         6182 :             {
    7455         6182 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7456         6182 :               switch (TREE_CODE (_p1))
    7457              :                 {
    7458          473 :                 CASE_CONVERT:
    7459          473 :                   {
    7460          473 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7461          473 :                     if (tree_negate_expr_p (_q50))
    7462              :                       {
    7463            0 :                         {
    7464            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
    7465            0 :                           tree res = generic_simplify_188 (loc, type, _p0, _p1, captures);
    7466            0 :                           if (res) return res;
    7467              :                         }
    7468              :                       }
    7469              :                     break;
    7470              :                   }
    7471         6182 :                 default:;
    7472              :                 }
    7473         6182 :             if (tree_negate_expr_p (_p1))
    7474              :               {
    7475         3362 :                 {
    7476         3362 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
    7477         3362 :                   tree res = generic_simplify_188 (loc, type, _p0, _p1, captures);
    7478         3362 :                   if (res) return res;
    7479              :                 }
    7480              :               }
    7481              :               break;
    7482              :             }
    7483            4 :           case LT_EXPR:
    7484            4 :             {
    7485            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7486            4 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7487            4 :               {
    7488            4 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7489            4 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, LT_EXPR);
    7490            4 :                 if (res) return res;
    7491              :               }
    7492            4 :               break;
    7493              :             }
    7494            6 :           case LE_EXPR:
    7495            6 :             {
    7496            6 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7497            6 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7498            6 :               {
    7499            6 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7500            6 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, LE_EXPR);
    7501            6 :                 if (res) return res;
    7502              :               }
    7503            6 :               break;
    7504              :             }
    7505            1 :           case EQ_EXPR:
    7506            1 :             {
    7507            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7508            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7509            1 :               {
    7510            1 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7511            1 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7512            1 :                 if (res) return res;
    7513              :               }
    7514            1 :               break;
    7515              :             }
    7516         1157 :           case NE_EXPR:
    7517         1157 :             {
    7518         1157 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7519         1157 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7520         1157 :               {
    7521         1157 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7522         1157 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, NE_EXPR);
    7523         1157 :                 if (res) return res;
    7524              :               }
    7525         1157 :               break;
    7526              :             }
    7527           19 :           case GE_EXPR:
    7528           19 :             {
    7529           19 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7530           19 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7531           19 :               {
    7532           19 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7533           19 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, GE_EXPR);
    7534           19 :                 if (res) return res;
    7535              :               }
    7536           19 :               break;
    7537              :             }
    7538           19 :           case GT_EXPR:
    7539           19 :             {
    7540           19 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7541           19 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7542           19 :               {
    7543           19 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7544           19 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, GT_EXPR);
    7545           19 :                 if (res) return res;
    7546              :               }
    7547           19 :               break;
    7548              :             }
    7549            0 :           case UNORDERED_EXPR:
    7550            0 :             {
    7551            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7552            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7553            0 :               {
    7554            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7555            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
    7556            0 :                 if (res) return res;
    7557              :               }
    7558            0 :               break;
    7559              :             }
    7560            0 :           case ORDERED_EXPR:
    7561            0 :             {
    7562            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7563            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7564            0 :               {
    7565            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7566            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
    7567            0 :                 if (res) return res;
    7568              :               }
    7569            0 :               break;
    7570              :             }
    7571            0 :           case UNLT_EXPR:
    7572            0 :             {
    7573            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7574            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7575            0 :               {
    7576            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7577            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, UNLT_EXPR);
    7578            0 :                 if (res) return res;
    7579              :               }
    7580            0 :               break;
    7581              :             }
    7582            0 :           case UNLE_EXPR:
    7583            0 :             {
    7584            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7585            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7586            0 :               {
    7587            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7588            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, UNLE_EXPR);
    7589            0 :                 if (res) return res;
    7590              :               }
    7591            0 :               break;
    7592              :             }
    7593            0 :           case UNGT_EXPR:
    7594            0 :             {
    7595            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7596            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7597            0 :               {
    7598            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7599            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, UNGT_EXPR);
    7600            0 :                 if (res) return res;
    7601              :               }
    7602            0 :               break;
    7603              :             }
    7604            0 :           case UNGE_EXPR:
    7605            0 :             {
    7606            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7607            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7608            0 :               {
    7609            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7610            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, UNGE_EXPR);
    7611            0 :                 if (res) return res;
    7612              :               }
    7613            0 :               break;
    7614              :             }
    7615            0 :           case UNEQ_EXPR:
    7616            0 :             {
    7617            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7618            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7619            0 :               {
    7620            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7621            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
    7622            0 :                 if (res) return res;
    7623              :               }
    7624            0 :               break;
    7625              :             }
    7626            0 :           case LTGT_EXPR:
    7627            0 :             {
    7628            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7629            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7630            0 :               {
    7631            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7632            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, LTGT_EXPR);
    7633            0 :                 if (res) return res;
    7634              :               }
    7635            0 :               break;
    7636              :             }
    7637     31645142 :           default:;
    7638              :           }
    7639     31645142 :       if (tree_negate_expr_p (_q20))
    7640              :         {
    7641        21784 :           switch (TREE_CODE (_p1))
    7642              :             {
    7643         2642 :             CASE_CONVERT:
    7644         2642 :               {
    7645         2642 :                 tree _q40 = TREE_OPERAND (_p1, 0);
    7646         2642 :                 switch (TREE_CODE (_q40))
    7647              :                   {
    7648            0 :                   case NEGATE_EXPR:
    7649            0 :                     {
    7650            0 :                       tree _q50 = TREE_OPERAND (_q40, 0);
    7651            0 :                       {
    7652            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
    7653            0 :                         tree res = generic_simplify_188 (loc, type, _p0, _p1, captures);
    7654            0 :                         if (res) return res;
    7655              :                       }
    7656            0 :                       break;
    7657              :                     }
    7658              :                   default:;
    7659              :                   }
    7660              :                 break;
    7661              :               }
    7662            6 :             case NEGATE_EXPR:
    7663            6 :               {
    7664            6 :                 tree _q40 = TREE_OPERAND (_p1, 0);
    7665            6 :                 {
    7666            6 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    7667            6 :                   tree res = generic_simplify_188 (loc, type, _p0, _p1, captures);
    7668            6 :                   if (res) return res;
    7669              :                 }
    7670            0 :                 break;
    7671              :               }
    7672              :             default:;
    7673              :             }
    7674              :         }
    7675              :         break;
    7676              :       }
    7677       428348 :     case NEGATE_EXPR:
    7678       428348 :       {
    7679       428348 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7680       428348 :         switch (TREE_CODE (_p1))
    7681              :           {
    7682       150686 :           CASE_CONVERT:
    7683       150686 :             {
    7684       150686 :               tree _q40 = TREE_OPERAND (_p1, 0);
    7685       150686 :               if (tree_negate_expr_p (_q40))
    7686              :                 {
    7687            0 :                   {
    7688            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    7689            0 :                     tree res = generic_simplify_188 (loc, type, _p0, _p1, captures);
    7690            0 :                     if (res) return res;
    7691              :                   }
    7692              :                 }
    7693              :               break;
    7694              :             }
    7695       428348 :           default:;
    7696              :           }
    7697       428348 :       if (tree_negate_expr_p (_p1))
    7698              :         {
    7699        33287 :           {
    7700        33287 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7701        33287 :             tree res = generic_simplify_188 (loc, type, _p0, _p1, captures);
    7702        33287 :             if (res) return res;
    7703              :           }
    7704              :         }
    7705              :         break;
    7706              :       }
    7707     65829947 :     default:;
    7708              :     }
    7709     65829947 : if (tree_negate_expr_p (_p0))
    7710              :   {
    7711       666978 :     switch (TREE_CODE (_p1))
    7712              :       {
    7713       155035 :       CASE_CONVERT:
    7714       155035 :         {
    7715       155035 :           tree _q30 = TREE_OPERAND (_p1, 0);
    7716       155035 :           switch (TREE_CODE (_q30))
    7717              :             {
    7718            0 :             case NEGATE_EXPR:
    7719            0 :               {
    7720            0 :                 tree _q40 = TREE_OPERAND (_q30, 0);
    7721            0 :                 {
    7722            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    7723            0 :                   tree res = generic_simplify_188 (loc, type, _p0, _p1, captures);
    7724            0 :                   if (res) return res;
    7725              :                 }
    7726            0 :                 break;
    7727              :               }
    7728              :             default:;
    7729              :             }
    7730              :           break;
    7731              :         }
    7732            6 :       case NEGATE_EXPR:
    7733            6 :         {
    7734            6 :           tree _q30 = TREE_OPERAND (_p1, 0);
    7735            6 :           {
    7736            6 :             tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    7737            6 :             tree res = generic_simplify_188 (loc, type, _p0, _p1, captures);
    7738            6 :             if (res) return res;
    7739              :           }
    7740            0 :           break;
    7741              :         }
    7742              :       default:;
    7743              :       }
    7744              :   }
    7745     65829941 : if (tree_zero_one_valued_p (_p0))
    7746              :   {
    7747       184269 :     if (tree_zero_one_valued_p (_p1))
    7748              :       {
    7749        12204 :         {
    7750        12204 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    7751        12204 :           if (INTEGRAL_TYPE_P (type)
    7752              : )
    7753              :             {
    7754        12204 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1422;
    7755        12204 :               {
    7756        12204 :                 tree res_op0;
    7757        12204 :                 res_op0 = captures[0];
    7758        12204 :                 tree res_op1;
    7759        12204 :                 res_op1 = captures[1];
    7760        12204 :                 tree _r;
    7761        12204 :                 _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    7762        12204 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 974, __FILE__, __LINE__, true);
    7763        12204 :                 return _r;
    7764              :               }
    7765            0 : next_after_fail1422:;
    7766              :             }
    7767              :         }
    7768              :       }
    7769              :   }
    7770     65817737 :   switch (TREE_CODE (_p1))
    7771              :     {
    7772      7011200 :     CASE_CONVERT:
    7773      7011200 :       {
    7774      7011200 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7775      7011200 :         switch (TREE_CODE (_q30))
    7776              :           {
    7777            0 :           case LT_EXPR:
    7778            0 :             {
    7779            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7780            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7781            0 :               {
    7782            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7783            0 :                 tree res = generic_simplify_190 (loc, type, _p0, _p1, captures, LT_EXPR);
    7784            0 :                 if (res) return res;
    7785              :               }
    7786            0 :               break;
    7787              :             }
    7788            0 :           case LE_EXPR:
    7789            0 :             {
    7790            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7791            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7792            0 :               {
    7793            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7794            0 :                 tree res = generic_simplify_190 (loc, type, _p0, _p1, captures, LE_EXPR);
    7795            0 :                 if (res) return res;
    7796              :               }
    7797            0 :               break;
    7798              :             }
    7799            0 :           case EQ_EXPR:
    7800            0 :             {
    7801            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7802            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7803            0 :               {
    7804            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7805            0 :                 tree res = generic_simplify_190 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7806            0 :                 if (res) return res;
    7807              :               }
    7808            0 :               break;
    7809              :             }
    7810            0 :           case NE_EXPR:
    7811            0 :             {
    7812            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7813            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7814            0 :               {
    7815            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7816            0 :                 tree res = generic_simplify_190 (loc, type, _p0, _p1, captures, NE_EXPR);
    7817            0 :                 if (res) return res;
    7818              :               }
    7819            0 :               break;
    7820              :             }
    7821            0 :           case GE_EXPR:
    7822            0 :             {
    7823            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7824            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7825            0 :               {
    7826            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7827            0 :                 tree res = generic_simplify_190 (loc, type, _p0, _p1, captures, GE_EXPR);
    7828            0 :                 if (res) return res;
    7829              :               }
    7830            0 :               break;
    7831              :             }
    7832            0 :           case GT_EXPR:
    7833            0 :             {
    7834            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7835            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7836            0 :               {
    7837            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7838            0 :                 tree res = generic_simplify_190 (loc, type, _p0, _p1, captures, GT_EXPR);
    7839            0 :                 if (res) return res;
    7840              :               }
    7841            0 :               break;
    7842              :             }
    7843            0 :           case UNORDERED_EXPR:
    7844            0 :             {
    7845            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7846            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7847            0 :               {
    7848            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7849            0 :                 tree res = generic_simplify_190 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
    7850            0 :                 if (res) return res;
    7851              :               }
    7852            0 :               break;
    7853              :             }
    7854            0 :           case ORDERED_EXPR:
    7855            0 :             {
    7856            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7857            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7858            0 :               {
    7859            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7860            0 :                 tree res = generic_simplify_190 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
    7861            0 :                 if (res) return res;
    7862              :               }
    7863            0 :               break;
    7864              :             }
    7865            0 :           case UNLT_EXPR:
    7866            0 :             {
    7867            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7868            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7869            0 :               {
    7870            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7871            0 :                 tree res = generic_simplify_190 (loc, type, _p0, _p1, captures, UNLT_EXPR);
    7872            0 :                 if (res) return res;
    7873              :               }
    7874            0 :               break;
    7875              :             }
    7876            0 :           case UNLE_EXPR:
    7877            0 :             {
    7878            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7879            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7880            0 :               {
    7881            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7882            0 :                 tree res = generic_simplify_190 (loc, type, _p0, _p1, captures, UNLE_EXPR);
    7883            0 :                 if (res) return res;
    7884              :               }
    7885            0 :               break;
    7886              :             }
    7887            0 :           case UNGT_EXPR:
    7888            0 :             {
    7889            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7890            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7891            0 :               {
    7892            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7893            0 :                 tree res = generic_simplify_190 (loc, type, _p0, _p1, captures, UNGT_EXPR);
    7894            0 :                 if (res) return res;
    7895              :               }
    7896            0 :               break;
    7897              :             }
    7898            0 :           case UNGE_EXPR:
    7899            0 :             {
    7900            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7901            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7902            0 :               {
    7903            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7904            0 :                 tree res = generic_simplify_190 (loc, type, _p0, _p1, captures, UNGE_EXPR);
    7905            0 :                 if (res) return res;
    7906              :               }
    7907            0 :               break;
    7908              :             }
    7909            0 :           case UNEQ_EXPR:
    7910            0 :             {
    7911            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7912            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7913            0 :               {
    7914            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7915            0 :                 tree res = generic_simplify_190 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
    7916            0 :                 if (res) return res;
    7917              :               }
    7918            0 :               break;
    7919              :             }
    7920            0 :           case LTGT_EXPR:
    7921            0 :             {
    7922            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7923            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7924            0 :               {
    7925            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7926            0 :                 tree res = generic_simplify_190 (loc, type, _p0, _p1, captures, LTGT_EXPR);
    7927            0 :                 if (res) return res;
    7928              :               }
    7929            0 :               break;
    7930              :             }
    7931              :           default:;
    7932              :           }
    7933              :         break;
    7934              :       }
    7935     65817737 :     default:;
    7936              :     }
    7937     65817737 :   switch (TREE_CODE (_p0))
    7938              :     {
    7939            3 :     case MIN_EXPR:
    7940            3 :       {
    7941            3 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7942            3 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7943            3 :         switch (TREE_CODE (_p1))
    7944              :           {
    7945            0 :           case MAX_EXPR:
    7946            0 :             {
    7947            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7948            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7949            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7950              :                 {
    7951            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7952              :                     {
    7953            0 :                       {
    7954            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7955            0 :                         if (!HONOR_NANS (captures[0])
    7956              : )
    7957              :                           {
    7958            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1423;
    7959            0 :                             {
    7960            0 :                               tree res_op0;
    7961            0 :                               res_op0 = captures[0];
    7962            0 :                               tree res_op1;
    7963            0 :                               res_op1 = captures[1];
    7964            0 :                               tree _r;
    7965            0 :                               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    7966            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    7967            0 :                               return _r;
    7968              :                             }
    7969            0 : next_after_fail1423:;
    7970              :                           }
    7971              :                       }
    7972              :                     }
    7973              :                 }
    7974            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7975              :                 {
    7976            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7977              :                     {
    7978            0 :                       {
    7979            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7980            0 :                         if (!HONOR_NANS (captures[0])
    7981              : )
    7982              :                           {
    7983            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1424;
    7984            0 :                             {
    7985            0 :                               tree res_op0;
    7986            0 :                               res_op0 = captures[0];
    7987            0 :                               tree res_op1;
    7988            0 :                               res_op1 = captures[1];
    7989            0 :                               tree _r;
    7990            0 :                               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    7991            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    7992            0 :                               return _r;
    7993              :                             }
    7994            0 : next_after_fail1424:;
    7995              :                           }
    7996              :                       }
    7997              :                     }
    7998              :                 }
    7999              :               break;
    8000              :             }
    8001              :           default:;
    8002              :           }
    8003              :         break;
    8004              :       }
    8005          146 :     case MAX_EXPR:
    8006          146 :       {
    8007          146 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8008          146 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8009          146 :         switch (TREE_CODE (_p1))
    8010              :           {
    8011            0 :           case MIN_EXPR:
    8012            0 :             {
    8013            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8014            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8015            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8016              :                 {
    8017            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8018              :                     {
    8019            0 :                       {
    8020            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8021            0 :                         if (!HONOR_NANS (captures[0])
    8022              : )
    8023              :                           {
    8024            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1425;
    8025            0 :                             {
    8026            0 :                               tree res_op0;
    8027            0 :                               res_op0 = captures[0];
    8028            0 :                               tree res_op1;
    8029            0 :                               res_op1 = captures[1];
    8030            0 :                               tree _r;
    8031            0 :                               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    8032            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    8033            0 :                               return _r;
    8034              :                             }
    8035            0 : next_after_fail1425:;
    8036              :                           }
    8037              :                       }
    8038              :                     }
    8039              :                 }
    8040            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8041              :                 {
    8042            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8043              :                     {
    8044            0 :                       {
    8045            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8046            0 :                         if (!HONOR_NANS (captures[0])
    8047              : )
    8048              :                           {
    8049            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1426;
    8050            0 :                             {
    8051            0 :                               tree res_op0;
    8052            0 :                               res_op0 = captures[0];
    8053            0 :                               tree res_op1;
    8054            0 :                               res_op1 = captures[1];
    8055            0 :                               tree _r;
    8056            0 :                               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    8057            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    8058            0 :                               return _r;
    8059              :                             }
    8060            0 : next_after_fail1426:;
    8061              :                           }
    8062              :                       }
    8063              :                     }
    8064              :                 }
    8065              :               break;
    8066              :             }
    8067              :           default:;
    8068              :           }
    8069              :         break;
    8070              :       }
    8071     31632935 :     CASE_CONVERT:
    8072     31632935 :       {
    8073     31632935 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8074     31632935 :         switch (TREE_CODE (_q20))
    8075              :           {
    8076           82 :           case BIT_AND_EXPR:
    8077           82 :             {
    8078           82 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8079           82 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8080           82 :               switch (TREE_CODE (_q30))
    8081              :                 {
    8082            0 :                 CASE_CONVERT:
    8083            0 :                   {
    8084            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8085            0 :                     switch (TREE_CODE (_q40))
    8086              :                       {
    8087            0 :                       case RSHIFT_EXPR:
    8088            0 :                         {
    8089            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    8090            0 :                           tree _q51 = TREE_OPERAND (_q40, 1);
    8091            0 :                           switch (TREE_CODE (_q51))
    8092              :                             {
    8093            0 :                             case INTEGER_CST:
    8094            0 :                               {
    8095            0 :                                 switch (TREE_CODE (_q31))
    8096              :                                   {
    8097            0 :                                   case INTEGER_CST:
    8098            0 :                                     {
    8099            0 :                                       switch (TREE_CODE (_p1))
    8100              :                                         {
    8101            0 :                                         case INTEGER_CST:
    8102            0 :                                           {
    8103            0 :                                             {
    8104            0 :                                               tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _p1 };
    8105            0 :                                               tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    8106            0 :                                               if (res) return res;
    8107              :                                             }
    8108            0 :                                             break;
    8109              :                                           }
    8110              :                                         default:;
    8111              :                                         }
    8112              :                                       break;
    8113              :                                     }
    8114              :                                   default:;
    8115              :                                   }
    8116              :                                 break;
    8117              :                               }
    8118              :                             default:;
    8119              :                             }
    8120              :                           break;
    8121              :                         }
    8122              :                       default:;
    8123              :                       }
    8124              :                     break;
    8125              :                   }
    8126              :                 default:;
    8127              :                 }
    8128              :               break;
    8129              :             }
    8130        30447 :           case EXACT_DIV_EXPR:
    8131        30447 :             {
    8132        30447 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8133        30447 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8134        30447 :               switch (TREE_CODE (_p1))
    8135              :                 {
    8136            0 :                 CASE_CONVERT:
    8137            0 :                   {
    8138            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    8139            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
    8140              :                       {
    8141            0 :                         {
    8142            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
    8143            0 :                           tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    8144            0 :                           if (res) return res;
    8145              :                         }
    8146              :                       }
    8147              :                     break;
    8148              :                   }
    8149        30447 :                 default:;
    8150              :                 }
    8151        30447 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
    8152              :                 {
    8153        20612 :                   {
    8154        20612 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
    8155        20612 :                     tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    8156        20612 :                     if (res) return res;
    8157              :                   }
    8158              :                 }
    8159         9835 :               switch (TREE_CODE (_q31))
    8160              :                 {
    8161         9835 :                 case INTEGER_CST:
    8162         9835 :                   {
    8163         9835 :                     if (poly_int_tree_p (_p1))
    8164              :                       {
    8165         9835 :                         {
    8166         9835 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    8167         9835 :                           tree res = generic_simplify_193 (loc, type, _p0, _p1, captures);
    8168         9835 :                           if (res) return res;
    8169              :                         }
    8170              :                       }
    8171              :                     break;
    8172              :                   }
    8173              :                 default:;
    8174              :                 }
    8175              :               break;
    8176              :             }
    8177      1346351 :           case PLUS_EXPR:
    8178      1346351 :             {
    8179      1346351 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8180      1346351 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8181      1346351 :               switch (TREE_CODE (_q30))
    8182              :                 {
    8183       175592 :                 CASE_CONVERT:
    8184       175592 :                   {
    8185       175592 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8186       175592 :                     switch (TREE_CODE (_q40))
    8187              :                       {
    8188            0 :                       case EXACT_DIV_EXPR:
    8189            0 :                         {
    8190            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    8191            0 :                           tree _q51 = TREE_OPERAND (_q40, 1);
    8192            0 :                           switch (TREE_CODE (_q51))
    8193              :                             {
    8194            0 :                             case INTEGER_CST:
    8195            0 :                               {
    8196            0 :                                 if (poly_int_tree_p (_q31))
    8197              :                                   {
    8198            0 :                                     if (poly_int_tree_p (_p1))
    8199              :                                       {
    8200            0 :                                         {
    8201            0 :                                           tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _p1 };
    8202            0 :                                           tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8203            0 :                                           if (res) return res;
    8204              :                                         }
    8205              :                                       }
    8206              :                                   }
    8207              :                                 break;
    8208              :                               }
    8209              :                             default:;
    8210              :                             }
    8211              :                           break;
    8212              :                         }
    8213              :                       default:;
    8214              :                       }
    8215              :                     break;
    8216              :                   }
    8217          112 :                 case EXACT_DIV_EXPR:
    8218          112 :                   {
    8219          112 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8220          112 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8221          112 :                     switch (TREE_CODE (_q41))
    8222              :                       {
    8223          112 :                       case INTEGER_CST:
    8224          112 :                         {
    8225          112 :                           if (poly_int_tree_p (_q31))
    8226              :                             {
    8227          112 :                               if (poly_int_tree_p (_p1))
    8228              :                                 {
    8229          112 :                                   {
    8230          112 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _p1 };
    8231          112 :                                     tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8232          112 :                                     if (res) return res;
    8233              :                                   }
    8234              :                                 }
    8235              :                             }
    8236              :                           break;
    8237              :                         }
    8238              :                       default:;
    8239              :                       }
    8240              :                     break;
    8241              :                   }
    8242              :                 default:;
    8243              :                 }
    8244              :               break;
    8245              :             }
    8246       101104 :           case MINUS_EXPR:
    8247       101104 :             {
    8248       101104 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8249       101104 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8250       101104 :               switch (TREE_CODE (_q30))
    8251              :                 {
    8252        25510 :                 CASE_CONVERT:
    8253        25510 :                   {
    8254        25510 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8255        25510 :                     switch (TREE_CODE (_q40))
    8256              :                       {
    8257            0 :                       case EXACT_DIV_EXPR:
    8258            0 :                         {
    8259            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    8260            0 :                           tree _q51 = TREE_OPERAND (_q40, 1);
    8261            0 :                           switch (TREE_CODE (_q51))
    8262              :                             {
    8263            0 :                             case INTEGER_CST:
    8264            0 :                               {
    8265            0 :                                 if (poly_int_tree_p (_q31))
    8266              :                                   {
    8267            0 :                                     if (poly_int_tree_p (_p1))
    8268              :                                       {
    8269            0 :                                         {
    8270            0 :                                           tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _p1 };
    8271            0 :                                           tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    8272            0 :                                           if (res) return res;
    8273              :                                         }
    8274              :                                       }
    8275              :                                   }
    8276              :                                 break;
    8277              :                               }
    8278              :                             default:;
    8279              :                             }
    8280              :                           break;
    8281              :                         }
    8282              :                       default:;
    8283              :                       }
    8284              :                     break;
    8285              :                   }
    8286            0 :                 case EXACT_DIV_EXPR:
    8287            0 :                   {
    8288            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8289            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8290            0 :                     switch (TREE_CODE (_q41))
    8291              :                       {
    8292            0 :                       case INTEGER_CST:
    8293            0 :                         {
    8294            0 :                           if (poly_int_tree_p (_q31))
    8295              :                             {
    8296            0 :                               if (poly_int_tree_p (_p1))
    8297              :                                 {
    8298            0 :                                   {
    8299            0 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _p1 };
    8300            0 :                                     tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    8301            0 :                                     if (res) return res;
    8302              :                                   }
    8303              :                                 }
    8304              :                             }
    8305              :                           break;
    8306              :                         }
    8307              :                       default:;
    8308              :                       }
    8309              :                     break;
    8310              :                   }
    8311              :                 default:;
    8312              :                 }
    8313              :               break;
    8314              :             }
    8315              :           default:;
    8316              :           }
    8317              :         break;
    8318              :       }
    8319        59392 :     case BIT_AND_EXPR:
    8320        59392 :       {
    8321        59392 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8322        59392 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8323        59392 :         switch (TREE_CODE (_q20))
    8324              :           {
    8325          275 :           case RSHIFT_EXPR:
    8326          275 :             {
    8327          275 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8328          275 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8329          275 :               switch (TREE_CODE (_q31))
    8330              :                 {
    8331           14 :                 case INTEGER_CST:
    8332           14 :                   {
    8333           14 :                     switch (TREE_CODE (_q21))
    8334              :                       {
    8335           14 :                       case INTEGER_CST:
    8336           14 :                         {
    8337           14 :                           switch (TREE_CODE (_p1))
    8338              :                             {
    8339           14 :                             case INTEGER_CST:
    8340           14 :                               {
    8341           14 :                                 {
    8342           14 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
    8343           14 :                                   tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    8344           14 :                                   if (res) return res;
    8345              :                                 }
    8346            8 :                                 break;
    8347              :                               }
    8348              :                             default:;
    8349              :                             }
    8350              :                           break;
    8351              :                         }
    8352              :                       default:;
    8353              :                       }
    8354              :                     break;
    8355              :                   }
    8356              :                 default:;
    8357              :                 }
    8358              :               break;
    8359              :             }
    8360              :           default:;
    8361              :           }
    8362              :         break;
    8363              :       }
    8364       180712 :     case EXACT_DIV_EXPR:
    8365       180712 :       {
    8366       180712 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8367       180712 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8368       180712 :         switch (TREE_CODE (_p1))
    8369              :           {
    8370          104 :           CASE_CONVERT:
    8371          104 :             {
    8372          104 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8373          104 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
    8374              :                 {
    8375            0 :                   {
    8376            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
    8377            0 :                     tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    8378            0 :                     if (res) return res;
    8379              :                   }
    8380              :                 }
    8381              :               break;
    8382              :             }
    8383       180712 :           default:;
    8384              :           }
    8385       180712 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
    8386              :           {
    8387        19899 :             {
    8388        19899 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
    8389        19899 :               tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    8390        19899 :               if (res) return res;
    8391              :             }
    8392              :           }
    8393       160813 :         switch (TREE_CODE (_q21))
    8394              :           {
    8395       160813 :           case INTEGER_CST:
    8396       160813 :             {
    8397       160813 :               if (poly_int_tree_p (_p1))
    8398              :                 {
    8399       160709 :                   {
    8400       160709 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8401       160709 :                     tree res = generic_simplify_193 (loc, type, _p0, _p1, captures);
    8402       160709 :                     if (res) return res;
    8403              :                   }
    8404              :                 }
    8405              :               break;
    8406              :             }
    8407              :           default:;
    8408              :           }
    8409              :         break;
    8410              :       }
    8411      7204687 :     case PLUS_EXPR:
    8412      7204687 :       {
    8413      7204687 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8414      7204687 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8415      7204687 :         switch (TREE_CODE (_q20))
    8416              :           {
    8417      3376530 :           CASE_CONVERT:
    8418      3376530 :             {
    8419      3376530 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8420      3376530 :               switch (TREE_CODE (_q30))
    8421              :                 {
    8422         5044 :                 case EXACT_DIV_EXPR:
    8423         5044 :                   {
    8424         5044 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8425         5044 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8426         5044 :                     switch (TREE_CODE (_q41))
    8427              :                       {
    8428         5044 :                       case INTEGER_CST:
    8429         5044 :                         {
    8430         5044 :                           if (poly_int_tree_p (_q21))
    8431              :                             {
    8432         5044 :                               if (poly_int_tree_p (_p1))
    8433              :                                 {
    8434         5044 :                                   {
    8435         5044 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q21, _p1 };
    8436         5044 :                                     tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8437         5044 :                                     if (res) return res;
    8438              :                                   }
    8439              :                                 }
    8440              :                             }
    8441              :                           break;
    8442              :                         }
    8443              :                       default:;
    8444              :                       }
    8445              :                     break;
    8446              :                   }
    8447              :                 default:;
    8448              :                 }
    8449              :               break;
    8450              :             }
    8451            0 :           case EXACT_DIV_EXPR:
    8452            0 :             {
    8453            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8454            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8455            0 :               switch (TREE_CODE (_q31))
    8456              :                 {
    8457            0 :                 case INTEGER_CST:
    8458            0 :                   {
    8459            0 :                     if (poly_int_tree_p (_q21))
    8460              :                       {
    8461            0 :                         if (poly_int_tree_p (_p1))
    8462              :                           {
    8463            0 :                             {
    8464            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
    8465            0 :                               tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8466            0 :                               if (res) return res;
    8467              :                             }
    8468              :                           }
    8469              :                       }
    8470              :                     break;
    8471              :                   }
    8472              :                 default:;
    8473              :                 }
    8474              :               break;
    8475              :             }
    8476              :           default:;
    8477              :           }
    8478              :         break;
    8479              :       }
    8480      1119400 :     case MINUS_EXPR:
    8481      1119400 :       {
    8482      1119400 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8483      1119400 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8484      1119400 :         switch (TREE_CODE (_q20))
    8485              :           {
    8486       261354 :           CASE_CONVERT:
    8487       261354 :             {
    8488       261354 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8489       261354 :               switch (TREE_CODE (_q30))
    8490              :                 {
    8491            0 :                 case EXACT_DIV_EXPR:
    8492            0 :                   {
    8493            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8494            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8495            0 :                     switch (TREE_CODE (_q41))
    8496              :                       {
    8497            0 :                       case INTEGER_CST:
    8498            0 :                         {
    8499            0 :                           if (poly_int_tree_p (_q21))
    8500              :                             {
    8501            0 :                               if (poly_int_tree_p (_p1))
    8502              :                                 {
    8503            0 :                                   {
    8504            0 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q21, _p1 };
    8505            0 :                                     tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    8506            0 :                                     if (res) return res;
    8507              :                                   }
    8508              :                                 }
    8509              :                             }
    8510              :                           break;
    8511              :                         }
    8512              :                       default:;
    8513              :                       }
    8514              :                     break;
    8515              :                   }
    8516              :                 default:;
    8517              :                 }
    8518              :               break;
    8519              :             }
    8520            0 :           case EXACT_DIV_EXPR:
    8521            0 :             {
    8522            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8523            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8524            0 :               switch (TREE_CODE (_q31))
    8525              :                 {
    8526            0 :                 case INTEGER_CST:
    8527            0 :                   {
    8528            0 :                     if (poly_int_tree_p (_q21))
    8529              :                       {
    8530            0 :                         if (poly_int_tree_p (_p1))
    8531              :                           {
    8532            0 :                             {
    8533            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
    8534            0 :                               tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    8535            0 :                               if (res) return res;
    8536              :                             }
    8537              :                           }
    8538              :                       }
    8539              :                     break;
    8540              :                   }
    8541              :                 default:;
    8542              :                 }
    8543              :               break;
    8544              :             }
    8545              :           default:;
    8546              :           }
    8547              :         break;
    8548              :       }
    8549     65720009 :     default:;
    8550              :     }
    8551     65720009 :   if (integer_minus_onep (_p1))
    8552              :     {
    8553       434648 :       {
    8554       434648 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8555       434648 :         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1427;
    8556       434648 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1427;
    8557       434648 :         {
    8558       434648 :           tree res_op0;
    8559       434648 :           res_op0 = captures[0];
    8560       434648 :           tree _r;
    8561       434648 :           _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    8562       434648 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
    8563       434648 :           return _r;
    8564              :         }
    8565              : next_after_fail1427:;
    8566              :       }
    8567              :     }
    8568     65285361 :   switch (TREE_CODE (_p0))
    8569              :     {
    8570      4647518 :     case MULT_EXPR:
    8571      4647518 :       {
    8572      4647518 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8573      4647518 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8574      4647518 :         switch (TREE_CODE (_q21))
    8575              :           {
    8576       128460 :           case INTEGER_CST:
    8577       128460 :             {
    8578       128460 :               {
    8579       128460 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8580       128460 :                 tree res = generic_simplify_195 (loc, type, _p0, _p1, captures);
    8581       128460 :                 if (res) return res;
    8582              :               }
    8583           30 :               break;
    8584              :             }
    8585              :           default:;
    8586              :           }
    8587              :         break;
    8588              :       }
    8589     65156931 :     default:;
    8590              :     }
    8591     65156931 :   switch (TREE_CODE (_p1))
    8592              :     {
    8593        23577 :     case MULT_EXPR:
    8594        23577 :       {
    8595        23577 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8596        23577 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8597        23577 :         switch (TREE_CODE (_q31))
    8598              :           {
    8599        17214 :           case INTEGER_CST:
    8600        17214 :             {
    8601        17214 :               {
    8602        17214 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
    8603        17214 :                 tree res = generic_simplify_195 (loc, type, _p0, _p1, captures);
    8604        17214 :                 if (res) return res;
    8605              :               }
    8606            0 :               break;
    8607              :             }
    8608              :           default:;
    8609              :           }
    8610              :         break;
    8611              :       }
    8612     65139717 :     default:;
    8613              :     }
    8614     65139717 :   switch (TREE_CODE (_p0))
    8615              :     {
    8616           36 :     case VEC_COND_EXPR:
    8617           36 :       {
    8618           36 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8619           36 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8620           36 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8621           36 :         switch (TREE_CODE (_p1))
    8622              :           {
    8623            0 :           case VEC_COND_EXPR:
    8624            0 :             {
    8625            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8626            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8627            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8628            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    8629              :                 {
    8630            0 :                   {
    8631            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    8632            0 :                     if (VECTOR_TYPE_P (type)
    8633            0 :  && (TREE_CODE_CLASS (MULT_EXPR) != tcc_comparison
    8634              :  || types_match (type, TREE_TYPE (captures[2]))
    8635              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8636              :  || (optimize_vectors_before_lowering_p ()
    8637              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8638              : )
    8639              :                       {
    8640            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1428;
    8641            0 :                         {
    8642            0 :                           tree res_op0;
    8643            0 :                           res_op0 = captures[1];
    8644            0 :                           tree res_op1;
    8645            0 :                           {
    8646            0 :                             tree _o1[2], _r1;
    8647            0 :                             _o1[0] = captures[2];
    8648            0 :                             _o1[1] = captures[5];
    8649            0 :                             _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8650            0 :                             if (EXPR_P (_r1))
    8651            0 :                               goto next_after_fail1428;
    8652            0 :                             res_op1 = _r1;
    8653              :                           }
    8654            0 :                           tree res_op2;
    8655            0 :                           {
    8656            0 :                             tree _o1[2], _r1;
    8657            0 :                             _o1[0] = captures[3];
    8658            0 :                             _o1[1] = captures[6];
    8659            0 :                             _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8660            0 :                             if (EXPR_P (_r1))
    8661            0 :                               goto next_after_fail1428;
    8662            0 :                             res_op2 = _r1;
    8663              :                           }
    8664            0 :                           tree _r;
    8665            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8666            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
    8667            0 :                           return _r;
    8668              :                         }
    8669            0 : next_after_fail1428:;
    8670              :                       }
    8671              :                   }
    8672              :                 }
    8673              :               break;
    8674              :             }
    8675           36 :           default:;
    8676              :           }
    8677           36 :         {
    8678           36 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    8679           36 :           if (VECTOR_TYPE_P (type)
    8680           36 :  && (TREE_CODE_CLASS (MULT_EXPR) != tcc_comparison
    8681              :  || types_match (type, TREE_TYPE (captures[2]))
    8682              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8683              :  || (optimize_vectors_before_lowering_p ()
    8684              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8685              : )
    8686              :             {
    8687           36 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1429;
    8688           36 :               {
    8689           36 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1429;
    8690            0 :                 tree res_op0;
    8691            0 :                 res_op0 = captures[1];
    8692            0 :                 tree res_op1;
    8693            0 :                 {
    8694            0 :                   tree _o1[2], _r1;
    8695            0 :                   _o1[0] = captures[2];
    8696            0 :                   _o1[1] = unshare_expr (captures[4]);
    8697            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8698            0 :                   if (EXPR_P (_r1))
    8699            0 :                     goto next_after_fail1429;
    8700            0 :                   res_op1 = _r1;
    8701              :                 }
    8702            0 :                 tree res_op2;
    8703            0 :                 {
    8704            0 :                   tree _o1[2], _r1;
    8705            0 :                   _o1[0] = captures[3];
    8706            0 :                   _o1[1] = captures[4];
    8707            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8708            0 :                   if (EXPR_P (_r1))
    8709            0 :                     goto next_after_fail1429;
    8710            0 :                   res_op2 = _r1;
    8711              :                 }
    8712            0 :                 tree _r;
    8713            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8714            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    8715            0 :                 return _r;
    8716              :               }
    8717           36 : next_after_fail1429:;
    8718              :             }
    8719              :         }
    8720           36 :         break;
    8721              :       }
    8722     65139717 :     default:;
    8723              :     }
    8724     65139717 :   switch (TREE_CODE (_p1))
    8725              :     {
    8726            0 :     case VEC_COND_EXPR:
    8727            0 :       {
    8728            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8729            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8730            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8731            0 :         {
    8732            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8733            0 :           if (VECTOR_TYPE_P (type)
    8734            0 :  && (TREE_CODE_CLASS (MULT_EXPR) != tcc_comparison
    8735              :  || types_match (type, TREE_TYPE (captures[3]))
    8736              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    8737              :  || (optimize_vectors_before_lowering_p ()
    8738              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    8739              : )
    8740              :             {
    8741            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1430;
    8742            0 :               {
    8743            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1430;
    8744            0 :                 tree res_op0;
    8745            0 :                 res_op0 = captures[2];
    8746            0 :                 tree res_op1;
    8747            0 :                 {
    8748            0 :                   tree _o1[2], _r1;
    8749            0 :                   _o1[0] = unshare_expr (captures[0]);
    8750            0 :                   _o1[1] = captures[3];
    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_fail1430;
    8754            0 :                   res_op1 = _r1;
    8755              :                 }
    8756            0 :                 tree res_op2;
    8757            0 :                 {
    8758            0 :                   tree _o1[2], _r1;
    8759            0 :                   _o1[0] = captures[0];
    8760            0 :                   _o1[1] = captures[4];
    8761            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8762            0 :                   if (EXPR_P (_r1))
    8763            0 :                     goto next_after_fail1430;
    8764            0 :                   res_op2 = _r1;
    8765              :                 }
    8766            0 :                 tree _r;
    8767            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8768            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    8769            0 :                 return _r;
    8770              :               }
    8771            0 : next_after_fail1430:;
    8772              :             }
    8773              :         }
    8774            0 :         break;
    8775              :       }
    8776     65139717 :     default:;
    8777              :     }
    8778     65139717 :   switch (TREE_CODE (_p0))
    8779              :     {
    8780         2384 :     case REAL_CST:
    8781         2384 :       {
    8782         2384 :         switch (TREE_CODE (_p1))
    8783              :           {
    8784            0 :           case CALL_EXPR:
    8785            0 :             switch (get_call_combined_fn (_p1))
    8786              :               {
    8787            0 :               case CFN_BUILT_IN_LDEXPF:
    8788            0 :                 if (call_expr_nargs (_p1) == 2)
    8789              :     {
    8790            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    8791            0 :                     tree _q31 = CALL_EXPR_ARG (_p1, 1);
    8792            0 :                     {
    8793            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    8794            0 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPF);
    8795            0 :                       if (res) return res;
    8796              :                     }
    8797              :                   }
    8798              :                 break;
    8799            0 :               case CFN_BUILT_IN_LDEXPL:
    8800            0 :                 if (call_expr_nargs (_p1) == 2)
    8801              :     {
    8802            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    8803            0 :                     tree _q31 = CALL_EXPR_ARG (_p1, 1);
    8804            0 :                     {
    8805            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    8806            0 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPL);
    8807            0 :                       if (res) return res;
    8808              :                     }
    8809              :                   }
    8810              :                 break;
    8811            0 :               case CFN_LDEXP:
    8812            0 :                 if (call_expr_nargs (_p1) == 2)
    8813              :     {
    8814            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    8815            0 :                     tree _q31 = CALL_EXPR_ARG (_p1, 1);
    8816            0 :                     {
    8817            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    8818            0 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_LDEXP);
    8819            0 :                       if (res) return res;
    8820              :                     }
    8821              :                   }
    8822              :                 break;
    8823            0 :               case CFN_BUILT_IN_LDEXP:
    8824            0 :                 if (call_expr_nargs (_p1) == 2)
    8825              :     {
    8826            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    8827            0 :                     tree _q31 = CALL_EXPR_ARG (_p1, 1);
    8828            0 :                     {
    8829            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    8830            0 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXP);
    8831            0 :                       if (res) return res;
    8832              :                     }
    8833              :                   }
    8834              :                 break;
    8835              :               default:;
    8836              :               }
    8837              :             break;
    8838              :           default:;
    8839              :           }
    8840              :         break;
    8841              :       }
    8842      2427349 :     case CALL_EXPR:
    8843      2427349 :       switch (get_call_combined_fn (_p0))
    8844              :         {
    8845           55 :         case CFN_BUILT_IN_SQRTF:
    8846           55 :           if (call_expr_nargs (_p0) == 1)
    8847              :     {
    8848           55 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8849           55 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8850              :                 {
    8851            0 :                   {
    8852            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    8853            0 :                     tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF);
    8854            0 :                     if (res) return res;
    8855              :                   }
    8856              :                 }
    8857           55 :               switch (TREE_CODE (_p1))
    8858              :                 {
    8859           13 :                 case CALL_EXPR:
    8860           13 :                   switch (get_call_combined_fn (_p1))
    8861              :                     {
    8862           13 :                     case CFN_BUILT_IN_SQRTF:
    8863           13 :                       if (call_expr_nargs (_p1) == 1)
    8864              :     {
    8865           13 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8866           13 :                           {
    8867           13 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8868           13 :                             if (flag_unsafe_math_optimizations
    8869              : )
    8870              :                               {
    8871           13 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1431;
    8872           13 :                                 {
    8873           13 :                                   tree res_op0;
    8874           13 :                                   {
    8875           13 :                                     tree _o1[2], _r1;
    8876           13 :                                     _o1[0] = captures[1];
    8877           13 :                                     _o1[1] = captures[3];
    8878           13 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8879           13 :                                     res_op0 = _r1;
    8880              :                                   }
    8881           13 :                                   tree _r;
    8882           13 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTF, type, 1, res_op0);
    8883           13 :                                   if (!_r)
    8884            0 :                                     goto next_after_fail1431;
    8885           13 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 976, __FILE__, __LINE__, true);
    8886           13 :                                   return _r;
    8887              :                                 }
    8888            0 : next_after_fail1431:;
    8889              :                               }
    8890              :                           }
    8891              :                         }
    8892              :                       break;
    8893              :                     default:;
    8894              :                     }
    8895              :                   break;
    8896              :                 default:;
    8897              :                 }
    8898              :             }
    8899              :           break;
    8900           48 :         case CFN_BUILT_IN_SQRTL:
    8901           48 :           if (call_expr_nargs (_p0) == 1)
    8902              :     {
    8903           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8904           48 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8905              :                 {
    8906            0 :                   {
    8907            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    8908            0 :                     tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL);
    8909            0 :                     if (res) return res;
    8910              :                   }
    8911              :                 }
    8912           48 :               switch (TREE_CODE (_p1))
    8913              :                 {
    8914           13 :                 case CALL_EXPR:
    8915           13 :                   switch (get_call_combined_fn (_p1))
    8916              :                     {
    8917           13 :                     case CFN_BUILT_IN_SQRTL:
    8918           13 :                       if (call_expr_nargs (_p1) == 1)
    8919              :     {
    8920           13 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8921           13 :                           {
    8922           13 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8923           13 :                             if (flag_unsafe_math_optimizations
    8924              : )
    8925              :                               {
    8926           13 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1432;
    8927           13 :                                 {
    8928           13 :                                   tree res_op0;
    8929           13 :                                   {
    8930           13 :                                     tree _o1[2], _r1;
    8931           13 :                                     _o1[0] = captures[1];
    8932           13 :                                     _o1[1] = captures[3];
    8933           13 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8934           13 :                                     res_op0 = _r1;
    8935              :                                   }
    8936           13 :                                   tree _r;
    8937           13 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTL, type, 1, res_op0);
    8938           13 :                                   if (!_r)
    8939            0 :                                     goto next_after_fail1432;
    8940           13 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 976, __FILE__, __LINE__, true);
    8941           13 :                                   return _r;
    8942              :                                 }
    8943            0 : next_after_fail1432:;
    8944              :                               }
    8945              :                           }
    8946              :                         }
    8947              :                       break;
    8948              :                     default:;
    8949              :                     }
    8950              :                   break;
    8951              :                 default:;
    8952              :                 }
    8953              :             }
    8954              :           break;
    8955          287 :         case CFN_BUILT_IN_EXP:
    8956          287 :           if (call_expr_nargs (_p0) == 1)
    8957              :     {
    8958          287 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8959          287 :               switch (TREE_CODE (_p1))
    8960              :                 {
    8961           81 :                 case CALL_EXPR:
    8962           81 :                   switch (get_call_combined_fn (_p1))
    8963              :                     {
    8964           31 :                     case CFN_BUILT_IN_EXP:
    8965           31 :                       if (call_expr_nargs (_p1) == 1)
    8966              :     {
    8967           31 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8968           31 :                           {
    8969           31 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8970           31 :                             if (flag_unsafe_math_optimizations
    8971              : )
    8972              :                               {
    8973           27 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1433;
    8974           27 :                                 {
    8975           27 :                                   tree res_op0;
    8976           27 :                                   {
    8977           27 :                                     tree _o1[2], _r1;
    8978           27 :                                     _o1[0] = captures[1];
    8979           27 :                                     _o1[1] = captures[3];
    8980           27 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8981           27 :                                     res_op0 = _r1;
    8982              :                                   }
    8983           27 :                                   tree _r;
    8984           27 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, type, 1, res_op0);
    8985           27 :                                   if (!_r)
    8986            0 :                                     goto next_after_fail1433;
    8987           27 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
    8988           27 :                                   return _r;
    8989              :                                 }
    8990            4 : next_after_fail1433:;
    8991              :                               }
    8992              :                           }
    8993              :                         }
    8994              :                       break;
    8995            0 :                     case CFN_BUILT_IN_POW:
    8996            0 :                       if (call_expr_nargs (_p1) == 2)
    8997              :     {
    8998            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8999            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9000            0 :                           switch (TREE_CODE (_q40))
    9001              :                             {
    9002            0 :                             case REAL_CST:
    9003            0 :                               {
    9004            0 :                                 {
    9005            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9006            0 :                                   if (flag_unsafe_math_optimizations
    9007              : )
    9008              :                                     {
    9009            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9010            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9011              : )
    9012              :                                         {
    9013            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1434;
    9014            0 :                                           {
    9015            0 :                                             tree res_op0;
    9016            0 :                                             {
    9017            0 :                                               tree _o1[2], _r1;
    9018            0 :                                               {
    9019            0 :                                                 tree _o2[2], _r2;
    9020            0 :                                                 {
    9021            0 :                                                   tree _o3[1], _r3;
    9022            0 :                                                   _o3[0] = captures[1];
    9023            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9024            0 :                                                   if (!_r3)
    9025            0 :                                                     goto next_after_fail1434;
    9026            0 :                                                   _o2[0] = _r3;
    9027              :                                                 }
    9028            0 :                                                 _o2[1] = captures[2];
    9029            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9030            0 :                                                 _o1[0] = _r2;
    9031              :                                               }
    9032            0 :                                               _o1[1] = captures[4];
    9033            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9034            0 :                                               res_op0 = _r1;
    9035              :                                             }
    9036            0 :                                             tree _r;
    9037            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, type, 1, res_op0);
    9038            0 :                                             if (!_r)
    9039            0 :                                               goto next_after_fail1434;
    9040            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    9041            0 :                                             return _r;
    9042              :                                           }
    9043            0 : next_after_fail1434:;
    9044              :                                         }
    9045              :                                     }
    9046              :                                 }
    9047            0 :                                 break;
    9048              :                               }
    9049              :                             default:;
    9050              :                             }
    9051              :                         }
    9052              :                       break;
    9053              :                     default:;
    9054              :                     }
    9055              :                   break;
    9056              :                 default:;
    9057              :                 }
    9058              :             }
    9059              :           break;
    9060          123 :         case CFN_BUILT_IN_POW:
    9061          123 :           if (call_expr_nargs (_p0) == 2)
    9062              :     {
    9063          123 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9064          123 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    9065          123 :               switch (TREE_CODE (_q20))
    9066              :                 {
    9067            1 :                 case REAL_CST:
    9068            1 :                   {
    9069            1 :                     switch (TREE_CODE (_p1))
    9070              :                       {
    9071            1 :                       case CALL_EXPR:
    9072            1 :                         switch (get_call_combined_fn (_p1))
    9073              :                           {
    9074            0 :                           case CFN_BUILT_IN_EXP:
    9075            0 :                             if (call_expr_nargs (_p1) == 1)
    9076              :     {
    9077            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9078            0 :                                 {
    9079            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9080            0 :                                   if (flag_unsafe_math_optimizations
    9081              : )
    9082              :                                     {
    9083            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9084            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9085              : )
    9086              :                                         {
    9087            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1435;
    9088            0 :                                           {
    9089            0 :                                             tree res_op0;
    9090            0 :                                             {
    9091            0 :                                               tree _o1[2], _r1;
    9092            0 :                                               {
    9093            0 :                                                 tree _o2[2], _r2;
    9094            0 :                                                 {
    9095            0 :                                                   tree _o3[1], _r3;
    9096            0 :                                                   _o3[0] = captures[1];
    9097            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9098            0 :                                                   if (!_r3)
    9099            0 :                                                     goto next_after_fail1435;
    9100            0 :                                                   _o2[0] = _r3;
    9101              :                                                 }
    9102            0 :                                                 _o2[1] = captures[2];
    9103            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9104            0 :                                                 _o1[0] = _r2;
    9105              :                                               }
    9106            0 :                                               _o1[1] = captures[4];
    9107            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9108            0 :                                               res_op0 = _r1;
    9109              :                                             }
    9110            0 :                                             tree _r;
    9111            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, type, 1, res_op0);
    9112            0 :                                             if (!_r)
    9113            0 :                                               goto next_after_fail1435;
    9114            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    9115            0 :                                             return _r;
    9116              :                                           }
    9117            0 : next_after_fail1435:;
    9118              :                                         }
    9119              :                                     }
    9120              :                                 }
    9121              :                               }
    9122              :                             break;
    9123            0 :                           case CFN_BUILT_IN_EXP2:
    9124            0 :                             if (call_expr_nargs (_p1) == 1)
    9125              :     {
    9126            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9127            0 :                                 {
    9128            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9129            0 :                                   if (flag_unsafe_math_optimizations
    9130              : )
    9131              :                                     {
    9132            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9133            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9134              : )
    9135              :                                         {
    9136            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1436;
    9137            0 :                                           {
    9138            0 :                                             tree res_op0;
    9139            0 :                                             {
    9140            0 :                                               tree _o1[2], _r1;
    9141            0 :                                               {
    9142            0 :                                                 tree _o2[2], _r2;
    9143            0 :                                                 {
    9144            0 :                                                   tree _o3[1], _r3;
    9145            0 :                                                   _o3[0] = captures[1];
    9146            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9147            0 :                                                   if (!_r3)
    9148            0 :                                                     goto next_after_fail1436;
    9149            0 :                                                   _o2[0] = _r3;
    9150              :                                                 }
    9151            0 :                                                 _o2[1] = captures[2];
    9152            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9153            0 :                                                 _o1[0] = _r2;
    9154              :                                               }
    9155            0 :                                               _o1[1] = captures[4];
    9156            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9157            0 :                                               res_op0 = _r1;
    9158              :                                             }
    9159            0 :                                             tree _r;
    9160            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, type, 1, res_op0);
    9161            0 :                                             if (!_r)
    9162            0 :                                               goto next_after_fail1436;
    9163            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    9164            0 :                                             return _r;
    9165              :                                           }
    9166            0 : next_after_fail1436:;
    9167              :                                         }
    9168              :                                     }
    9169              :                                 }
    9170              :                               }
    9171              :                             break;
    9172            0 :                           case CFN_BUILT_IN_EXP10:
    9173            0 :                             if (call_expr_nargs (_p1) == 1)
    9174              :     {
    9175            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9176            0 :                                 {
    9177            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9178            0 :                                   if (flag_unsafe_math_optimizations
    9179              : )
    9180              :                                     {
    9181            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9182            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9183              : )
    9184              :                                         {
    9185            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1437;
    9186            0 :                                           {
    9187            0 :                                             tree res_op0;
    9188            0 :                                             {
    9189            0 :                                               tree _o1[2], _r1;
    9190            0 :                                               {
    9191            0 :                                                 tree _o2[2], _r2;
    9192            0 :                                                 {
    9193            0 :                                                   tree _o3[1], _r3;
    9194            0 :                                                   _o3[0] = captures[1];
    9195            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9196            0 :                                                   if (!_r3)
    9197            0 :                                                     goto next_after_fail1437;
    9198            0 :                                                   _o2[0] = _r3;
    9199              :                                                 }
    9200            0 :                                                 _o2[1] = captures[2];
    9201            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9202            0 :                                                 _o1[0] = _r2;
    9203              :                                               }
    9204            0 :                                               _o1[1] = captures[4];
    9205            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9206            0 :                                               res_op0 = _r1;
    9207              :                                             }
    9208            0 :                                             tree _r;
    9209            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, type, 1, res_op0);
    9210            0 :                                             if (!_r)
    9211            0 :                                               goto next_after_fail1437;
    9212            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    9213            0 :                                             return _r;
    9214              :                                           }
    9215            0 : next_after_fail1437:;
    9216              :                                         }
    9217              :                                     }
    9218              :                                 }
    9219              :                               }
    9220              :                             break;
    9221            0 :                           case CFN_BUILT_IN_POW10:
    9222            0 :                             if (call_expr_nargs (_p1) == 1)
    9223              :     {
    9224            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9225            0 :                                 {
    9226            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9227            0 :                                   if (flag_unsafe_math_optimizations
    9228              : )
    9229              :                                     {
    9230            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9231            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9232              : )
    9233              :                                         {
    9234            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1438;
    9235            0 :                                           {
    9236            0 :                                             tree res_op0;
    9237            0 :                                             {
    9238            0 :                                               tree _o1[2], _r1;
    9239            0 :                                               {
    9240            0 :                                                 tree _o2[2], _r2;
    9241            0 :                                                 {
    9242            0 :                                                   tree _o3[1], _r3;
    9243            0 :                                                   _o3[0] = captures[1];
    9244            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9245            0 :                                                   if (!_r3)
    9246            0 :                                                     goto next_after_fail1438;
    9247            0 :                                                   _o2[0] = _r3;
    9248              :                                                 }
    9249            0 :                                                 _o2[1] = captures[2];
    9250            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9251            0 :                                                 _o1[0] = _r2;
    9252              :                                               }
    9253            0 :                                               _o1[1] = captures[4];
    9254            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9255            0 :                                               res_op0 = _r1;
    9256              :                                             }
    9257            0 :                                             tree _r;
    9258            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, type, 1, res_op0);
    9259            0 :                                             if (!_r)
    9260            0 :                                               goto next_after_fail1438;
    9261            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    9262            0 :                                             return _r;
    9263              :                                           }
    9264            0 : next_after_fail1438:;
    9265              :                                         }
    9266              :                                     }
    9267              :                                 }
    9268              :                               }
    9269              :                             break;
    9270              :                           default:;
    9271              :                           }
    9272              :                         break;
    9273              :                       default:;
    9274              :                       }
    9275              :                     break;
    9276              :                   }
    9277          123 :                 default:;
    9278              :                 }
    9279          123 :               switch (TREE_CODE (_q21))
    9280              :                 {
    9281           12 :                 case REAL_CST:
    9282           12 :                   {
    9283           12 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9284              :                       {
    9285            8 :                         {
    9286            8 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    9287            8 :                           tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
    9288            8 :                           if (res) return res;
    9289              :                         }
    9290              :                       }
    9291              :                     break;
    9292              :                   }
    9293              :                 default:;
    9294              :                 }
    9295              :             }
    9296              :           break;
    9297           48 :         case CFN_BUILT_IN_EXP10F:
    9298           48 :           if (call_expr_nargs (_p0) == 1)
    9299              :     {
    9300           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9301           48 :               switch (TREE_CODE (_p1))
    9302              :                 {
    9303           24 :                 case CALL_EXPR:
    9304           24 :                   switch (get_call_combined_fn (_p1))
    9305              :                     {
    9306           24 :                     case CFN_BUILT_IN_EXP10F:
    9307           24 :                       if (call_expr_nargs (_p1) == 1)
    9308              :     {
    9309           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9310           24 :                           {
    9311           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9312           24 :                             if (flag_unsafe_math_optimizations
    9313              : )
    9314              :                               {
    9315           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1439;
    9316           24 :                                 {
    9317           24 :                                   tree res_op0;
    9318           24 :                                   {
    9319           24 :                                     tree _o1[2], _r1;
    9320           24 :                                     _o1[0] = captures[1];
    9321           24 :                                     _o1[1] = captures[3];
    9322           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9323           24 :                                     res_op0 = _r1;
    9324              :                                   }
    9325           24 :                                   tree _r;
    9326           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, type, 1, res_op0);
    9327           24 :                                   if (!_r)
    9328            0 :                                     goto next_after_fail1439;
    9329           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
    9330           24 :                                   return _r;
    9331              :                                 }
    9332            0 : next_after_fail1439:;
    9333              :                               }
    9334              :                           }
    9335              :                         }
    9336              :                       break;
    9337            0 :                     case CFN_BUILT_IN_POWF:
    9338            0 :                       if (call_expr_nargs (_p1) == 2)
    9339              :     {
    9340            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9341            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9342            0 :                           switch (TREE_CODE (_q40))
    9343              :                             {
    9344            0 :                             case REAL_CST:
    9345            0 :                               {
    9346            0 :                                 {
    9347            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9348            0 :                                   if (flag_unsafe_math_optimizations
    9349              : )
    9350              :                                     {
    9351            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9352            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9353              : )
    9354              :                                         {
    9355            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1440;
    9356            0 :                                           {
    9357            0 :                                             tree res_op0;
    9358            0 :                                             {
    9359            0 :                                               tree _o1[2], _r1;
    9360            0 :                                               {
    9361            0 :                                                 tree _o2[2], _r2;
    9362            0 :                                                 {
    9363            0 :                                                   tree _o3[1], _r3;
    9364            0 :                                                   _o3[0] = captures[1];
    9365            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9366            0 :                                                   if (!_r3)
    9367            0 :                                                     goto next_after_fail1440;
    9368            0 :                                                   _o2[0] = _r3;
    9369              :                                                 }
    9370            0 :                                                 _o2[1] = captures[2];
    9371            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9372            0 :                                                 _o1[0] = _r2;
    9373              :                                               }
    9374            0 :                                               _o1[1] = captures[4];
    9375            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9376            0 :                                               res_op0 = _r1;
    9377              :                                             }
    9378            0 :                                             tree _r;
    9379            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, type, 1, res_op0);
    9380            0 :                                             if (!_r)
    9381            0 :                                               goto next_after_fail1440;
    9382            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    9383            0 :                                             return _r;
    9384              :                                           }
    9385            0 : next_after_fail1440:;
    9386              :                                         }
    9387              :                                     }
    9388              :                                 }
    9389            0 :                                 break;
    9390              :                               }
    9391              :                             default:;
    9392              :                             }
    9393              :                         }
    9394              :                       break;
    9395              :                     default:;
    9396              :                     }
    9397              :                   break;
    9398              :                 default:;
    9399              :                 }
    9400              :             }
    9401              :           break;
    9402           48 :         case CFN_BUILT_IN_EXP10L:
    9403           48 :           if (call_expr_nargs (_p0) == 1)
    9404              :     {
    9405           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9406           48 :               switch (TREE_CODE (_p1))
    9407              :                 {
    9408           24 :                 case CALL_EXPR:
    9409           24 :                   switch (get_call_combined_fn (_p1))
    9410              :                     {
    9411           24 :                     case CFN_BUILT_IN_EXP10L:
    9412           24 :                       if (call_expr_nargs (_p1) == 1)
    9413              :     {
    9414           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9415           24 :                           {
    9416           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9417           24 :                             if (flag_unsafe_math_optimizations
    9418              : )
    9419              :                               {
    9420           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1441;
    9421           24 :                                 {
    9422           24 :                                   tree res_op0;
    9423           24 :                                   {
    9424           24 :                                     tree _o1[2], _r1;
    9425           24 :                                     _o1[0] = captures[1];
    9426           24 :                                     _o1[1] = captures[3];
    9427           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9428           24 :                                     res_op0 = _r1;
    9429              :                                   }
    9430           24 :                                   tree _r;
    9431           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, type, 1, res_op0);
    9432           24 :                                   if (!_r)
    9433            0 :                                     goto next_after_fail1441;
    9434           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
    9435           24 :                                   return _r;
    9436              :                                 }
    9437            0 : next_after_fail1441:;
    9438              :                               }
    9439              :                           }
    9440              :                         }
    9441              :                       break;
    9442            0 :                     case CFN_BUILT_IN_POWL:
    9443            0 :                       if (call_expr_nargs (_p1) == 2)
    9444              :     {
    9445            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9446            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9447            0 :                           switch (TREE_CODE (_q40))
    9448              :                             {
    9449            0 :                             case REAL_CST:
    9450            0 :                               {
    9451            0 :                                 {
    9452            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9453            0 :                                   if (flag_unsafe_math_optimizations
    9454              : )
    9455              :                                     {
    9456            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9457            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9458              : )
    9459              :                                         {
    9460            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1442;
    9461            0 :                                           {
    9462            0 :                                             tree res_op0;
    9463            0 :                                             {
    9464            0 :                                               tree _o1[2], _r1;
    9465            0 :                                               {
    9466            0 :                                                 tree _o2[2], _r2;
    9467            0 :                                                 {
    9468            0 :                                                   tree _o3[1], _r3;
    9469            0 :                                                   _o3[0] = captures[1];
    9470            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9471            0 :                                                   if (!_r3)
    9472            0 :                                                     goto next_after_fail1442;
    9473            0 :                                                   _o2[0] = _r3;
    9474              :                                                 }
    9475            0 :                                                 _o2[1] = captures[2];
    9476            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9477            0 :                                                 _o1[0] = _r2;
    9478              :                                               }
    9479            0 :                                               _o1[1] = captures[4];
    9480            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9481            0 :                                               res_op0 = _r1;
    9482              :                                             }
    9483            0 :                                             tree _r;
    9484            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, type, 1, res_op0);
    9485            0 :                                             if (!_r)
    9486            0 :                                               goto next_after_fail1442;
    9487            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    9488            0 :                                             return _r;
    9489              :                                           }
    9490            0 : next_after_fail1442:;
    9491              :                                         }
    9492              :                                     }
    9493              :                                 }
    9494            0 :                                 break;
    9495              :                               }
    9496              :                             default:;
    9497              :                             }
    9498              :                         }
    9499              :                       break;
    9500              :                     default:;
    9501              :                     }
    9502              :                   break;
    9503              :                 default:;
    9504              :                 }
    9505              :             }
    9506              :           break;
    9507           18 :         case CFN_BUILT_IN_CBRT:
    9508           18 :           if (call_expr_nargs (_p0) == 1)
    9509              :     {
    9510           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9511           18 :               switch (TREE_CODE (_p1))
    9512              :                 {
    9513           14 :                 case CALL_EXPR:
    9514           14 :                   switch (get_call_combined_fn (_p1))
    9515              :                     {
    9516           14 :                     case CFN_BUILT_IN_CBRT:
    9517           14 :                       if (call_expr_nargs (_p1) == 1)
    9518              :     {
    9519           14 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9520           14 :                           {
    9521           14 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9522           14 :                             if (flag_unsafe_math_optimizations
    9523              : )
    9524              :                               {
    9525           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1443;
    9526           12 :                                 {
    9527           12 :                                   tree res_op0;
    9528           12 :                                   {
    9529           12 :                                     tree _o1[2], _r1;
    9530           12 :                                     _o1[0] = captures[1];
    9531           12 :                                     _o1[1] = captures[3];
    9532           12 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9533           12 :                                     res_op0 = _r1;
    9534              :                                   }
    9535           12 :                                   tree _r;
    9536           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRT, type, 1, res_op0);
    9537           12 :                                   if (!_r)
    9538            0 :                                     goto next_after_fail1443;
    9539           12 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 976, __FILE__, __LINE__, true);
    9540           12 :                                   return _r;
    9541              :                                 }
    9542            2 : next_after_fail1443:;
    9543              :                               }
    9544              :                           }
    9545              :                         }
    9546              :                       break;
    9547              :                     default:;
    9548              :                     }
    9549              :                   break;
    9550              :                 default:;
    9551              :                 }
    9552              :             }
    9553              :           break;
    9554           48 :         case CFN_BUILT_IN_EXP2:
    9555           48 :           if (call_expr_nargs (_p0) == 1)
    9556              :     {
    9557           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9558           48 :               switch (TREE_CODE (_p1))
    9559              :                 {
    9560           24 :                 case CALL_EXPR:
    9561           24 :                   switch (get_call_combined_fn (_p1))
    9562              :                     {
    9563            0 :                     case CFN_BUILT_IN_POW:
    9564            0 :                       if (call_expr_nargs (_p1) == 2)
    9565              :     {
    9566            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9567            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9568            0 :                           switch (TREE_CODE (_q40))
    9569              :                             {
    9570            0 :                             case REAL_CST:
    9571            0 :                               {
    9572            0 :                                 {
    9573            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9574            0 :                                   if (flag_unsafe_math_optimizations
    9575              : )
    9576              :                                     {
    9577            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9578            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9579              : )
    9580              :                                         {
    9581            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1444;
    9582            0 :                                           {
    9583            0 :                                             tree res_op0;
    9584            0 :                                             {
    9585            0 :                                               tree _o1[2], _r1;
    9586            0 :                                               {
    9587            0 :                                                 tree _o2[2], _r2;
    9588            0 :                                                 {
    9589            0 :                                                   tree _o3[1], _r3;
    9590            0 :                                                   _o3[0] = captures[1];
    9591            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9592            0 :                                                   if (!_r3)
    9593            0 :                                                     goto next_after_fail1444;
    9594            0 :                                                   _o2[0] = _r3;
    9595              :                                                 }
    9596            0 :                                                 _o2[1] = captures[2];
    9597            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9598            0 :                                                 _o1[0] = _r2;
    9599              :                                               }
    9600            0 :                                               _o1[1] = captures[4];
    9601            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9602            0 :                                               res_op0 = _r1;
    9603              :                                             }
    9604            0 :                                             tree _r;
    9605            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, type, 1, res_op0);
    9606            0 :                                             if (!_r)
    9607            0 :                                               goto next_after_fail1444;
    9608            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    9609            0 :                                             return _r;
    9610              :                                           }
    9611            0 : next_after_fail1444:;
    9612              :                                         }
    9613              :                                     }
    9614              :                                 }
    9615            0 :                                 break;
    9616              :                               }
    9617              :                             default:;
    9618              :                             }
    9619              :                         }
    9620              :                       break;
    9621           24 :                     case CFN_BUILT_IN_EXP2:
    9622           24 :                       if (call_expr_nargs (_p1) == 1)
    9623              :     {
    9624           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9625           24 :                           {
    9626           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9627           24 :                             if (flag_unsafe_math_optimizations
    9628              : )
    9629              :                               {
    9630           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1445;
    9631           24 :                                 {
    9632           24 :                                   tree res_op0;
    9633           24 :                                   {
    9634           24 :                                     tree _o1[2], _r1;
    9635           24 :                                     _o1[0] = captures[1];
    9636           24 :                                     _o1[1] = captures[3];
    9637           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9638           24 :                                     res_op0 = _r1;
    9639              :                                   }
    9640           24 :                                   tree _r;
    9641           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, type, 1, res_op0);
    9642           24 :                                   if (!_r)
    9643            0 :                                     goto next_after_fail1445;
    9644           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
    9645           24 :                                   return _r;
    9646              :                                 }
    9647            0 : next_after_fail1445:;
    9648              :                               }
    9649              :                           }
    9650              :                         }
    9651              :                       break;
    9652              :                     default:;
    9653              :                     }
    9654              :                   break;
    9655              :                 default:;
    9656              :                 }
    9657              :             }
    9658              :           break;
    9659           66 :         case CFN_BUILT_IN_EXPF:
    9660           66 :           if (call_expr_nargs (_p0) == 1)
    9661              :     {
    9662           66 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9663           66 :               switch (TREE_CODE (_p1))
    9664              :                 {
    9665           36 :                 case CALL_EXPR:
    9666           36 :                   switch (get_call_combined_fn (_p1))
    9667              :                     {
    9668           29 :                     case CFN_BUILT_IN_EXPF:
    9669           29 :                       if (call_expr_nargs (_p1) == 1)
    9670              :     {
    9671           29 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9672           29 :                           {
    9673           29 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9674           29 :                             if (flag_unsafe_math_optimizations
    9675              : )
    9676              :                               {
    9677           25 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1446;
    9678           25 :                                 {
    9679           25 :                                   tree res_op0;
    9680           25 :                                   {
    9681           25 :                                     tree _o1[2], _r1;
    9682           25 :                                     _o1[0] = captures[1];
    9683           25 :                                     _o1[1] = captures[3];
    9684           25 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9685           25 :                                     res_op0 = _r1;
    9686              :                                   }
    9687           25 :                                   tree _r;
    9688           25 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, type, 1, res_op0);
    9689           25 :                                   if (!_r)
    9690            0 :                                     goto next_after_fail1446;
    9691           25 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
    9692           25 :                                   return _r;
    9693              :                                 }
    9694            4 : next_after_fail1446:;
    9695              :                               }
    9696              :                           }
    9697              :                         }
    9698              :                       break;
    9699            0 :                     case CFN_BUILT_IN_POWF:
    9700            0 :                       if (call_expr_nargs (_p1) == 2)
    9701              :     {
    9702            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9703            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9704            0 :                           switch (TREE_CODE (_q40))
    9705              :                             {
    9706            0 :                             case REAL_CST:
    9707            0 :                               {
    9708            0 :                                 {
    9709            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9710            0 :                                   if (flag_unsafe_math_optimizations
    9711              : )
    9712              :                                     {
    9713            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9714            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9715              : )
    9716              :                                         {
    9717            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1447;
    9718            0 :                                           {
    9719            0 :                                             tree res_op0;
    9720            0 :                                             {
    9721            0 :                                               tree _o1[2], _r1;
    9722            0 :                                               {
    9723            0 :                                                 tree _o2[2], _r2;
    9724            0 :                                                 {
    9725            0 :                                                   tree _o3[1], _r3;
    9726            0 :                                                   _o3[0] = captures[1];
    9727            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOGF, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9728            0 :                                                   if (!_r3)
    9729            0 :                                                     goto next_after_fail1447;
    9730            0 :                                                   _o2[0] = _r3;
    9731              :                                                 }
    9732            0 :                                                 _o2[1] = captures[2];
    9733            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9734            0 :                                                 _o1[0] = _r2;
    9735              :                                               }
    9736            0 :                                               _o1[1] = captures[4];
    9737            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9738            0 :                                               res_op0 = _r1;
    9739              :                                             }
    9740            0 :                                             tree _r;
    9741            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, type, 1, res_op0);
    9742            0 :                                             if (!_r)
    9743            0 :                                               goto next_after_fail1447;
    9744            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    9745            0 :                                             return _r;
    9746              :                                           }
    9747            0 : next_after_fail1447:;
    9748              :                                         }
    9749              :                                     }
    9750              :                                 }
    9751            0 :                                 break;
    9752              :                               }
    9753              :                             default:;
    9754              :                             }
    9755              :                         }
    9756              :                       break;
    9757              :                     default:;
    9758              :                     }
    9759              :                   break;
    9760              :                 default:;
    9761              :                 }
    9762              :             }
    9763              :           break;
    9764           59 :         case CFN_BUILT_IN_EXPL:
    9765           59 :           if (call_expr_nargs (_p0) == 1)
    9766              :     {
    9767           59 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9768           59 :               switch (TREE_CODE (_p1))
    9769              :                 {
    9770           29 :                 case CALL_EXPR:
    9771           29 :                   switch (get_call_combined_fn (_p1))
    9772              :                     {
    9773           29 :                     case CFN_BUILT_IN_EXPL:
    9774           29 :                       if (call_expr_nargs (_p1) == 1)
    9775              :     {
    9776           29 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9777           29 :                           {
    9778           29 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9779           29 :                             if (flag_unsafe_math_optimizations
    9780              : )
    9781              :                               {
    9782           25 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1448;
    9783           25 :                                 {
    9784           25 :                                   tree res_op0;
    9785           25 :                                   {
    9786           25 :                                     tree _o1[2], _r1;
    9787           25 :                                     _o1[0] = captures[1];
    9788           25 :                                     _o1[1] = captures[3];
    9789           25 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9790           25 :                                     res_op0 = _r1;
    9791              :                                   }
    9792           25 :                                   tree _r;
    9793           25 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, type, 1, res_op0);
    9794           25 :                                   if (!_r)
    9795            0 :                                     goto next_after_fail1448;
    9796           25 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
    9797           25 :                                   return _r;
    9798              :                                 }
    9799            4 : next_after_fail1448:;
    9800              :                               }
    9801              :                           }
    9802              :                         }
    9803              :                       break;
    9804            0 :                     case CFN_BUILT_IN_POWL:
    9805            0 :                       if (call_expr_nargs (_p1) == 2)
    9806              :     {
    9807            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9808            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9809            0 :                           switch (TREE_CODE (_q40))
    9810              :                             {
    9811            0 :                             case REAL_CST:
    9812            0 :                               {
    9813            0 :                                 {
    9814            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9815            0 :                                   if (flag_unsafe_math_optimizations
    9816              : )
    9817              :                                     {
    9818            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9819            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9820              : )
    9821              :                                         {
    9822            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1449;
    9823            0 :                                           {
    9824            0 :                                             tree res_op0;
    9825            0 :                                             {
    9826            0 :                                               tree _o1[2], _r1;
    9827            0 :                                               {
    9828            0 :                                                 tree _o2[2], _r2;
    9829            0 :                                                 {
    9830            0 :                                                   tree _o3[1], _r3;
    9831            0 :                                                   _o3[0] = captures[1];
    9832            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOGL, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9833            0 :                                                   if (!_r3)
    9834            0 :                                                     goto next_after_fail1449;
    9835            0 :                                                   _o2[0] = _r3;
    9836              :                                                 }
    9837            0 :                                                 _o2[1] = captures[2];
    9838            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9839            0 :                                                 _o1[0] = _r2;
    9840              :                                               }
    9841            0 :                                               _o1[1] = captures[4];
    9842            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9843            0 :                                               res_op0 = _r1;
    9844              :                                             }
    9845            0 :                                             tree _r;
    9846            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, type, 1, res_op0);
    9847            0 :                                             if (!_r)
    9848            0 :                                               goto next_after_fail1449;
    9849            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    9850            0 :                                             return _r;
    9851              :                                           }
    9852            0 : next_after_fail1449:;
    9853              :                                         }
    9854              :                                     }
    9855              :                                 }
    9856            0 :                                 break;
    9857              :                               }
    9858              :                             default:;
    9859              :                             }
    9860              :                         }
    9861              :                       break;
    9862              :                     default:;
    9863              :                     }
    9864              :                   break;
    9865              :                 default:;
    9866              :                 }
    9867              :             }
    9868              :           break;
    9869           19 :         case CFN_BUILT_IN_POWF:
    9870           19 :           if (call_expr_nargs (_p0) == 2)
    9871              :     {
    9872           19 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9873           19 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    9874           19 :               switch (TREE_CODE (_q20))
    9875              :                 {
    9876            0 :                 case REAL_CST:
    9877            0 :                   {
    9878            0 :                     switch (TREE_CODE (_p1))
    9879              :                       {
    9880            0 :                       case CALL_EXPR:
    9881            0 :                         switch (get_call_combined_fn (_p1))
    9882              :                           {
    9883            0 :                           case CFN_BUILT_IN_EXP10F:
    9884            0 :                             if (call_expr_nargs (_p1) == 1)
    9885              :     {
    9886            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9887            0 :                                 {
    9888            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9889            0 :                                   if (flag_unsafe_math_optimizations
    9890              : )
    9891              :                                     {
    9892            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9893            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9894              : )
    9895              :                                         {
    9896            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1450;
    9897            0 :                                           {
    9898            0 :                                             tree res_op0;
    9899            0 :                                             {
    9900            0 :                                               tree _o1[2], _r1;
    9901            0 :                                               {
    9902            0 :                                                 tree _o2[2], _r2;
    9903            0 :                                                 {
    9904            0 :                                                   tree _o3[1], _r3;
    9905            0 :                                                   _o3[0] = captures[1];
    9906            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9907            0 :                                                   if (!_r3)
    9908            0 :                                                     goto next_after_fail1450;
    9909            0 :                                                   _o2[0] = _r3;
    9910              :                                                 }
    9911            0 :                                                 _o2[1] = captures[2];
    9912            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9913            0 :                                                 _o1[0] = _r2;
    9914              :                                               }
    9915            0 :                                               _o1[1] = captures[4];
    9916            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9917            0 :                                               res_op0 = _r1;
    9918              :                                             }
    9919            0 :                                             tree _r;
    9920            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, type, 1, res_op0);
    9921            0 :                                             if (!_r)
    9922            0 :                                               goto next_after_fail1450;
    9923            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    9924            0 :                                             return _r;
    9925              :                                           }
    9926            0 : next_after_fail1450:;
    9927              :                                         }
    9928              :                                     }
    9929              :                                 }
    9930              :                               }
    9931              :                             break;
    9932            0 :                           case CFN_BUILT_IN_EXPF:
    9933            0 :                             if (call_expr_nargs (_p1) == 1)
    9934              :     {
    9935            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9936            0 :                                 {
    9937            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9938            0 :                                   if (flag_unsafe_math_optimizations
    9939              : )
    9940              :                                     {
    9941            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9942            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9943              : )
    9944              :                                         {
    9945            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1451;
    9946            0 :                                           {
    9947            0 :                                             tree res_op0;
    9948            0 :                                             {
    9949            0 :                                               tree _o1[2], _r1;
    9950            0 :                                               {
    9951            0 :                                                 tree _o2[2], _r2;
    9952            0 :                                                 {
    9953            0 :                                                   tree _o3[1], _r3;
    9954            0 :                                                   _o3[0] = captures[1];
    9955            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOGF, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9956            0 :                                                   if (!_r3)
    9957            0 :                                                     goto next_after_fail1451;
    9958            0 :                                                   _o2[0] = _r3;
    9959              :                                                 }
    9960            0 :                                                 _o2[1] = captures[2];
    9961            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9962            0 :                                                 _o1[0] = _r2;
    9963              :                                               }
    9964            0 :                                               _o1[1] = captures[4];
    9965            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9966            0 :                                               res_op0 = _r1;
    9967              :                                             }
    9968            0 :                                             tree _r;
    9969            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, type, 1, res_op0);
    9970            0 :                                             if (!_r)
    9971            0 :                                               goto next_after_fail1451;
    9972            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    9973            0 :                                             return _r;
    9974              :                                           }
    9975            0 : next_after_fail1451:;
    9976              :                                         }
    9977              :                                     }
    9978              :                                 }
    9979              :                               }
    9980              :                             break;
    9981            0 :                           case CFN_BUILT_IN_POW10F:
    9982            0 :                             if (call_expr_nargs (_p1) == 1)
    9983              :     {
    9984            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9985            0 :                                 {
    9986            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9987            0 :                                   if (flag_unsafe_math_optimizations
    9988              : )
    9989              :                                     {
    9990            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9991            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9992              : )
    9993              :                                         {
    9994            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1452;
    9995            0 :                                           {
    9996            0 :                                             tree res_op0;
    9997            0 :                                             {
    9998            0 :                                               tree _o1[2], _r1;
    9999            0 :                                               {
   10000            0 :                                                 tree _o2[2], _r2;
   10001            0 :                                                 {
   10002            0 :                                                   tree _o3[1], _r3;
   10003            0 :                                                   _o3[0] = captures[1];
   10004            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10005            0 :                                                   if (!_r3)
   10006            0 :                                                     goto next_after_fail1452;
   10007            0 :                                                   _o2[0] = _r3;
   10008              :                                                 }
   10009            0 :                                                 _o2[1] = captures[2];
   10010            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10011            0 :                                                 _o1[0] = _r2;
   10012              :                                               }
   10013            0 :                                               _o1[1] = captures[4];
   10014            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10015            0 :                                               res_op0 = _r1;
   10016              :                                             }
   10017            0 :                                             tree _r;
   10018            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, type, 1, res_op0);
   10019            0 :                                             if (!_r)
   10020            0 :                                               goto next_after_fail1452;
   10021            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
   10022            0 :                                             return _r;
   10023              :                                           }
   10024            0 : next_after_fail1452:;
   10025              :                                         }
   10026              :                                     }
   10027              :                                 }
   10028              :                               }
   10029              :                             break;
   10030            0 :                           case CFN_BUILT_IN_EXP2F:
   10031            0 :                             if (call_expr_nargs (_p1) == 1)
   10032              :     {
   10033            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10034            0 :                                 {
   10035            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10036            0 :                                   if (flag_unsafe_math_optimizations
   10037              : )
   10038              :                                     {
   10039            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10040            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10041              : )
   10042              :                                         {
   10043            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1453;
   10044            0 :                                           {
   10045            0 :                                             tree res_op0;
   10046            0 :                                             {
   10047            0 :                                               tree _o1[2], _r1;
   10048            0 :                                               {
   10049            0 :                                                 tree _o2[2], _r2;
   10050            0 :                                                 {
   10051            0 :                                                   tree _o3[1], _r3;
   10052            0 :                                                   _o3[0] = captures[1];
   10053            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2F, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10054            0 :                                                   if (!_r3)
   10055            0 :                                                     goto next_after_fail1453;
   10056            0 :                                                   _o2[0] = _r3;
   10057              :                                                 }
   10058            0 :                                                 _o2[1] = captures[2];
   10059            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10060            0 :                                                 _o1[0] = _r2;
   10061              :                                               }
   10062            0 :                                               _o1[1] = captures[4];
   10063            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10064            0 :                                               res_op0 = _r1;
   10065              :                                             }
   10066            0 :                                             tree _r;
   10067            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, type, 1, res_op0);
   10068            0 :                                             if (!_r)
   10069            0 :                                               goto next_after_fail1453;
   10070            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
   10071            0 :                                             return _r;
   10072              :                                           }
   10073            0 : next_after_fail1453:;
   10074              :                                         }
   10075              :                                     }
   10076              :                                 }
   10077              :                               }
   10078              :                             break;
   10079              :                           default:;
   10080              :                           }
   10081              :                         break;
   10082              :                       default:;
   10083              :                       }
   10084              :                     break;
   10085              :                   }
   10086           19 :                 default:;
   10087              :                 }
   10088           19 :               switch (TREE_CODE (_q21))
   10089              :                 {
   10090            5 :                 case REAL_CST:
   10091            5 :                   {
   10092            5 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10093              :                       {
   10094            0 :                         {
   10095            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
   10096            0 :                           tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
   10097            0 :                           if (res) return res;
   10098              :                         }
   10099              :                       }
   10100              :                     break;
   10101              :                   }
   10102              :                 default:;
   10103              :                 }
   10104              :             }
   10105              :           break;
   10106           12 :         case CFN_BUILT_IN_POWL:
   10107           12 :           if (call_expr_nargs (_p0) == 2)
   10108              :     {
   10109           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10110           12 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10111           12 :               switch (TREE_CODE (_q20))
   10112              :                 {
   10113            0 :                 case REAL_CST:
   10114            0 :                   {
   10115            0 :                     switch (TREE_CODE (_p1))
   10116              :                       {
   10117            0 :                       case CALL_EXPR:
   10118            0 :                         switch (get_call_combined_fn (_p1))
   10119              :                           {
   10120            0 :                           case CFN_BUILT_IN_EXP10L:
   10121            0 :                             if (call_expr_nargs (_p1) == 1)
   10122              :     {
   10123            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10124            0 :                                 {
   10125            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10126            0 :                                   if (flag_unsafe_math_optimizations
   10127              : )
   10128              :                                     {
   10129            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10130            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10131              : )
   10132              :                                         {
   10133            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1454;
   10134            0 :                                           {
   10135            0 :                                             tree res_op0;
   10136            0 :                                             {
   10137            0 :                                               tree _o1[2], _r1;
   10138            0 :                                               {
   10139            0 :                                                 tree _o2[2], _r2;
   10140            0 :                                                 {
   10141            0 :                                                   tree _o3[1], _r3;
   10142            0 :                                                   _o3[0] = captures[1];
   10143            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10144            0 :                                                   if (!_r3)
   10145            0 :                                                     goto next_after_fail1454;
   10146            0 :                                                   _o2[0] = _r3;
   10147              :                                                 }
   10148            0 :                                                 _o2[1] = captures[2];
   10149            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10150            0 :                                                 _o1[0] = _r2;
   10151              :                                               }
   10152            0 :                                               _o1[1] = captures[4];
   10153            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10154            0 :                                               res_op0 = _r1;
   10155              :                                             }
   10156            0 :                                             tree _r;
   10157            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, type, 1, res_op0);
   10158            0 :                                             if (!_r)
   10159            0 :                                               goto next_after_fail1454;
   10160            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
   10161            0 :                                             return _r;
   10162              :                                           }
   10163            0 : next_after_fail1454:;
   10164              :                                         }
   10165              :                                     }
   10166              :                                 }
   10167              :                               }
   10168              :                             break;
   10169            0 :                           case CFN_BUILT_IN_EXPL:
   10170            0 :                             if (call_expr_nargs (_p1) == 1)
   10171              :     {
   10172            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10173            0 :                                 {
   10174            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10175            0 :                                   if (flag_unsafe_math_optimizations
   10176              : )
   10177              :                                     {
   10178            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10179            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10180              : )
   10181              :                                         {
   10182            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1455;
   10183            0 :                                           {
   10184            0 :                                             tree res_op0;
   10185            0 :                                             {
   10186            0 :                                               tree _o1[2], _r1;
   10187            0 :                                               {
   10188            0 :                                                 tree _o2[2], _r2;
   10189            0 :                                                 {
   10190            0 :                                                   tree _o3[1], _r3;
   10191            0 :                                                   _o3[0] = captures[1];
   10192            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOGL, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10193            0 :                                                   if (!_r3)
   10194            0 :                                                     goto next_after_fail1455;
   10195            0 :                                                   _o2[0] = _r3;
   10196              :                                                 }
   10197            0 :                                                 _o2[1] = captures[2];
   10198            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10199            0 :                                                 _o1[0] = _r2;
   10200              :                                               }
   10201            0 :                                               _o1[1] = captures[4];
   10202            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10203            0 :                                               res_op0 = _r1;
   10204              :                                             }
   10205            0 :                                             tree _r;
   10206            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, type, 1, res_op0);
   10207            0 :                                             if (!_r)
   10208            0 :                                               goto next_after_fail1455;
   10209            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
   10210            0 :                                             return _r;
   10211              :                                           }
   10212            0 : next_after_fail1455:;
   10213              :                                         }
   10214              :                                     }
   10215              :                                 }
   10216              :                               }
   10217              :                             break;
   10218            0 :                           case CFN_BUILT_IN_POW10L:
   10219            0 :                             if (call_expr_nargs (_p1) == 1)
   10220              :     {
   10221            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10222            0 :                                 {
   10223            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10224            0 :                                   if (flag_unsafe_math_optimizations
   10225              : )
   10226              :                                     {
   10227            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10228            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10229              : )
   10230              :                                         {
   10231            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1456;
   10232            0 :                                           {
   10233            0 :                                             tree res_op0;
   10234            0 :                                             {
   10235            0 :                                               tree _o1[2], _r1;
   10236            0 :                                               {
   10237            0 :                                                 tree _o2[2], _r2;
   10238            0 :                                                 {
   10239            0 :                                                   tree _o3[1], _r3;
   10240            0 :                                                   _o3[0] = captures[1];
   10241            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10242            0 :                                                   if (!_r3)
   10243            0 :                                                     goto next_after_fail1456;
   10244            0 :                                                   _o2[0] = _r3;
   10245              :                                                 }
   10246            0 :                                                 _o2[1] = captures[2];
   10247            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10248            0 :                                                 _o1[0] = _r2;
   10249              :                                               }
   10250            0 :                                               _o1[1] = captures[4];
   10251            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10252            0 :                                               res_op0 = _r1;
   10253              :                                             }
   10254            0 :                                             tree _r;
   10255            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, type, 1, res_op0);
   10256            0 :                                             if (!_r)
   10257            0 :                                               goto next_after_fail1456;
   10258            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
   10259            0 :                                             return _r;
   10260              :                                           }
   10261            0 : next_after_fail1456:;
   10262              :                                         }
   10263              :                                     }
   10264              :                                 }
   10265              :                               }
   10266              :                             break;
   10267            0 :                           case CFN_BUILT_IN_EXP2L:
   10268            0 :                             if (call_expr_nargs (_p1) == 1)
   10269              :     {
   10270            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10271            0 :                                 {
   10272            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10273            0 :                                   if (flag_unsafe_math_optimizations
   10274              : )
   10275              :                                     {
   10276            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10277            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10278              : )
   10279              :                                         {
   10280            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1457;
   10281            0 :                                           {
   10282            0 :                                             tree res_op0;
   10283            0 :                                             {
   10284            0 :                                               tree _o1[2], _r1;
   10285            0 :                                               {
   10286            0 :                                                 tree _o2[2], _r2;
   10287            0 :                                                 {
   10288            0 :                                                   tree _o3[1], _r3;
   10289            0 :                                                   _o3[0] = captures[1];
   10290            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10291            0 :                                                   if (!_r3)
   10292            0 :                                                     goto next_after_fail1457;
   10293            0 :                                                   _o2[0] = _r3;
   10294              :                                                 }
   10295            0 :                                                 _o2[1] = captures[2];
   10296            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10297            0 :                                                 _o1[0] = _r2;
   10298              :                                               }
   10299            0 :                                               _o1[1] = captures[4];
   10300            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10301            0 :                                               res_op0 = _r1;
   10302              :                                             }
   10303            0 :                                             tree _r;
   10304            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, type, 1, res_op0);
   10305            0 :                                             if (!_r)
   10306            0 :                                               goto next_after_fail1457;
   10307            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
   10308            0 :                                             return _r;
   10309              :                                           }
   10310            0 : next_after_fail1457:;
   10311              :                                         }
   10312              :                                     }
   10313              :                                 }
   10314              :                               }
   10315              :                             break;
   10316              :                           default:;
   10317              :                           }
   10318              :                         break;
   10319              :                       default:;
   10320              :                       }
   10321              :                     break;
   10322              :                   }
   10323           12 :                 default:;
   10324              :                 }
   10325           12 :               switch (TREE_CODE (_q21))
   10326              :                 {
   10327            0 :                 case REAL_CST:
   10328            0 :                   {
   10329            0 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10330              :                       {
   10331            0 :                         {
   10332            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
   10333            0 :                           tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
   10334            0 :                           if (res) return res;
   10335              :                         }
   10336              :                       }
   10337              :                     break;
   10338              :                   }
   10339              :                 default:;
   10340              :                 }
   10341              :             }
   10342              :           break;
   10343        19122 :         case CFN_BUILT_IN_SQRT:
   10344        19122 :           if (call_expr_nargs (_p0) == 1)
   10345              :     {
   10346        19122 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10347        19122 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10348              :                 {
   10349            2 :                   {
   10350            2 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10351            2 :                     tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT);
   10352            2 :                     if (res) return res;
   10353              :                   }
   10354              :                 }
   10355        19120 :               switch (TREE_CODE (_p1))
   10356              :                 {
   10357          100 :                 case CALL_EXPR:
   10358          100 :                   switch (get_call_combined_fn (_p1))
   10359              :                     {
   10360           37 :                     case CFN_BUILT_IN_SQRT:
   10361           37 :                       if (call_expr_nargs (_p1) == 1)
   10362              :     {
   10363           37 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10364           37 :                           {
   10365           37 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10366           37 :                             if (flag_unsafe_math_optimizations
   10367              : )
   10368              :                               {
   10369           15 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1458;
   10370           15 :                                 {
   10371           15 :                                   tree res_op0;
   10372           15 :                                   {
   10373           15 :                                     tree _o1[2], _r1;
   10374           15 :                                     _o1[0] = captures[1];
   10375           15 :                                     _o1[1] = captures[3];
   10376           15 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10377           15 :                                     res_op0 = _r1;
   10378              :                                   }
   10379           15 :                                   tree _r;
   10380           15 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRT, type, 1, res_op0);
   10381           15 :                                   if (!_r)
   10382            0 :                                     goto next_after_fail1458;
   10383           15 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 976, __FILE__, __LINE__, true);
   10384           15 :                                   return _r;
   10385              :                                 }
   10386           22 : next_after_fail1458:;
   10387              :                               }
   10388              :                           }
   10389              :                         }
   10390              :                       break;
   10391              :                     default:;
   10392              :                     }
   10393              :                   break;
   10394              :                 default:;
   10395              :                 }
   10396              :             }
   10397              :           break;
   10398            5 :         case CFN_BUILT_IN_LDEXPF:
   10399            5 :           if (call_expr_nargs (_p0) == 2)
   10400              :     {
   10401            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10402            5 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10403            5 :               switch (TREE_CODE (_p1))
   10404              :                 {
   10405            2 :                 case REAL_CST:
   10406            2 :                   {
   10407            2 :                     {
   10408            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   10409            2 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPF);
   10410            2 :                       if (res) return res;
   10411              :                     }
   10412            1 :                     break;
   10413              :                   }
   10414            4 :                 default:;
   10415              :                 }
   10416            4 :               switch (TREE_CODE (_q20))
   10417              :                 {
   10418            3 :                 case REAL_CST:
   10419            3 :                   {
   10420            3 :                     {
   10421            3 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   10422            3 :                       tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPF);
   10423            3 :                       if (res) return res;
   10424              :                     }
   10425            0 :                     break;
   10426              :                   }
   10427              :                 default:;
   10428              :                 }
   10429              :             }
   10430              :           break;
   10431            5 :         case CFN_BUILT_IN_LDEXPL:
   10432            5 :           if (call_expr_nargs (_p0) == 2)
   10433              :     {
   10434            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10435            5 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10436            5 :               switch (TREE_CODE (_p1))
   10437              :                 {
   10438            2 :                 case REAL_CST:
   10439            2 :                   {
   10440            2 :                     {
   10441            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   10442            2 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPL);
   10443            2 :                       if (res) return res;
   10444              :                     }
   10445            1 :                     break;
   10446              :                   }
   10447            4 :                 default:;
   10448              :                 }
   10449            4 :               switch (TREE_CODE (_q20))
   10450              :                 {
   10451            3 :                 case REAL_CST:
   10452            3 :                   {
   10453            3 :                     {
   10454            3 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   10455            3 :                       tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPL);
   10456            3 :                       if (res) return res;
   10457              :                     }
   10458            0 :                     break;
   10459              :                   }
   10460              :                 default:;
   10461              :                 }
   10462              :             }
   10463              :           break;
   10464            4 :         case CFN_BUILT_IN_SQRTF128:
   10465            4 :           if (call_expr_nargs (_p0) == 1)
   10466              :     {
   10467            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10468            4 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10469              :                 {
   10470            0 :                   {
   10471            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10472            0 :                     tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF128);
   10473            0 :                     if (res) return res;
   10474              :                   }
   10475              :                 }
   10476              :             }
   10477              :           break;
   10478            0 :         case CFN_BUILT_IN_SQRTF32X:
   10479            0 :           if (call_expr_nargs (_p0) == 1)
   10480              :     {
   10481            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10482            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10483              :                 {
   10484            0 :                   {
   10485            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10486            0 :                     tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF32X);
   10487            0 :                     if (res) return res;
   10488              :                   }
   10489              :                 }
   10490              :             }
   10491              :           break;
   10492            0 :         case CFN_BUILT_IN_SQRTF64X:
   10493            0 :           if (call_expr_nargs (_p0) == 1)
   10494              :     {
   10495            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10496            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10497              :                 {
   10498            0 :                   {
   10499            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10500            0 :                     tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF64X);
   10501            0 :                     if (res) return res;
   10502              :                   }
   10503              :                 }
   10504              :             }
   10505              :           break;
   10506            0 :         case CFN_BUILT_IN_SQRTF16:
   10507            0 :           if (call_expr_nargs (_p0) == 1)
   10508              :     {
   10509            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10510            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10511              :                 {
   10512            0 :                   {
   10513            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10514            0 :                     tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF16);
   10515            0 :                     if (res) return res;
   10516              :                   }
   10517              :                 }
   10518              :             }
   10519              :           break;
   10520            0 :         case CFN_BUILT_IN_SQRTF32:
   10521            0 :           if (call_expr_nargs (_p0) == 1)
   10522              :     {
   10523            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10524            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10525              :                 {
   10526            0 :                   {
   10527            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10528            0 :                     tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF32);
   10529            0 :                     if (res) return res;
   10530              :                   }
   10531              :                 }
   10532              :             }
   10533              :           break;
   10534            0 :         case CFN_BUILT_IN_SQRTF64:
   10535            0 :           if (call_expr_nargs (_p0) == 1)
   10536              :     {
   10537            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10538            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10539              :                 {
   10540            0 :                   {
   10541            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10542            0 :                     tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF64);
   10543            0 :                     if (res) return res;
   10544              :                   }
   10545              :                 }
   10546              :             }
   10547              :           break;
   10548            0 :         case CFN_EXP:
   10549            0 :           if (call_expr_nargs (_p0) == 1)
   10550              :     {
   10551            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10552            0 :               switch (TREE_CODE (_p1))
   10553              :                 {
   10554            0 :                 case CALL_EXPR:
   10555            0 :                   switch (get_call_combined_fn (_p1))
   10556              :                     {
   10557            0 :                     case CFN_EXP:
   10558            0 :                       if (call_expr_nargs (_p1) == 1)
   10559              :     {
   10560            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10561            0 :                           {
   10562            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10563            0 :                             if (flag_unsafe_math_optimizations
   10564              : )
   10565              :                               {
   10566            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1459;
   10567            0 :                                 {
   10568            0 :                                   tree res_op0;
   10569            0 :                                   {
   10570            0 :                                     tree _o1[2], _r1;
   10571            0 :                                     _o1[0] = captures[1];
   10572            0 :                                     _o1[1] = captures[3];
   10573            0 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10574            0 :                                     res_op0 = _r1;
   10575              :                                   }
   10576            0 :                                   tree _r;
   10577            0 :                                   _r = maybe_build_call_expr_loc (loc, CFN_EXP, type, 1, res_op0);
   10578            0 :                                   if (!_r)
   10579            0 :                                     goto next_after_fail1459;
   10580            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
   10581            0 :                                   return _r;
   10582              :                                 }
   10583            0 : next_after_fail1459:;
   10584              :                               }
   10585              :                           }
   10586              :                         }
   10587              :                       break;
   10588            0 :                     case CFN_POW:
   10589            0 :                       if (call_expr_nargs (_p1) == 2)
   10590              :     {
   10591            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10592            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   10593            0 :                           switch (TREE_CODE (_q40))
   10594              :                             {
   10595            0 :                             case REAL_CST:
   10596            0 :                               {
   10597            0 :                                 {
   10598            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   10599            0 :                                   if (flag_unsafe_math_optimizations
   10600              : )
   10601              :                                     {
   10602            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10603            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10604              : )
   10605              :                                         {
   10606            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1460;
   10607            0 :                                           {
   10608            0 :                                             tree res_op0;
   10609            0 :                                             {
   10610            0 :                                               tree _o1[2], _r1;
   10611            0 :                                               {
   10612            0 :                                                 tree _o2[2], _r2;
   10613            0 :                                                 {
   10614            0 :                                                   tree _o3[1], _r3;
   10615            0 :                                                   _o3[0] = captures[1];
   10616            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10617            0 :                                                   if (!_r3)
   10618            0 :                                                     goto next_after_fail1460;
   10619            0 :                                                   _o2[0] = _r3;
   10620              :                                                 }
   10621            0 :                                                 _o2[1] = captures[2];
   10622            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10623            0 :                                                 _o1[0] = _r2;
   10624              :                                               }
   10625            0 :                                               _o1[1] = captures[4];
   10626            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10627            0 :                                               res_op0 = _r1;
   10628              :                                             }
   10629            0 :                                             tree _r;
   10630            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP, type, 1, res_op0);
   10631            0 :                                             if (!_r)
   10632            0 :                                               goto next_after_fail1460;
   10633            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
   10634            0 :                                             return _r;
   10635              :                                           }
   10636            0 : next_after_fail1460:;
   10637              :                                         }
   10638              :                                     }
   10639              :                                 }
   10640            0 :                                 break;
   10641              :                               }
   10642              :                             default:;
   10643              :                             }
   10644              :                         }
   10645              :                       break;
   10646              :                     default:;
   10647              :                     }
   10648              :                   break;
   10649              :                 default:;
   10650              :                 }
   10651              :             }
   10652              :           break;
   10653            0 :         case CFN_POW:
   10654            0 :           if (call_expr_nargs (_p0) == 2)
   10655              :     {
   10656            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10657            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10658            0 :               switch (TREE_CODE (_q20))
   10659              :                 {
   10660            0 :                 case REAL_CST:
   10661            0 :                   {
   10662            0 :                     switch (TREE_CODE (_p1))
   10663              :                       {
   10664            0 :                       case CALL_EXPR:
   10665            0 :                         switch (get_call_combined_fn (_p1))
   10666              :                           {
   10667            0 :                           case CFN_EXP:
   10668            0 :                             if (call_expr_nargs (_p1) == 1)
   10669              :     {
   10670            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10671            0 :                                 {
   10672            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10673            0 :                                   if (flag_unsafe_math_optimizations
   10674              : )
   10675              :                                     {
   10676            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10677            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10678              : )
   10679              :                                         {
   10680            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1461;
   10681            0 :                                           {
   10682            0 :                                             tree res_op0;
   10683            0 :                                             {
   10684            0 :                                               tree _o1[2], _r1;
   10685            0 :                                               {
   10686            0 :                                                 tree _o2[2], _r2;
   10687            0 :                                                 {
   10688            0 :                                                   tree _o3[1], _r3;
   10689            0 :                                                   _o3[0] = captures[1];
   10690            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10691            0 :                                                   if (!_r3)
   10692            0 :                                                     goto next_after_fail1461;
   10693            0 :                                                   _o2[0] = _r3;
   10694              :                                                 }
   10695            0 :                                                 _o2[1] = captures[2];
   10696            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10697            0 :                                                 _o1[0] = _r2;
   10698              :                                               }
   10699            0 :                                               _o1[1] = captures[4];
   10700            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10701            0 :                                               res_op0 = _r1;
   10702              :                                             }
   10703            0 :                                             tree _r;
   10704            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP, type, 1, res_op0);
   10705            0 :                                             if (!_r)
   10706            0 :                                               goto next_after_fail1461;
   10707            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
   10708            0 :                                             return _r;
   10709              :                                           }
   10710            0 : next_after_fail1461:;
   10711              :                                         }
   10712              :                                     }
   10713              :                                 }
   10714              :                               }
   10715              :                             break;
   10716            0 :                           case CFN_EXP2:
   10717            0 :                             if (call_expr_nargs (_p1) == 1)
   10718              :     {
   10719            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10720            0 :                                 {
   10721            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10722            0 :                                   if (flag_unsafe_math_optimizations
   10723              : )
   10724              :                                     {
   10725            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10726            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10727              : )
   10728              :                                         {
   10729            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1462;
   10730            0 :                                           {
   10731            0 :                                             tree res_op0;
   10732            0 :                                             {
   10733            0 :                                               tree _o1[2], _r1;
   10734            0 :                                               {
   10735            0 :                                                 tree _o2[2], _r2;
   10736            0 :                                                 {
   10737            0 :                                                   tree _o3[1], _r3;
   10738            0 :                                                   _o3[0] = captures[1];
   10739            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10740            0 :                                                   if (!_r3)
   10741            0 :                                                     goto next_after_fail1462;
   10742            0 :                                                   _o2[0] = _r3;
   10743              :                                                 }
   10744            0 :                                                 _o2[1] = captures[2];
   10745            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10746            0 :                                                 _o1[0] = _r2;
   10747              :                                               }
   10748            0 :                                               _o1[1] = captures[4];
   10749            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10750            0 :                                               res_op0 = _r1;
   10751              :                                             }
   10752            0 :                                             tree _r;
   10753            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP2, type, 1, res_op0);
   10754            0 :                                             if (!_r)
   10755            0 :                                               goto next_after_fail1462;
   10756            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
   10757            0 :                                             return _r;
   10758              :                                           }
   10759            0 : next_after_fail1462:;
   10760              :                                         }
   10761              :                                     }
   10762              :                                 }
   10763              :                               }
   10764              :                             break;
   10765            0 :                           case CFN_EXP10:
   10766            0 :                             if (call_expr_nargs (_p1) == 1)
   10767              :     {
   10768            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10769            0 :                                 {
   10770            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10771            0 :                                   if (flag_unsafe_math_optimizations
   10772              : )
   10773              :                                     {
   10774            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10775            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10776              : )
   10777              :                                         {
   10778            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1463;
   10779            0 :                                           {
   10780            0 :                                             tree res_op0;
   10781            0 :                                             {
   10782            0 :                                               tree _o1[2], _r1;
   10783            0 :                                               {
   10784            0 :                                                 tree _o2[2], _r2;
   10785            0 :                                                 {
   10786            0 :                                                   tree _o3[1], _r3;
   10787            0 :                                                   _o3[0] = captures[1];
   10788            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10789            0 :                                                   if (!_r3)
   10790            0 :                                                     goto next_after_fail1463;
   10791            0 :                                                   _o2[0] = _r3;
   10792              :                                                 }
   10793            0 :                                                 _o2[1] = captures[2];
   10794            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10795            0 :                                                 _o1[0] = _r2;
   10796              :                                               }
   10797            0 :                                               _o1[1] = captures[4];
   10798            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10799            0 :                                               res_op0 = _r1;
   10800              :                                             }
   10801            0 :                                             tree _r;
   10802            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP10, type, 1, res_op0);
   10803            0 :                                             if (!_r)
   10804            0 :                                               goto next_after_fail1463;
   10805            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
   10806            0 :                                             return _r;
   10807              :                                           }
   10808            0 : next_after_fail1463:;
   10809              :                                         }
   10810              :                                     }
   10811              :                                 }
   10812              :                               }
   10813              :                             break;
   10814              :                           default:;
   10815              :                           }
   10816              :                         break;
   10817              :                       default:;
   10818              :                       }
   10819              :                     break;
   10820              :                   }
   10821            0 :                 default:;
   10822              :                 }
   10823            0 :               switch (TREE_CODE (_q21))
   10824              :                 {
   10825            0 :                 case REAL_CST:
   10826            0 :                   {
   10827            0 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10828              :                       {
   10829            0 :                         {
   10830            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
   10831            0 :                           tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_POW);
   10832            0 :                           if (res) return res;
   10833              :                         }
   10834              :                       }
   10835              :                     break;
   10836              :                   }
   10837              :                 default:;
   10838              :                 }
   10839              :             }
   10840              :           break;
   10841           24 :         case CFN_BUILT_IN_POW10F:
   10842           24 :           if (call_expr_nargs (_p0) == 1)
   10843              :     {
   10844           24 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10845           24 :               switch (TREE_CODE (_p1))
   10846              :                 {
   10847           12 :                 case CALL_EXPR:
   10848           12 :                   switch (get_call_combined_fn (_p1))
   10849              :                     {
   10850            0 :                     case CFN_BUILT_IN_POWF:
   10851            0 :                       if (call_expr_nargs (_p1) == 2)
   10852              :     {
   10853            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10854            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   10855            0 :                           switch (TREE_CODE (_q40))
   10856              :                             {
   10857            0 :                             case REAL_CST:
   10858            0 :                               {
   10859            0 :                                 {
   10860            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   10861            0 :                                   if (flag_unsafe_math_optimizations
   10862              : )
   10863              :                                     {
   10864            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10865            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10866              : )
   10867              :                                         {
   10868            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1464;
   10869            0 :                                           {
   10870            0 :                                             tree res_op0;
   10871            0 :                                             {
   10872            0 :                                               tree _o1[2], _r1;
   10873            0 :                                               {
   10874            0 :                                                 tree _o2[2], _r2;
   10875            0 :                                                 {
   10876            0 :                                                   tree _o3[1], _r3;
   10877            0 :                                                   _o3[0] = captures[1];
   10878            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10879            0 :                                                   if (!_r3)
   10880            0 :                                                     goto next_after_fail1464;
   10881            0 :                                                   _o2[0] = _r3;
   10882              :                                                 }
   10883            0 :                                                 _o2[1] = captures[2];
   10884            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10885            0 :                                                 _o1[0] = _r2;
   10886              :                                               }
   10887            0 :                                               _o1[1] = captures[4];
   10888            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10889            0 :                                               res_op0 = _r1;
   10890              :                                             }
   10891            0 :                                             tree _r;
   10892            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, type, 1, res_op0);
   10893            0 :                                             if (!_r)
   10894            0 :                                               goto next_after_fail1464;
   10895            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
   10896            0 :                                             return _r;
   10897              :                                           }
   10898            0 : next_after_fail1464:;
   10899              :                                         }
   10900              :                                     }
   10901              :                                 }
   10902            0 :                                 break;
   10903              :                               }
   10904              :                             default:;
   10905              :                             }
   10906              :                         }
   10907              :                       break;
   10908           12 :                     case CFN_BUILT_IN_POW10F:
   10909           12 :                       if (call_expr_nargs (_p1) == 1)
   10910              :     {
   10911           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10912           12 :                           {
   10913           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10914           12 :                             if (flag_unsafe_math_optimizations
   10915              : )
   10916              :                               {
   10917           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1465;
   10918           12 :                                 {
   10919           12 :                                   tree res_op0;
   10920           12 :                                   {
   10921           12 :                                     tree _o1[2], _r1;
   10922           12 :                                     _o1[0] = captures[1];
   10923           12 :                                     _o1[1] = captures[3];
   10924           12 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10925           12 :                                     res_op0 = _r1;
   10926              :                                   }
   10927           12 :                                   tree _r;
   10928           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, type, 1, res_op0);
   10929           12 :                                   if (!_r)
   10930           12 :                                     goto next_after_fail1465;
   10931            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
   10932            0 :                                   return _r;
   10933              :                                 }
   10934           12 : next_after_fail1465:;
   10935              :                               }
   10936              :                           }
   10937              :                         }
   10938              :                       break;
   10939              :                     default:;
   10940              :                     }
   10941              :                   break;
   10942              :                 default:;
   10943              :                 }
   10944              :             }
   10945              :           break;
   10946           24 :         case CFN_BUILT_IN_POW10L:
   10947           24 :           if (call_expr_nargs (_p0) == 1)
   10948              :     {
   10949           24 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10950           24 :               switch (TREE_CODE (_p1))
   10951              :                 {
   10952           12 :                 case CALL_EXPR:
   10953           12 :                   switch (get_call_combined_fn (_p1))
   10954              :                     {
   10955            0 :                     case CFN_BUILT_IN_POWL:
   10956            0 :                       if (call_expr_nargs (_p1) == 2)
   10957              :     {
   10958            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10959            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   10960            0 :                           switch (TREE_CODE (_q40))
   10961              :                             {
   10962            0 :                             case REAL_CST:
   10963            0 :                               {
   10964            0 :                                 {
   10965            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   10966            0 :                                   if (flag_unsafe_math_optimizations
   10967              : )
   10968              :                                     {
   10969            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10970            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10971              : )
   10972              :                                         {
   10973            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1466;
   10974            0 :                                           {
   10975            0 :                                             tree res_op0;
   10976            0 :                                             {
   10977            0 :                                               tree _o1[2], _r1;
   10978            0 :                                               {
   10979            0 :                                                 tree _o2[2], _r2;
   10980            0 :                                                 {
   10981            0 :                                                   tree _o3[1], _r3;
   10982            0 :                                                   _o3[0] = captures[1];
   10983            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10984            0 :                                                   if (!_r3)
   10985            0 :                                                     goto next_after_fail1466;
   10986            0 :                                                   _o2[0] = _r3;
   10987              :                                                 }
   10988            0 :                                                 _o2[1] = captures[2];
   10989            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10990            0 :                                                 _o1[0] = _r2;
   10991              :                                               }
   10992            0 :                                               _o1[1] = captures[4];
   10993            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10994            0 :                                               res_op0 = _r1;
   10995              :                                             }
   10996            0 :                                             tree _r;
   10997            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, type, 1, res_op0);
   10998            0 :                                             if (!_r)
   10999            0 :                                               goto next_after_fail1466;
   11000            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
   11001            0 :                                             return _r;
   11002              :                                           }
   11003            0 : next_after_fail1466:;
   11004              :                                         }
   11005              :                                     }
   11006              :                                 }
   11007            0 :                                 break;
   11008              :                               }
   11009              :                             default:;
   11010              :                             }
   11011              :                         }
   11012              :                       break;
   11013           12 :                     case CFN_BUILT_IN_POW10L:
   11014           12 :                       if (call_expr_nargs (_p1) == 1)
   11015              :     {
   11016           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11017           12 :                           {
   11018           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11019           12 :                             if (flag_unsafe_math_optimizations
   11020              : )
   11021              :                               {
   11022           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1467;
   11023           12 :                                 {
   11024           12 :                                   tree res_op0;
   11025           12 :                                   {
   11026           12 :                                     tree _o1[2], _r1;
   11027           12 :                                     _o1[0] = captures[1];
   11028           12 :                                     _o1[1] = captures[3];
   11029           12 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11030           12 :                                     res_op0 = _r1;
   11031              :                                   }
   11032           12 :                                   tree _r;
   11033           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, type, 1, res_op0);
   11034           12 :                                   if (!_r)
   11035           12 :                                     goto next_after_fail1467;
   11036            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
   11037            0 :                                   return _r;
   11038              :                                 }
   11039           12 : next_after_fail1467:;
   11040              :                               }
   11041              :                           }
   11042              :                         }
   11043              :                       break;
   11044              :                     default:;
   11045              :                     }
   11046              :                   break;
   11047              :                 default:;
   11048              :                 }
   11049              :             }
   11050              :           break;
   11051            0 :         case CFN_BUILT_IN_SQRTF128X:
   11052            0 :           if (call_expr_nargs (_p0) == 1)
   11053              :     {
   11054            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11055            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11056              :                 {
   11057            0 :                   {
   11058            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   11059            0 :                     tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF128X);
   11060            0 :                     if (res) return res;
   11061              :                   }
   11062              :                 }
   11063              :             }
   11064              :           break;
   11065            0 :         case CFN_EXP2:
   11066            0 :           if (call_expr_nargs (_p0) == 1)
   11067              :     {
   11068            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11069            0 :               switch (TREE_CODE (_p1))
   11070              :                 {
   11071            0 :                 case CALL_EXPR:
   11072            0 :                   switch (get_call_combined_fn (_p1))
   11073              :                     {
   11074            0 :                     case CFN_POW:
   11075            0 :                       if (call_expr_nargs (_p1) == 2)
   11076              :     {
   11077            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11078            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11079            0 :                           switch (TREE_CODE (_q40))
   11080              :                             {
   11081            0 :                             case REAL_CST:
   11082            0 :                               {
   11083            0 :                                 {
   11084            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11085            0 :                                   if (flag_unsafe_math_optimizations
   11086              : )
   11087              :                                     {
   11088            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11089            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11090              : )
   11091              :                                         {
   11092            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1468;
   11093            0 :                                           {
   11094            0 :                                             tree res_op0;
   11095            0 :                                             {
   11096            0 :                                               tree _o1[2], _r1;
   11097            0 :                                               {
   11098            0 :                                                 tree _o2[2], _r2;
   11099            0 :                                                 {
   11100            0 :                                                   tree _o3[1], _r3;
   11101            0 :                                                   _o3[0] = captures[1];
   11102            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11103            0 :                                                   if (!_r3)
   11104            0 :                                                     goto next_after_fail1468;
   11105            0 :                                                   _o2[0] = _r3;
   11106              :                                                 }
   11107            0 :                                                 _o2[1] = captures[2];
   11108            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11109            0 :                                                 _o1[0] = _r2;
   11110              :                                               }
   11111            0 :                                               _o1[1] = captures[4];
   11112            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11113            0 :                                               res_op0 = _r1;
   11114              :                                             }
   11115            0 :                                             tree _r;
   11116            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP2, type, 1, res_op0);
   11117            0 :                                             if (!_r)
   11118            0 :                                               goto next_after_fail1468;
   11119            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
   11120            0 :                                             return _r;
   11121              :                                           }
   11122            0 : next_after_fail1468:;
   11123              :                                         }
   11124              :                                     }
   11125              :                                 }
   11126            0 :                                 break;
   11127              :                               }
   11128              :                             default:;
   11129              :                             }
   11130              :                         }
   11131              :                       break;
   11132            0 :                     case CFN_EXP2:
   11133            0 :                       if (call_expr_nargs (_p1) == 1)
   11134              :     {
   11135            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11136            0 :                           {
   11137            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11138            0 :                             if (flag_unsafe_math_optimizations
   11139              : )
   11140              :                               {
   11141            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1469;
   11142            0 :                                 {
   11143            0 :                                   tree res_op0;
   11144            0 :                                   {
   11145            0 :                                     tree _o1[2], _r1;
   11146            0 :                                     _o1[0] = captures[1];
   11147            0 :                                     _o1[1] = captures[3];
   11148            0 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11149            0 :                                     res_op0 = _r1;
   11150              :                                   }
   11151            0 :                                   tree _r;
   11152            0 :                                   _r = maybe_build_call_expr_loc (loc, CFN_EXP2, type, 1, res_op0);
   11153            0 :                                   if (!_r)
   11154            0 :                                     goto next_after_fail1469;
   11155            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
   11156            0 :                                   return _r;
   11157              :                                 }
   11158            0 : next_after_fail1469:;
   11159              :                               }
   11160              :                           }
   11161              :                         }
   11162              :                       break;
   11163              :                     default:;
   11164              :                     }
   11165              :                   break;
   11166              :                 default:;
   11167              :                 }
   11168              :             }
   11169              :           break;
   11170            0 :         case CFN_SQRT:
   11171            0 :           if (call_expr_nargs (_p0) == 1)
   11172              :     {
   11173            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11174            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11175              :                 {
   11176            0 :                   {
   11177            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   11178            0 :                     tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_SQRT);
   11179            0 :                     if (res) return res;
   11180              :                   }
   11181              :                 }
   11182            0 :               switch (TREE_CODE (_p1))
   11183              :                 {
   11184            0 :                 case CALL_EXPR:
   11185            0 :                   switch (get_call_combined_fn (_p1))
   11186              :                     {
   11187            0 :                     case CFN_SQRT:
   11188            0 :                       if (call_expr_nargs (_p1) == 1)
   11189              :     {
   11190            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11191            0 :                           {
   11192            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11193            0 :                             if (flag_unsafe_math_optimizations
   11194              : )
   11195              :                               {
   11196            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1470;
   11197            0 :                                 {
   11198            0 :                                   tree res_op0;
   11199            0 :                                   {
   11200            0 :                                     tree _o1[2], _r1;
   11201            0 :                                     _o1[0] = captures[1];
   11202            0 :                                     _o1[1] = captures[3];
   11203            0 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11204            0 :                                     res_op0 = _r1;
   11205              :                                   }
   11206            0 :                                   tree _r;
   11207            0 :                                   _r = maybe_build_call_expr_loc (loc, CFN_SQRT, type, 1, res_op0);
   11208            0 :                                   if (!_r)
   11209            0 :                                     goto next_after_fail1470;
   11210            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 976, __FILE__, __LINE__, true);
   11211            0 :                                   return _r;
   11212              :                                 }
   11213            0 : next_after_fail1470:;
   11214              :                               }
   11215              :                           }
   11216              :                         }
   11217              :                       break;
   11218              :                     default:;
   11219              :                     }
   11220              :                   break;
   11221              :                 default:;
   11222              :                 }
   11223              :             }
   11224              :           break;
   11225            0 :         case CFN_EXP10:
   11226            0 :           if (call_expr_nargs (_p0) == 1)
   11227              :     {
   11228            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11229            0 :               switch (TREE_CODE (_p1))
   11230              :                 {
   11231            0 :                 case CALL_EXPR:
   11232            0 :                   switch (get_call_combined_fn (_p1))
   11233              :                     {
   11234            0 :                     case CFN_POW:
   11235            0 :                       if (call_expr_nargs (_p1) == 2)
   11236              :     {
   11237            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11238            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11239            0 :                           switch (TREE_CODE (_q40))
   11240              :                             {
   11241            0 :                             case REAL_CST:
   11242            0 :                               {
   11243            0 :                                 {
   11244            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11245            0 :                                   if (flag_unsafe_math_optimizations
   11246              : )
   11247              :                                     {
   11248            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11249            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11250              : )
   11251              :                                         {
   11252            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1471;
   11253            0 :                                           {
   11254            0 :                                             tree res_op0;
   11255            0 :                                             {
   11256            0 :                                               tree _o1[2], _r1;
   11257            0 :                                               {
   11258            0 :                                                 tree _o2[2], _r2;
   11259            0 :                                                 {
   11260            0 :                                                   tree _o3[1], _r3;
   11261            0 :                                                   _o3[0] = captures[1];
   11262            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11263            0 :                                                   if (!_r3)
   11264            0 :                                                     goto next_after_fail1471;
   11265            0 :                                                   _o2[0] = _r3;
   11266              :                                                 }
   11267            0 :                                                 _o2[1] = captures[2];
   11268            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11269            0 :                                                 _o1[0] = _r2;
   11270              :                                               }
   11271            0 :                                               _o1[1] = captures[4];
   11272            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11273            0 :                                               res_op0 = _r1;
   11274              :                                             }
   11275            0 :                                             tree _r;
   11276            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP10, type, 1, res_op0);
   11277            0 :                                             if (!_r)
   11278            0 :                                               goto next_after_fail1471;
   11279            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
   11280            0 :                                             return _r;
   11281              :                                           }
   11282            0 : next_after_fail1471:;
   11283              :                                         }
   11284              :                                     }
   11285              :                                 }
   11286            0 :                                 break;
   11287              :                               }
   11288              :                             default:;
   11289              :                             }
   11290              :                         }
   11291              :                       break;
   11292            0 :                     case CFN_EXP10:
   11293            0 :                       if (call_expr_nargs (_p1) == 1)
   11294              :     {
   11295            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11296            0 :                           {
   11297            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11298            0 :                             if (flag_unsafe_math_optimizations
   11299              : )
   11300              :                               {
   11301            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1472;
   11302            0 :                                 {
   11303            0 :                                   tree res_op0;
   11304            0 :                                   {
   11305            0 :                                     tree _o1[2], _r1;
   11306            0 :                                     _o1[0] = captures[1];
   11307            0 :                                     _o1[1] = captures[3];
   11308            0 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11309            0 :                                     res_op0 = _r1;
   11310              :                                   }
   11311            0 :                                   tree _r;
   11312            0 :                                   _r = maybe_build_call_expr_loc (loc, CFN_EXP10, type, 1, res_op0);
   11313            0 :                                   if (!_r)
   11314            0 :                                     goto next_after_fail1472;
   11315            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
   11316            0 :                                   return _r;
   11317              :                                 }
   11318            0 : next_after_fail1472:;
   11319              :                               }
   11320              :                           }
   11321              :                         }
   11322              :                       break;
   11323              :                     default:;
   11324              :                     }
   11325              :                   break;
   11326              :                 default:;
   11327              :                 }
   11328              :             }
   11329              :           break;
   11330           12 :         case CFN_BUILT_IN_CBRTF:
   11331           12 :           if (call_expr_nargs (_p0) == 1)
   11332              :     {
   11333           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11334           12 :               switch (TREE_CODE (_p1))
   11335              :                 {
   11336           12 :                 case CALL_EXPR:
   11337           12 :                   switch (get_call_combined_fn (_p1))
   11338              :                     {
   11339           12 :                     case CFN_BUILT_IN_CBRTF:
   11340           12 :                       if (call_expr_nargs (_p1) == 1)
   11341              :     {
   11342           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11343           12 :                           {
   11344           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11345           12 :                             if (flag_unsafe_math_optimizations
   11346              : )
   11347              :                               {
   11348           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1473;
   11349           12 :                                 {
   11350           12 :                                   tree res_op0;
   11351           12 :                                   {
   11352           12 :                                     tree _o1[2], _r1;
   11353           12 :                                     _o1[0] = captures[1];
   11354           12 :                                     _o1[1] = captures[3];
   11355           12 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11356           12 :                                     res_op0 = _r1;
   11357              :                                   }
   11358           12 :                                   tree _r;
   11359           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTF, type, 1, res_op0);
   11360           12 :                                   if (!_r)
   11361            0 :                                     goto next_after_fail1473;
   11362           12 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 976, __FILE__, __LINE__, true);
   11363           12 :                                   return _r;
   11364              :                                 }
   11365            0 : next_after_fail1473:;
   11366              :                               }
   11367              :                           }
   11368              :                         }
   11369              :                       break;
   11370              :                     default:;
   11371              :                     }
   11372              :                   break;
   11373              :                 default:;
   11374              :                 }
   11375              :             }
   11376              :           break;
   11377           12 :         case CFN_BUILT_IN_CBRTL:
   11378           12 :           if (call_expr_nargs (_p0) == 1)
   11379              :     {
   11380           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11381           12 :               switch (TREE_CODE (_p1))
   11382              :                 {
   11383           12 :                 case CALL_EXPR:
   11384           12 :                   switch (get_call_combined_fn (_p1))
   11385              :                     {
   11386           12 :                     case CFN_BUILT_IN_CBRTL:
   11387           12 :                       if (call_expr_nargs (_p1) == 1)
   11388              :     {
   11389           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11390           12 :                           {
   11391           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11392           12 :                             if (flag_unsafe_math_optimizations
   11393              : )
   11394              :                               {
   11395           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1474;
   11396           12 :                                 {
   11397           12 :                                   tree res_op0;
   11398           12 :                                   {
   11399           12 :                                     tree _o1[2], _r1;
   11400           12 :                                     _o1[0] = captures[1];
   11401           12 :                                     _o1[1] = captures[3];
   11402           12 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11403           12 :                                     res_op0 = _r1;
   11404              :                                   }
   11405           12 :                                   tree _r;
   11406           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTL, type, 1, res_op0);
   11407           12 :                                   if (!_r)
   11408            0 :                                     goto next_after_fail1474;
   11409           12 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 976, __FILE__, __LINE__, true);
   11410           12 :                                   return _r;
   11411              :                                 }
   11412            0 : next_after_fail1474:;
   11413              :                               }
   11414              :                           }
   11415              :                         }
   11416              :                       break;
   11417              :                     default:;
   11418              :                     }
   11419              :                   break;
   11420              :                 default:;
   11421              :                 }
   11422              :             }
   11423              :           break;
   11424            0 :         case CFN_LDEXP:
   11425            0 :           if (call_expr_nargs (_p0) == 2)
   11426              :     {
   11427            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11428            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   11429            0 :               switch (TREE_CODE (_p1))
   11430              :                 {
   11431            0 :                 case REAL_CST:
   11432            0 :                   {
   11433            0 :                     {
   11434            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   11435            0 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_LDEXP);
   11436            0 :                       if (res) return res;
   11437              :                     }
   11438            0 :                     break;
   11439              :                   }
   11440            0 :                 default:;
   11441              :                 }
   11442            0 :               switch (TREE_CODE (_q20))
   11443              :                 {
   11444            0 :                 case REAL_CST:
   11445            0 :                   {
   11446            0 :                     {
   11447            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   11448            0 :                       tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_LDEXP);
   11449            0 :                       if (res) return res;
   11450              :                     }
   11451            0 :                     break;
   11452              :                   }
   11453              :                 default:;
   11454              :                 }
   11455              :             }
   11456              :           break;
   11457           48 :         case CFN_BUILT_IN_EXP10:
   11458           48 :           if (call_expr_nargs (_p0) == 1)
   11459              :     {
   11460           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11461           48 :               switch (TREE_CODE (_p1))
   11462              :                 {
   11463           24 :                 case CALL_EXPR:
   11464           24 :                   switch (get_call_combined_fn (_p1))
   11465              :                     {
   11466            0 :                     case CFN_BUILT_IN_POW:
   11467            0 :                       if (call_expr_nargs (_p1) == 2)
   11468              :     {
   11469            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11470            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11471            0 :                           switch (TREE_CODE (_q40))
   11472              :                             {
   11473            0 :                             case REAL_CST:
   11474            0 :                               {
   11475            0 :                                 {
   11476            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11477            0 :                                   if (flag_unsafe_math_optimizations
   11478              : )
   11479              :                                     {
   11480            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11481            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11482              : )
   11483              :                                         {
   11484            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1475;
   11485            0 :                                           {
   11486            0 :                                             tree res_op0;
   11487            0 :                                             {
   11488            0 :                                               tree _o1[2], _r1;
   11489            0 :                                               {
   11490            0 :                                                 tree _o2[2], _r2;
   11491            0 :                                                 {
   11492            0 :                                                   tree _o3[1], _r3;
   11493            0 :                                                   _o3[0] = captures[1];
   11494            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11495            0 :                                                   if (!_r3)
   11496            0 :                                                     goto next_after_fail1475;
   11497            0 :                                                   _o2[0] = _r3;
   11498              :                                                 }
   11499            0 :                                                 _o2[1] = captures[2];
   11500            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11501            0 :                                                 _o1[0] = _r2;
   11502              :                                               }
   11503            0 :                                               _o1[1] = captures[4];
   11504            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11505            0 :                                               res_op0 = _r1;
   11506              :                                             }
   11507            0 :                                             tree _r;
   11508            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, type, 1, res_op0);
   11509            0 :                                             if (!_r)
   11510            0 :                                               goto next_after_fail1475;
   11511            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
   11512            0 :                                             return _r;
   11513              :                                           }
   11514            0 : next_after_fail1475:;
   11515              :                                         }
   11516              :                                     }
   11517              :                                 }
   11518            0 :                                 break;
   11519              :                               }
   11520              :                             default:;
   11521              :                             }
   11522              :                         }
   11523              :                       break;
   11524           24 :                     case CFN_BUILT_IN_EXP10:
   11525           24 :                       if (call_expr_nargs (_p1) == 1)
   11526              :     {
   11527           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11528           24 :                           {
   11529           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11530           24 :                             if (flag_unsafe_math_optimizations
   11531              : )
   11532              :                               {
   11533           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1476;
   11534           24 :                                 {
   11535           24 :                                   tree res_op0;
   11536           24 :                                   {
   11537           24 :                                     tree _o1[2], _r1;
   11538           24 :                                     _o1[0] = captures[1];
   11539           24 :                                     _o1[1] = captures[3];
   11540           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11541           24 :                                     res_op0 = _r1;
   11542              :                                   }
   11543           24 :                                   tree _r;
   11544           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, type, 1, res_op0);
   11545           24 :                                   if (!_r)
   11546            0 :                                     goto next_after_fail1476;
   11547           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
   11548           24 :                                   return _r;
   11549              :                                 }
   11550            0 : next_after_fail1476:;
   11551              :                               }
   11552              :                           }
   11553              :                         }
   11554              :                       break;
   11555              :                     default:;
   11556              :                     }
   11557              :                   break;
   11558              :                 default:;
   11559              :                 }
   11560              :             }
   11561              :           break;
   11562           48 :         case CFN_BUILT_IN_EXP2F:
   11563           48 :           if (call_expr_nargs (_p0) == 1)
   11564              :     {
   11565           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11566           48 :               switch (TREE_CODE (_p1))
   11567              :                 {
   11568           24 :                 case CALL_EXPR:
   11569           24 :                   switch (get_call_combined_fn (_p1))
   11570              :                     {
   11571            0 :                     case CFN_BUILT_IN_POWF:
   11572            0 :                       if (call_expr_nargs (_p1) == 2)
   11573              :     {
   11574            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11575            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11576            0 :                           switch (TREE_CODE (_q40))
   11577              :                             {
   11578            0 :                             case REAL_CST:
   11579            0 :                               {
   11580            0 :                                 {
   11581            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11582            0 :                                   if (flag_unsafe_math_optimizations
   11583              : )
   11584              :                                     {
   11585            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11586            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11587              : )
   11588              :                                         {
   11589            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1477;
   11590            0 :                                           {
   11591            0 :                                             tree res_op0;
   11592            0 :                                             {
   11593            0 :                                               tree _o1[2], _r1;
   11594            0 :                                               {
   11595            0 :                                                 tree _o2[2], _r2;
   11596            0 :                                                 {
   11597            0 :                                                   tree _o3[1], _r3;
   11598            0 :                                                   _o3[0] = captures[1];
   11599            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2F, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11600            0 :                                                   if (!_r3)
   11601            0 :                                                     goto next_after_fail1477;
   11602            0 :                                                   _o2[0] = _r3;
   11603              :                                                 }
   11604            0 :                                                 _o2[1] = captures[2];
   11605            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11606            0 :                                                 _o1[0] = _r2;
   11607              :                                               }
   11608            0 :                                               _o1[1] = captures[4];
   11609            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11610            0 :                                               res_op0 = _r1;
   11611              :                                             }
   11612            0 :                                             tree _r;
   11613            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, type, 1, res_op0);
   11614            0 :                                             if (!_r)
   11615            0 :                                               goto next_after_fail1477;
   11616            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
   11617            0 :                                             return _r;
   11618              :                                           }
   11619            0 : next_after_fail1477:;
   11620              :                                         }
   11621              :                                     }
   11622              :                                 }
   11623            0 :                                 break;
   11624              :                               }
   11625              :                             default:;
   11626              :                             }
   11627              :                         }
   11628              :                       break;
   11629           24 :                     case CFN_BUILT_IN_EXP2F:
   11630           24 :                       if (call_expr_nargs (_p1) == 1)
   11631              :     {
   11632           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11633           24 :                           {
   11634           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11635           24 :                             if (flag_unsafe_math_optimizations
   11636              : )
   11637              :                               {
   11638           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1478;
   11639           24 :                                 {
   11640           24 :                                   tree res_op0;
   11641           24 :                                   {
   11642           24 :                                     tree _o1[2], _r1;
   11643           24 :                                     _o1[0] = captures[1];
   11644           24 :                                     _o1[1] = captures[3];
   11645           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11646           24 :                                     res_op0 = _r1;
   11647              :                                   }
   11648           24 :                                   tree _r;
   11649           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, type, 1, res_op0);
   11650           24 :                                   if (!_r)
   11651            0 :                                     goto next_after_fail1478;
   11652           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
   11653           24 :                                   return _r;
   11654              :                                 }
   11655            0 : next_after_fail1478:;
   11656              :                               }
   11657              :                           }
   11658              :                         }
   11659              :                       break;
   11660              :                     default:;
   11661              :                     }
   11662              :                   break;
   11663              :                 default:;
   11664              :                 }
   11665              :             }
   11666              :           break;
   11667           48 :         case CFN_BUILT_IN_EXP2L:
   11668           48 :           if (call_expr_nargs (_p0) == 1)
   11669              :     {
   11670           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11671           48 :               switch (TREE_CODE (_p1))
   11672              :                 {
   11673           24 :                 case CALL_EXPR:
   11674           24 :                   switch (get_call_combined_fn (_p1))
   11675              :                     {
   11676            0 :                     case CFN_BUILT_IN_POWL:
   11677            0 :                       if (call_expr_nargs (_p1) == 2)
   11678              :     {
   11679            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11680            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11681            0 :                           switch (TREE_CODE (_q40))
   11682              :                             {
   11683            0 :                             case REAL_CST:
   11684            0 :                               {
   11685            0 :                                 {
   11686            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11687            0 :                                   if (flag_unsafe_math_optimizations
   11688              : )
   11689              :                                     {
   11690            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11691            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11692              : )
   11693              :                                         {
   11694            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1479;
   11695            0 :                                           {
   11696            0 :                                             tree res_op0;
   11697            0 :                                             {
   11698            0 :                                               tree _o1[2], _r1;
   11699            0 :                                               {
   11700            0 :                                                 tree _o2[2], _r2;
   11701            0 :                                                 {
   11702            0 :                                                   tree _o3[1], _r3;
   11703            0 :                                                   _o3[0] = captures[1];
   11704            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11705            0 :                                                   if (!_r3)
   11706            0 :                                                     goto next_after_fail1479;
   11707            0 :                                                   _o2[0] = _r3;
   11708              :                                                 }
   11709            0 :                                                 _o2[1] = captures[2];
   11710            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11711            0 :                                                 _o1[0] = _r2;
   11712              :                                               }
   11713            0 :                                               _o1[1] = captures[4];
   11714            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11715            0 :                                               res_op0 = _r1;
   11716              :                                             }
   11717            0 :                                             tree _r;
   11718            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, type, 1, res_op0);
   11719            0 :                                             if (!_r)
   11720            0 :                                               goto next_after_fail1479;
   11721            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
   11722            0 :                                             return _r;
   11723              :                                           }
   11724            0 : next_after_fail1479:;
   11725              :                                         }
   11726              :                                     }
   11727              :                                 }
   11728            0 :                                 break;
   11729              :                               }
   11730              :                             default:;
   11731              :                             }
   11732              :                         }
   11733              :                       break;
   11734           24 :                     case CFN_BUILT_IN_EXP2L:
   11735           24 :                       if (call_expr_nargs (_p1) == 1)
   11736              :     {
   11737           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11738           24 :                           {
   11739           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11740           24 :                             if (flag_unsafe_math_optimizations
   11741              : )
   11742              :                               {
   11743           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1480;
   11744           24 :                                 {
   11745           24 :                                   tree res_op0;
   11746           24 :                                   {
   11747           24 :                                     tree _o1[2], _r1;
   11748           24 :                                     _o1[0] = captures[1];
   11749           24 :                                     _o1[1] = captures[3];
   11750           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11751           24 :                                     res_op0 = _r1;
   11752              :                                   }
   11753           24 :                                   tree _r;
   11754           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, type, 1, res_op0);
   11755           24 :                                   if (!_r)
   11756            0 :                                     goto next_after_fail1480;
   11757           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
   11758           24 :                                   return _r;
   11759              :                                 }
   11760            0 : next_after_fail1480:;
   11761              :                               }
   11762              :                           }
   11763              :                         }
   11764              :                       break;
   11765              :                     default:;
   11766              :                     }
   11767              :                   break;
   11768              :                 default:;
   11769              :                 }
   11770              :             }
   11771              :           break;
   11772            5 :         case CFN_BUILT_IN_LDEXP:
   11773            5 :           if (call_expr_nargs (_p0) == 2)
   11774              :     {
   11775            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11776            5 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   11777            5 :               switch (TREE_CODE (_p1))
   11778              :                 {
   11779            2 :                 case REAL_CST:
   11780            2 :                   {
   11781            2 :                     {
   11782            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   11783            2 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXP);
   11784            2 :                       if (res) return res;
   11785              :                     }
   11786            1 :                     break;
   11787              :                   }
   11788            4 :                 default:;
   11789              :                 }
   11790            4 :               switch (TREE_CODE (_q20))
   11791              :                 {
   11792            3 :                 case REAL_CST:
   11793            3 :                   {
   11794            3 :                     {
   11795            3 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   11796            3 :                       tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXP);
   11797            3 :                       if (res) return res;
   11798              :                     }
   11799            0 :                     break;
   11800              :                   }
   11801              :                 default:;
   11802              :                 }
   11803              :             }
   11804              :           break;
   11805           24 :         case CFN_BUILT_IN_POW10:
   11806           24 :           if (call_expr_nargs (_p0) == 1)
   11807              :     {
   11808           24 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11809           24 :               switch (TREE_CODE (_p1))
   11810              :                 {
   11811           12 :                 case CALL_EXPR:
   11812           12 :                   switch (get_call_combined_fn (_p1))
   11813              :                     {
   11814            0 :                     case CFN_BUILT_IN_POW:
   11815            0 :                       if (call_expr_nargs (_p1) == 2)
   11816              :     {
   11817            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11818            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11819            0 :                           switch (TREE_CODE (_q40))
   11820              :                             {
   11821            0 :                             case REAL_CST:
   11822            0 :                               {
   11823            0 :                                 {
   11824            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11825            0 :                                   if (flag_unsafe_math_optimizations
   11826              : )
   11827              :                                     {
   11828            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11829            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11830              : )
   11831              :                                         {
   11832            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1481;
   11833            0 :                                           {
   11834            0 :                                             tree res_op0;
   11835            0 :                                             {
   11836            0 :                                               tree _o1[2], _r1;
   11837            0 :                                               {
   11838            0 :                                                 tree _o2[2], _r2;
   11839            0 :                                                 {
   11840            0 :                                                   tree _o3[1], _r3;
   11841            0 :                                                   _o3[0] = captures[1];
   11842            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11843            0 :                                                   if (!_r3)
   11844            0 :                                                     goto next_after_fail1481;
   11845            0 :                                                   _o2[0] = _r3;
   11846              :                                                 }
   11847            0 :                                                 _o2[1] = captures[2];
   11848            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11849            0 :                                                 _o1[0] = _r2;
   11850              :                                               }
   11851            0 :                                               _o1[1] = captures[4];
   11852            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11853            0 :                                               res_op0 = _r1;
   11854              :                                             }
   11855            0 :                                             tree _r;
   11856            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, type, 1, res_op0);
   11857            0 :                                             if (!_r)
   11858            0 :                                               goto next_after_fail1481;
   11859            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
   11860            0 :                                             return _r;
   11861              :                                           }
   11862            0 : next_after_fail1481:;
   11863              :                                         }
   11864              :                                     }
   11865              :                                 }
   11866            0 :                                 break;
   11867              :                               }
   11868              :                             default:;
   11869              :                             }
   11870              :                         }
   11871              :                       break;
   11872           12 :                     case CFN_BUILT_IN_POW10:
   11873           12 :                       if (call_expr_nargs (_p1) == 1)
   11874              :     {
   11875           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11876           12 :                           {
   11877           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11878           12 :                             if (flag_unsafe_math_optimizations
   11879              : )
   11880              :                               {
   11881           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1482;
   11882           12 :                                 {
   11883           12 :                                   tree res_op0;
   11884           12 :                                   {
   11885           12 :                                     tree _o1[2], _r1;
   11886           12 :                                     _o1[0] = captures[1];
   11887           12 :                                     _o1[1] = captures[3];
   11888           12 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11889           12 :                                     res_op0 = _r1;
   11890              :                                   }
   11891           12 :                                   tree _r;
   11892           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, type, 1, res_op0);
   11893           12 :                                   if (!_r)
   11894           12 :                                     goto next_after_fail1482;
   11895            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
   11896            0 :                                   return _r;
   11897              :                                 }
   11898           12 : next_after_fail1482:;
   11899              :                               }
   11900              :                           }
   11901              :                         }
   11902              :                       break;
   11903              :                     default:;
   11904              :                     }
   11905              :                   break;
   11906              :                 default:;
   11907              :                 }
   11908              :             }
   11909              :           break;
   11910              :         default:;
   11911              :         }
   11912              :       break;
   11913     65139397 :     default:;
   11914              :     }
   11915     65139397 :   switch (TREE_CODE (_p1))
   11916              :     {
   11917       870286 :     case CALL_EXPR:
   11918       870286 :       switch (get_call_combined_fn (_p1))
   11919              :         {
   11920            0 :         case CFN_BUILT_IN_LDEXPF:
   11921            0 :           if (call_expr_nargs (_p1) == 2)
   11922              :     {
   11923            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   11924            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   11925            0 :               switch (TREE_CODE (_q30))
   11926              :                 {
   11927            0 :                 case REAL_CST:
   11928            0 :                   {
   11929            0 :                     {
   11930            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
   11931            0 :                       tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPF);
   11932            0 :                       if (res) return res;
   11933              :                     }
   11934            0 :                     break;
   11935              :                   }
   11936              :                 default:;
   11937              :                 }
   11938              :             }
   11939              :           break;
   11940            0 :         case CFN_BUILT_IN_LDEXPL:
   11941            0 :           if (call_expr_nargs (_p1) == 2)
   11942              :     {
   11943            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   11944            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   11945            0 :               switch (TREE_CODE (_q30))
   11946              :                 {
   11947            0 :                 case REAL_CST:
   11948            0 :                   {
   11949            0 :                     {
   11950            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
   11951            0 :                       tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPL);
   11952            0 :                       if (res) return res;
   11953              :                     }
   11954            0 :                     break;
   11955              :                   }
   11956              :                 default:;
   11957              :                 }
   11958              :             }
   11959              :           break;
   11960            0 :         case CFN_LDEXP:
   11961            0 :           if (call_expr_nargs (_p1) == 2)
   11962              :     {
   11963            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   11964            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   11965            0 :               switch (TREE_CODE (_q30))
   11966              :                 {
   11967            0 :                 case REAL_CST:
   11968            0 :                   {
   11969            0 :                     {
   11970            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
   11971            0 :                       tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_LDEXP);
   11972            0 :                       if (res) return res;
   11973              :                     }
   11974            0 :                     break;
   11975              :                   }
   11976              :                 default:;
   11977              :                 }
   11978              :             }
   11979              :           break;
   11980            0 :         case CFN_BUILT_IN_LDEXP:
   11981            0 :           if (call_expr_nargs (_p1) == 2)
   11982              :     {
   11983            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   11984            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   11985            0 :               switch (TREE_CODE (_q30))
   11986              :                 {
   11987            0 :                 case REAL_CST:
   11988            0 :                   {
   11989            0 :                     {
   11990            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
   11991            0 :                       tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXP);
   11992            0 :                       if (res) return res;
   11993              :                     }
   11994            0 :                     break;
   11995              :                   }
   11996              :                 default:;
   11997              :                 }
   11998              :             }
   11999              :           break;
   12000              :         default:;
   12001              :         }
   12002              :       break;
   12003     65139397 :     default:;
   12004              :     }
   12005     65139397 :   switch (TREE_CODE (_p0))
   12006              :     {
   12007      2427029 :     case CALL_EXPR:
   12008      2427029 :       switch (get_call_combined_fn (_p0))
   12009              :         {
   12010           29 :         case CFN_BUILT_IN_COS:
   12011           29 :           if (call_expr_nargs (_p0) == 1)
   12012              :     {
   12013           29 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12014           29 :               switch (TREE_CODE (_p1))
   12015              :                 {
   12016            4 :                 case CALL_EXPR:
   12017            4 :                   switch (get_call_combined_fn (_p1))
   12018              :                     {
   12019            2 :                     case CFN_BUILT_IN_TAN:
   12020            2 :                       if (call_expr_nargs (_p1) == 1)
   12021              :     {
   12022            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12023            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12024              :                             {
   12025            2 :                               {
   12026            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
   12027            2 :                                 tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_COS, CFN_BUILT_IN_SIN);
   12028            2 :                                 if (res) return res;
   12029              :                               }
   12030              :                             }
   12031              :                         }
   12032              :                       break;
   12033              :                     default:;
   12034              :                     }
   12035              :                   break;
   12036              :                 default:;
   12037              :                 }
   12038              :             }
   12039              :           break;
   12040            2 :         case CFN_BUILT_IN_TAN:
   12041            2 :           if (call_expr_nargs (_p0) == 1)
   12042              :     {
   12043            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12044            2 :               switch (TREE_CODE (_p1))
   12045              :                 {
   12046            2 :                 case CALL_EXPR:
   12047            2 :                   switch (get_call_combined_fn (_p1))
   12048              :                     {
   12049            2 :                     case CFN_BUILT_IN_COS:
   12050            2 :                       if (call_expr_nargs (_p1) == 1)
   12051              :     {
   12052            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12053            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12054              :                             {
   12055            2 :                               {
   12056            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   12057            2 :                                 tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_COS, CFN_BUILT_IN_SIN);
   12058            2 :                                 if (res) return res;
   12059              :                               }
   12060              :                             }
   12061              :                         }
   12062              :                       break;
   12063              :                     default:;
   12064              :                     }
   12065              :                   break;
   12066              :                 default:;
   12067              :                 }
   12068              :             }
   12069              :           break;
   12070           18 :         case CFN_BUILT_IN_COSF:
   12071           18 :           if (call_expr_nargs (_p0) == 1)
   12072              :     {
   12073           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12074           18 :               switch (TREE_CODE (_p1))
   12075              :                 {
   12076            9 :                 case CALL_EXPR:
   12077            9 :                   switch (get_call_combined_fn (_p1))
   12078              :                     {
   12079            2 :                     case CFN_BUILT_IN_TANF:
   12080            2 :                       if (call_expr_nargs (_p1) == 1)
   12081              :     {
   12082            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12083            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12084              :                             {
   12085            2 :                               {
   12086            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
   12087            2 :                                 tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_SINF);
   12088            2 :                                 if (res) return res;
   12089              :                               }
   12090              :                             }
   12091              :                         }
   12092              :                       break;
   12093              :                     default:;
   12094              :                     }
   12095              :                   break;
   12096              :                 default:;
   12097              :                 }
   12098              :             }
   12099              :           break;
   12100            2 :         case CFN_BUILT_IN_COSL:
   12101            2 :           if (call_expr_nargs (_p0) == 1)
   12102              :     {
   12103            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12104            2 :               switch (TREE_CODE (_p1))
   12105              :                 {
   12106            2 :                 case CALL_EXPR:
   12107            2 :                   switch (get_call_combined_fn (_p1))
   12108              :                     {
   12109            2 :                     case CFN_BUILT_IN_TANL:
   12110            2 :                       if (call_expr_nargs (_p1) == 1)
   12111              :     {
   12112            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12113            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12114              :                             {
   12115            2 :                               {
   12116            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
   12117            2 :                                 tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_SINL);
   12118            2 :                                 if (res) return res;
   12119              :                               }
   12120              :                             }
   12121              :                         }
   12122              :                       break;
   12123              :                     default:;
   12124              :                     }
   12125              :                   break;
   12126              :                 default:;
   12127              :                 }
   12128              :             }
   12129              :           break;
   12130            2 :         case CFN_BUILT_IN_TANF:
   12131            2 :           if (call_expr_nargs (_p0) == 1)
   12132              :     {
   12133            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12134            2 :               switch (TREE_CODE (_p1))
   12135              :                 {
   12136            2 :                 case CALL_EXPR:
   12137            2 :                   switch (get_call_combined_fn (_p1))
   12138              :                     {
   12139            2 :                     case CFN_BUILT_IN_COSF:
   12140            2 :                       if (call_expr_nargs (_p1) == 1)
   12141              :     {
   12142            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12143            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12144              :                             {
   12145            2 :                               {
   12146            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   12147            2 :                                 tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_SINF);
   12148            2 :                                 if (res) return res;
   12149              :                               }
   12150              :                             }
   12151              :                         }
   12152              :                       break;
   12153              :                     default:;
   12154              :                     }
   12155              :                   break;
   12156              :                 default:;
   12157              :                 }
   12158              :             }
   12159              :           break;
   12160            2 :         case CFN_BUILT_IN_TANL:
   12161            2 :           if (call_expr_nargs (_p0) == 1)
   12162              :     {
   12163            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12164            2 :               switch (TREE_CODE (_p1))
   12165              :                 {
   12166            2 :                 case CALL_EXPR:
   12167            2 :                   switch (get_call_combined_fn (_p1))
   12168              :                     {
   12169            2 :                     case CFN_BUILT_IN_COSL:
   12170            2 :                       if (call_expr_nargs (_p1) == 1)
   12171              :     {
   12172            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12173            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12174              :                             {
   12175            2 :                               {
   12176            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   12177            2 :                                 tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_SINL);
   12178            2 :                                 if (res) return res;
   12179              :                               }
   12180              :                             }
   12181              :                         }
   12182              :                       break;
   12183              :                     default:;
   12184              :                     }
   12185              :                   break;
   12186              :                 default:;
   12187              :                 }
   12188              :             }
   12189              :           break;
   12190            0 :         case CFN_COS:
   12191            0 :           if (call_expr_nargs (_p0) == 1)
   12192              :     {
   12193            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12194            0 :               switch (TREE_CODE (_p1))
   12195              :                 {
   12196            0 :                 case CALL_EXPR:
   12197            0 :                   switch (get_call_combined_fn (_p1))
   12198              :                     {
   12199            0 :                     case CFN_TAN:
   12200            0 :                       if (call_expr_nargs (_p1) == 1)
   12201              :     {
   12202            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12203            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12204              :                             {
   12205            0 :                               {
   12206            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
   12207            0 :                                 tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_TAN, CFN_COS, CFN_SIN);
   12208            0 :                                 if (res) return res;
   12209              :                               }
   12210              :                             }
   12211              :                         }
   12212              :                       break;
   12213              :                     default:;
   12214              :                     }
   12215              :                   break;
   12216              :                 default:;
   12217              :                 }
   12218              :             }
   12219              :           break;
   12220            0 :         case CFN_TAN:
   12221            0 :           if (call_expr_nargs (_p0) == 1)
   12222              :     {
   12223            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12224            0 :               switch (TREE_CODE (_p1))
   12225              :                 {
   12226            0 :                 case CALL_EXPR:
   12227            0 :                   switch (get_call_combined_fn (_p1))
   12228              :                     {
   12229            0 :                     case CFN_COS:
   12230            0 :                       if (call_expr_nargs (_p1) == 1)
   12231              :     {
   12232            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12233            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12234              :                             {
   12235            0 :                               {
   12236            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   12237            0 :                                 tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_TAN, CFN_COS, CFN_SIN);
   12238            0 :                                 if (res) return res;
   12239              :                               }
   12240              :                             }
   12241              :                         }
   12242              :                       break;
   12243              :                     default:;
   12244              :                     }
   12245              :                   break;
   12246              :                 default:;
   12247              :                 }
   12248              :             }
   12249              :           break;
   12250              :         default:;
   12251              :         }
   12252              :       break;
   12253     65139385 :     default:;
   12254              :     }
   12255     65139385 :   switch (TREE_CODE (_p1))
   12256              :     {
   12257       870274 :     case CALL_EXPR:
   12258       870274 :       switch (get_call_combined_fn (_p1))
   12259              :         {
   12260           60 :         case CFN_BUILT_IN_POW:
   12261           60 :           if (call_expr_nargs (_p1) == 2)
   12262              :     {
   12263           60 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12264           60 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12265           60 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12266              :                 {
   12267            0 :                   switch (TREE_CODE (_q31))
   12268              :                     {
   12269            0 :                     case REAL_CST:
   12270            0 :                       {
   12271            0 :                         {
   12272            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   12273            0 :                           tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
   12274            0 :                           if (res) return res;
   12275              :                         }
   12276            0 :                         break;
   12277              :                       }
   12278              :                     default:;
   12279              :                     }
   12280              :                 }
   12281              :             }
   12282              :           break;
   12283           23 :         case CFN_BUILT_IN_POWF:
   12284           23 :           if (call_expr_nargs (_p1) == 2)
   12285              :     {
   12286           23 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12287           23 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12288           23 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12289              :                 {
   12290            0 :                   switch (TREE_CODE (_q31))
   12291              :                     {
   12292            0 :                     case REAL_CST:
   12293            0 :                       {
   12294            0 :                         {
   12295            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   12296            0 :                           tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
   12297            0 :                           if (res) return res;
   12298              :                         }
   12299            0 :                         break;
   12300              :                       }
   12301              :                     default:;
   12302              :                     }
   12303              :                 }
   12304              :             }
   12305              :           break;
   12306           12 :         case CFN_BUILT_IN_POWL:
   12307           12 :           if (call_expr_nargs (_p1) == 2)
   12308              :     {
   12309           12 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12310           12 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12311           12 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12312              :                 {
   12313            0 :                   switch (TREE_CODE (_q31))
   12314              :                     {
   12315            0 :                     case REAL_CST:
   12316            0 :                       {
   12317            0 :                         {
   12318            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   12319            0 :                           tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
   12320            0 :                           if (res) return res;
   12321              :                         }
   12322            0 :                         break;
   12323              :                       }
   12324              :                     default:;
   12325              :                     }
   12326              :                 }
   12327              :             }
   12328              :           break;
   12329            0 :         case CFN_POW:
   12330            0 :           if (call_expr_nargs (_p1) == 2)
   12331              :     {
   12332            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12333            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12334            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12335              :                 {
   12336            0 :                   switch (TREE_CODE (_q31))
   12337              :                     {
   12338            0 :                     case REAL_CST:
   12339            0 :                       {
   12340            0 :                         {
   12341            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   12342            0 :                           tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_POW);
   12343            0 :                           if (res) return res;
   12344              :                         }
   12345            0 :                         break;
   12346              :                       }
   12347              :                     default:;
   12348              :                     }
   12349              :                 }
   12350              :             }
   12351              :           break;
   12352              :         default:;
   12353              :         }
   12354              :       break;
   12355     65139385 :     default:;
   12356              :     }
   12357     65139385 :   switch (TREE_CODE (_p0))
   12358              :     {
   12359            1 :     case VEC_PERM_EXPR:
   12360            1 :       {
   12361            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12362            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12363            1 :         tree _q22 = TREE_OPERAND (_p0, 2);
   12364            1 :         if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
   12365              :           {
   12366            1 :             switch (TREE_CODE (_p1))
   12367              :               {
   12368            0 :               case VEC_PERM_EXPR:
   12369            0 :                 {
   12370            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
   12371            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
   12372            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
   12373            0 :                   if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
   12374              :                     {
   12375            0 :                       if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
   12376              :                         {
   12377            0 :                           {
   12378            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
   12379            0 :                             if (VECTOR_INTEGER_TYPE_P (type)
   12380              : )
   12381              :                               {
   12382            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1483;
   12383            0 :                                 {
   12384            0 :                                   tree res_op0;
   12385            0 :                                   {
   12386            0 :                                     tree _o1[2], _r1;
   12387            0 :                                     _o1[0] = captures[0];
   12388            0 :                                     _o1[1] = captures[2];
   12389            0 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12390            0 :                                     captures[3] = _r1;
   12391              :                                   }
   12392            0 :                                   res_op0 = unshare_expr (captures[3]);
   12393            0 :                                   tree res_op1;
   12394            0 :                                   res_op1 = captures[3];
   12395            0 :                                   tree res_op2;
   12396            0 :                                   res_op2 = captures[1];
   12397            0 :                                   tree _r;
   12398            0 :                                   _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
   12399            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
   12400            0 :                                   return _r;
   12401              :                                 }
   12402            0 : next_after_fail1483:;
   12403              :                               }
   12404              :                           }
   12405              :                         }
   12406              :                     }
   12407              :                   break;
   12408              :                 }
   12409            1 :               default:;
   12410              :               }
   12411            1 :             switch (TREE_CODE (_q22))
   12412              :               {
   12413            0 :               case VECTOR_CST:
   12414            0 :                 {
   12415            0 :                   switch (TREE_CODE (_p1))
   12416              :                     {
   12417            0 :                     case VEC_PERM_EXPR:
   12418            0 :                       {
   12419            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   12420            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   12421            0 :                         tree _q62 = TREE_OPERAND (_p1, 2);
   12422            0 :                         if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
   12423              :                           {
   12424            0 :                             if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
   12425              :                               {
   12426            0 :                                 switch (TREE_CODE (_q62))
   12427              :                                   {
   12428            0 :                                   case VECTOR_CST:
   12429            0 :                                     {
   12430            0 :                                       {
   12431            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
   12432            0 :                                         tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, MULT_EXPR);
   12433            0 :                                         if (res) return res;
   12434              :                                       }
   12435            0 :                                       break;
   12436              :                                     }
   12437              :                                   default:;
   12438              :                                   }
   12439              :                               }
   12440              :                           }
   12441              :                         break;
   12442              :                       }
   12443              :                     default:;
   12444              :                     }
   12445              :                   break;
   12446              :                 }
   12447              :               default:;
   12448              :               }
   12449              :           }
   12450              :         break;
   12451              :       }
   12452      2427017 :     case CALL_EXPR:
   12453      2427017 :       switch (get_call_combined_fn (_p0))
   12454              :         {
   12455          115 :         case CFN_BUILT_IN_POW:
   12456          115 :           if (call_expr_nargs (_p0) == 2)
   12457              :     {
   12458          115 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12459          115 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12460          115 :               switch (TREE_CODE (_p1))
   12461              :                 {
   12462           80 :                 case CALL_EXPR:
   12463           80 :                   switch (get_call_combined_fn (_p1))
   12464              :                     {
   12465           20 :                     case CFN_BUILT_IN_POW:
   12466           20 :                       if (call_expr_nargs (_p1) == 2)
   12467              :     {
   12468           20 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12469           20 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12470           20 :                           if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12471              :                             {
   12472           14 :                               {
   12473           14 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   12474           14 :                                 tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
   12475           14 :                                 if (res) return res;
   12476              :                               }
   12477              :                             }
   12478            6 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12479              :                             {
   12480            2 :                               {
   12481            2 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12482            2 :                                 tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
   12483            2 :                                 if (res) return res;
   12484              :                               }
   12485              :                             }
   12486              :                         }
   12487              :                       break;
   12488              :                     default:;
   12489              :                     }
   12490              :                   break;
   12491              :                 default:;
   12492              :                 }
   12493              :             }
   12494              :           break;
   12495           19 :         case CFN_BUILT_IN_POWF:
   12496           19 :           if (call_expr_nargs (_p0) == 2)
   12497              :     {
   12498           19 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12499           19 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12500           19 :               switch (TREE_CODE (_p1))
   12501              :                 {
   12502           13 :                 case CALL_EXPR:
   12503           13 :                   switch (get_call_combined_fn (_p1))
   12504              :                     {
   12505           13 :                     case CFN_BUILT_IN_POWF:
   12506           13 :                       if (call_expr_nargs (_p1) == 2)
   12507              :     {
   12508           13 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12509           13 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12510           13 :                           if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12511              :                             {
   12512           12 :                               {
   12513           12 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   12514           12 :                                 tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
   12515           12 :                                 if (res) return res;
   12516              :                               }
   12517              :                             }
   12518            1 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12519              :                             {
   12520            0 :                               {
   12521            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12522            0 :                                 tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
   12523            0 :                                 if (res) return res;
   12524              :                               }
   12525              :                             }
   12526              :                         }
   12527              :                       break;
   12528              :                     default:;
   12529              :                     }
   12530              :                   break;
   12531              :                 default:;
   12532              :                 }
   12533              :             }
   12534              :           break;
   12535           35 :         case CFN_BUILT_IN_POWI:
   12536           35 :           if (call_expr_nargs (_p0) == 2)
   12537              :     {
   12538           35 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12539           35 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12540           35 :               switch (TREE_CODE (_p1))
   12541              :                 {
   12542            0 :                 case CALL_EXPR:
   12543            0 :                   switch (get_call_combined_fn (_p1))
   12544              :                     {
   12545            0 :                     case CFN_BUILT_IN_POWI:
   12546            0 :                       if (call_expr_nargs (_p1) == 2)
   12547              :     {
   12548            0 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12549            0 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12550            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12551              :                             {
   12552            0 :                               {
   12553            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12554            0 :                                 if (flag_unsafe_math_optimizations && canonicalize_math_p ()
   12555              : )
   12556              :                                   {
   12557            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1484;
   12558            0 :                                     {
   12559            0 :                                       tree res_op0;
   12560            0 :                                       {
   12561            0 :                                         tree _o1[2], _r1;
   12562            0 :                                         _o1[0] = captures[1];
   12563            0 :                                         _o1[1] = captures[4];
   12564            0 :                                         _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12565            0 :                                         res_op0 = _r1;
   12566              :                                       }
   12567            0 :                                       tree res_op1;
   12568            0 :                                       res_op1 = captures[2];
   12569            0 :                                       tree _r;
   12570            0 :                                       _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POWI, type, 2, res_op0, res_op1);
   12571            0 :                                       if (!_r)
   12572            0 :                                         goto next_after_fail1484;
   12573            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 979, __FILE__, __LINE__, true);
   12574            0 :                                       return _r;
   12575              :                                     }
   12576            0 : next_after_fail1484:;
   12577              :                                   }
   12578              :                               }
   12579              :                             }
   12580              :                         }
   12581              :                       break;
   12582              :                     default:;
   12583              :                     }
   12584              :                   break;
   12585              :                 default:;
   12586              :                 }
   12587              :             }
   12588              :           break;
   12589           12 :         case CFN_BUILT_IN_POWL:
   12590           12 :           if (call_expr_nargs (_p0) == 2)
   12591              :     {
   12592           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12593           12 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12594           12 :               switch (TREE_CODE (_p1))
   12595              :                 {
   12596           12 :                 case CALL_EXPR:
   12597           12 :                   switch (get_call_combined_fn (_p1))
   12598              :                     {
   12599           12 :                     case CFN_BUILT_IN_POWL:
   12600           12 :                       if (call_expr_nargs (_p1) == 2)
   12601              :     {
   12602           12 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12603           12 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12604           12 :                           if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12605              :                             {
   12606           12 :                               {
   12607           12 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   12608           12 :                                 tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
   12609           12 :                                 if (res) return res;
   12610              :                               }
   12611              :                             }
   12612            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12613              :                             {
   12614            0 :                               {
   12615            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12616            0 :                                 tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
   12617            0 :                                 if (res) return res;
   12618              :                               }
   12619              :                             }
   12620              :                         }
   12621              :                       break;
   12622              :                     default:;
   12623              :                     }
   12624              :                   break;
   12625              :                 default:;
   12626              :                 }
   12627              :             }
   12628              :           break;
   12629            0 :         case CFN_POW:
   12630            0 :           if (call_expr_nargs (_p0) == 2)
   12631              :     {
   12632            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12633            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12634            0 :               switch (TREE_CODE (_p1))
   12635              :                 {
   12636            0 :                 case CALL_EXPR:
   12637            0 :                   switch (get_call_combined_fn (_p1))
   12638              :                     {
   12639            0 :                     case CFN_POW:
   12640            0 :                       if (call_expr_nargs (_p1) == 2)
   12641              :     {
   12642            0 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12643            0 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12644            0 :                           if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12645              :                             {
   12646            0 :                               {
   12647            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   12648            0 :                                 tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, CFN_POW);
   12649            0 :                                 if (res) return res;
   12650              :                               }
   12651              :                             }
   12652            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12653              :                             {
   12654            0 :                               {
   12655            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12656            0 :                                 tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, CFN_POW);
   12657            0 :                                 if (res) return res;
   12658              :                               }
   12659              :                             }
   12660              :                         }
   12661              :                       break;
   12662              :                     default:;
   12663              :                     }
   12664              :                   break;
   12665              :                 default:;
   12666              :                 }
   12667              :             }
   12668              :           break;
   12669           14 :         case CFN_BUILT_IN_POWIF:
   12670           14 :           if (call_expr_nargs (_p0) == 2)
   12671              :     {
   12672           14 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12673           14 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12674           14 :               switch (TREE_CODE (_p1))
   12675              :                 {
   12676            0 :                 case CALL_EXPR:
   12677            0 :                   switch (get_call_combined_fn (_p1))
   12678              :                     {
   12679            0 :                     case CFN_BUILT_IN_POWIF:
   12680            0 :                       if (call_expr_nargs (_p1) == 2)
   12681              :     {
   12682            0 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12683            0 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12684            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12685              :                             {
   12686            0 :                               {
   12687            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12688            0 :                                 if (flag_unsafe_math_optimizations && canonicalize_math_p ()
   12689              : )
   12690              :                                   {
   12691            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1485;
   12692            0 :                                     {
   12693            0 :                                       tree res_op0;
   12694            0 :                                       {
   12695            0 :                                         tree _o1[2], _r1;
   12696            0 :                                         _o1[0] = captures[1];
   12697            0 :                                         _o1[1] = captures[4];
   12698            0 :                                         _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12699            0 :                                         res_op0 = _r1;
   12700              :                                       }
   12701            0 :                                       tree res_op1;
   12702            0 :                                       res_op1 = captures[2];
   12703            0 :                                       tree _r;
   12704            0 :                                       _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POWIF, type, 2, res_op0, res_op1);
   12705            0 :                                       if (!_r)
   12706            0 :                                         goto next_after_fail1485;
   12707            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 979, __FILE__, __LINE__, true);
   12708            0 :                                       return _r;
   12709              :                                     }
   12710            0 : next_after_fail1485:;
   12711              :                                   }
   12712              :                               }
   12713              :                             }
   12714              :                         }
   12715              :                       break;
   12716              :                     default:;
   12717              :                     }
   12718              :                   break;
   12719              :                 default:;
   12720              :                 }
   12721              :             }
   12722              :           break;
   12723            5 :         case CFN_BUILT_IN_POWIL:
   12724            5 :           if (call_expr_nargs (_p0) == 2)
   12725              :     {
   12726            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12727            5 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12728            5 :               switch (TREE_CODE (_p1))
   12729              :                 {
   12730            0 :                 case CALL_EXPR:
   12731            0 :                   switch (get_call_combined_fn (_p1))
   12732              :                     {
   12733            0 :                     case CFN_BUILT_IN_POWIL:
   12734            0 :                       if (call_expr_nargs (_p1) == 2)
   12735              :     {
   12736            0 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12737            0 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12738            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12739              :                             {
   12740            0 :                               {
   12741            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12742            0 :                                 if (flag_unsafe_math_optimizations && canonicalize_math_p ()
   12743              : )
   12744              :                                   {
   12745            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1486;
   12746            0 :                                     {
   12747            0 :                                       tree res_op0;
   12748            0 :                                       {
   12749            0 :                                         tree _o1[2], _r1;
   12750            0 :                                         _o1[0] = captures[1];
   12751            0 :                                         _o1[1] = captures[4];
   12752            0 :                                         _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12753            0 :                                         res_op0 = _r1;
   12754              :                                       }
   12755            0 :                                       tree res_op1;
   12756            0 :                                       res_op1 = captures[2];
   12757            0 :                                       tree _r;
   12758            0 :                                       _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POWIL, type, 2, res_op0, res_op1);
   12759            0 :                                       if (!_r)
   12760            0 :                                         goto next_after_fail1486;
   12761            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 979, __FILE__, __LINE__, true);
   12762            0 :                                       return _r;
   12763              :                                     }
   12764            0 : next_after_fail1486:;
   12765              :                                   }
   12766              :                               }
   12767              :                             }
   12768              :                         }
   12769              :                       break;
   12770              :                     default:;
   12771              :                     }
   12772              :                   break;
   12773              :                 default:;
   12774              :                 }
   12775              :             }
   12776              :           break;
   12777              :         default:;
   12778              :         }
   12779              :       break;
   12780              :     default:;
   12781              :     }
   12782              :   return NULL_TREE;
   12783              : }
   12784              : #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.