LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-8.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 41.6 % 7660 3189
Test Date: 2026-02-28 14:20:25 Functions: 65.3 % 72 47
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    125436216 : tree_bit_xor_cst (tree t, tree *res_ops)
      11              : {
      12    125436216 :   const tree type = TREE_TYPE (t);
      13    125436216 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14    125436216 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15    125436216 :   switch (TREE_CODE (t))
      16              :     {
      17        91646 :     case BIT_XOR_EXPR:
      18        91646 :       {
      19        91646 :         tree _p0 = TREE_OPERAND (t, 0);
      20        91646 :         tree _p1 = TREE_OPERAND (t, 1);
      21        91646 :         if (uniform_integer_cst_p (_p1))
      22              :           {
      23         1601 :             {
      24         1601 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      25         1601 :               {
      26         1601 :                 res_ops[0] = captures[0];
      27         1601 :                 res_ops[1] = captures[1];
      28         1601 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 4, __FILE__, __LINE__, false);
      29         1601 :                 return true;
      30              :               }
      31              :             }
      32              :           }
      33              :         break;
      34              :       }
      35              :     default:;
      36              :     }
      37              :   return false;
      38              : }
      39              : 
      40              : bool
      41     87149151 : tree_with_possible_nonzero_bits_1 (tree t)
      42              : {
      43     87149151 :   const tree type = TREE_TYPE (t);
      44     87149151 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      45     87149151 :   if (TREE_SIDE_EFFECTS (t)) return false;
      46     87149151 :   switch (TREE_CODE (t))
      47              :     {
      48     17007623 :     case INTEGER_CST:
      49     17007623 :       {
      50     17007623 :         {
      51     17007623 :           tree captures[1] ATTRIBUTE_UNUSED = { t };
      52     17007623 :           {
      53     17007623 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 32, __FILE__, __LINE__, false);
      54     17007623 :             return true;
      55              :           }
      56              :         }
      57            0 :         break;
      58              :       }
      59            0 :     case POLY_INT_CST:
      60            0 :       {
      61            0 :         {
      62            0 :           tree captures[1] ATTRIBUTE_UNUSED = { t };
      63            0 :           {
      64            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 33, __FILE__, __LINE__, false);
      65            0 :             return true;
      66              :           }
      67              :         }
      68     26764681 :         break;
      69              :       }
      70     26764681 :     case SSA_NAME:
      71     26764681 :       {
      72     26764681 :         {
      73     26764681 :           tree captures[1] ATTRIBUTE_UNUSED = { t };
      74     26764681 :           if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) || POINTER_TYPE_P (TREE_TYPE (captures[0]))
      75              : )
      76              :             {
      77     26250859 :               {
      78     26250859 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 34, __FILE__, __LINE__, false);
      79     26250859 :                 return true;
      80              :               }
      81              :             }
      82              :         }
      83              :         break;
      84              :       }
      85              :     default:;
      86              :     }
      87              :   return false;
      88              : }
      89              : 
      90              : bool
      91         2369 : tree_max_value (tree t)
      92              : {
      93         2369 :   const tree type = TREE_TYPE (t);
      94         2369 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      95         2369 :   if (TREE_SIDE_EFFECTS (t)) return false;
      96         2361 :   if (uniform_integer_cst_p (t))
      97              :     {
      98         2110 :       {
      99         2110 :         {
     100         2110 :  tree int_cst = uniform_integer_cst_p (t);
     101         2110 :  tree itype = TREE_TYPE (int_cst);
     102         4220 :             if ((INTEGRAL_TYPE_P (itype)
     103           17 :  || POINTER_TYPE_P (itype))
     104         4237 :  && wi::eq_p (wi::to_wide (int_cst), wi::max_value (itype))
     105              : )
     106              :               {
     107           24 :                 {
     108           24 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 42, __FILE__, __LINE__, false);
     109           24 :                   return true;
     110              :                 }
     111              :               }
     112              :         }
     113              :       }
     114              :     }
     115              :   return false;
     116              : }
     117              : 
     118              : tree
     119           66 : generic_simplify_5 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     120              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     121              : {
     122           66 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     123           66 :   if (ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type)
     124              : )
     125              :     {
     126           66 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail77;
     127           66 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail77;
     128           66 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail77;
     129           66 :       {
     130           66 :         tree res_op0;
     131           66 :         res_op0 = captures[0];
     132           66 :         tree _r;
     133           66 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     134           66 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 54, __FILE__, __LINE__, true);
     135           66 :         return _r;
     136              :       }
     137              : next_after_fail77:;
     138              :     }
     139              :   return NULL_TREE;
     140              : }
     141              : 
     142              : tree
     143            2 : generic_simplify_12 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     144              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     145              : {
     146            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     147            2 :   if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
     148            2 :  && !TYPE_SATURATING (type) && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
     149            2 :  && !TYPE_OVERFLOW_TRAPS (TREE_TYPE (captures[0]))
     150            4 :  && !TYPE_SATURATING (TREE_TYPE (captures[0]))
     151              : )
     152              :     {
     153            2 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail84;
     154            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail84;
     155            2 :       {
     156            2 :         tree res_op0;
     157            2 :         {
     158            2 :           tree _o1[1], _r1;
     159            2 :           {
     160            2 :             tree _o2[2], _r2;
     161            2 :             _o2[0] = captures[1];
     162            2 :             _o2[1] = captures[2];
     163            2 :             _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     164            2 :             _o1[0] = _r2;
     165              :           }
     166            2 :           if (TREE_TYPE (_o1[0]) != type)
     167              :             {
     168            1 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     169              :             }
     170              :           else
     171              :             _r1 = _o1[0];
     172            2 :           res_op0 = _r1;
     173              :         }
     174            2 :         tree _r;
     175            2 :         _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     176            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 61, __FILE__, __LINE__, true);
     177            2 :         return _r;
     178              :       }
     179              : next_after_fail84:;
     180              :     }
     181              :   return NULL_TREE;
     182              : }
     183              : 
     184              : tree
     185      7240997 : generic_simplify_22 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     186              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     187              :  const enum tree_code ARG_UNUSED (op))
     188              : {
     189      7240997 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     190      7240997 :   if (!TYPE_SATURATING (type)
     191              : )
     192              :     {
     193      7240997 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     194     14103067 :  && !FIXED_POINT_TYPE_P (type)
     195              : )
     196              :         {
     197      6862070 :           if (INTEGRAL_TYPE_P (type)
     198      6861778 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     199      5531182 :  && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
     200      4509412 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
     201      3958674 :  && !TYPE_OVERFLOW_TRAPS (type)
     202     10820744 :  && !TYPE_OVERFLOW_SANITIZED (type)
     203              : )
     204              :             {
     205      3958403 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail102;
     206      3958403 :               {
     207      3958403 :                 tree res_op0;
     208      3958403 :                 {
     209      3958403 :                   tree _o1[2], _r1;
     210      3958403 :                   _o1[0] = captures[0];
     211      3958403 :                   _o1[1] = captures[1];
     212      3958403 :                   _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     213      3958403 :                   if (EXPR_P (_r1))
     214      3943917 :                     goto next_after_fail102;
     215        14486 :                   res_op0 = _r1;
     216              :                 }
     217        14486 :                 tree _r;
     218        14486 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     219        14486 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 79, __FILE__, __LINE__, true);
     220        14486 :                 return _r;
     221              :               }
     222              : next_after_fail102:;
     223              :             }
     224              :         }
     225              :     }
     226              :   return NULL_TREE;
     227              : }
     228              : 
     229              : tree
     230            2 : generic_simplify_30 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     231              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     232              :  const enum tree_code ARG_UNUSED (div),
     233              :  const enum tree_code ARG_UNUSED (mod))
     234              : {
     235            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     236            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail111;
     237            2 :   {
     238            2 :     tree _r;
     239            2 :     _r = captures[0];
     240            2 :     if (TREE_SIDE_EFFECTS (captures[1]))
     241            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     242            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 88, __FILE__, __LINE__, true);
     243              :     return _r;
     244              :   }
     245            0 : next_after_fail111:;
     246            0 :   return NULL_TREE;
     247              : }
     248              : 
     249              : tree
     250           56 : generic_simplify_32 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     251              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     252              :  const enum tree_code ARG_UNUSED (cmp),
     253              :  const enum tree_code ARG_UNUSED (icmp),
     254              :  const enum tree_code ARG_UNUSED (ncmp))
     255              : {
     256           56 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     257           56 :   if (TYPE_PRECISION (type) > 1
     258           56 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
     259              : )
     260              :     {
     261            0 :       {
     262            0 :  enum tree_code ic = invert_tree_comparison
     263            0 :  (cmp, HONOR_NANS (captures[1]));
     264            0 :  tree cmptype = TREE_TYPE (captures[0]);
     265            0 :           if (ic == icmp
     266              : )
     267              :             {
     268            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail113;
     269            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail113;
     270            0 :               {
     271            0 :                 tree res_op0;
     272            0 :                 {
     273            0 :                   tree _o1[1], _r1;
     274            0 :                   {
     275            0 :                     tree _o2[2], _r2;
     276            0 :                     _o2[0] = captures[1];
     277            0 :                     _o2[1] = captures[2];
     278            0 :                     _r2 = fold_build2_loc (loc, icmp, cmptype, _o2[0], _o2[1]);
     279            0 :                     _o1[0] = _r2;
     280              :                   }
     281            0 :                   if (TREE_TYPE (_o1[0]) != type)
     282              :                     {
     283            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     284              :                     }
     285              :                   else
     286              :                     _r1 = _o1[0];
     287            0 :                   res_op0 = _r1;
     288              :                 }
     289            0 :                 tree _r;
     290            0 :                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     291            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 90, __FILE__, __LINE__, true);
     292            0 :                 return _r;
     293              :               }
     294              : next_after_fail113:;
     295              :             }
     296              :           else
     297              :             {
     298            0 :               if (ic == ncmp
     299              : )
     300              :                 {
     301            0 :                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail114;
     302            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail114;
     303            0 :                   {
     304            0 :                     tree res_op0;
     305            0 :                     {
     306            0 :                       tree _o1[1], _r1;
     307            0 :                       {
     308            0 :                         tree _o2[2], _r2;
     309            0 :                         _o2[0] = captures[1];
     310            0 :                         _o2[1] = captures[2];
     311            0 :                         _r2 = fold_build2_loc (loc, ncmp, cmptype, _o2[0], _o2[1]);
     312            0 :                         _o1[0] = _r2;
     313              :                       }
     314            0 :                       if (TREE_TYPE (_o1[0]) != type)
     315              :                         {
     316            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     317              :                         }
     318              :                       else
     319              :                         _r1 = _o1[0];
     320            0 :                       res_op0 = _r1;
     321              :                     }
     322            0 :                     tree _r;
     323            0 :                     _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     324            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 91, __FILE__, __LINE__, true);
     325            0 :                     return _r;
     326              :                   }
     327              : next_after_fail114:;
     328              :                 }
     329              :             }
     330              :       }
     331              :     }
     332              :   return NULL_TREE;
     333              : }
     334              : 
     335              : tree
     336          178 : generic_simplify_51 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     337              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     338              : {
     339          178 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     340          178 :   if (!TYPE_SATURATING (type)
     341              : )
     342              :     {
     343          178 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     344          356 :  && !FIXED_POINT_TYPE_P (type)
     345              : )
     346              :         {
     347            0 :           if (!ANY_INTEGRAL_TYPE_P (type)
     348          178 :  || TYPE_OVERFLOW_WRAPS (type)
     349              : )
     350              :             {
     351          102 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail133;
     352          102 :               {
     353          102 :                 tree res_op0;
     354          102 :                 {
     355          102 :                   tree _o1[1], _r1;
     356          102 :                   _o1[0] = captures[1];
     357          102 :                   if (TREE_TYPE (_o1[0]) != type)
     358              :                     {
     359            0 :                       _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     360              :                     }
     361              :                   else
     362              :                     _r1 = _o1[0];
     363          102 :                   res_op0 = _r1;
     364              :                 }
     365          102 :                 tree _r;
     366          102 :                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     367          102 :                 if (TREE_SIDE_EFFECTS (captures[0]))
     368            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     369          102 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 109, __FILE__, __LINE__, true);
     370          102 :                 return _r;
     371              :               }
     372            0 : next_after_fail133:;
     373              :             }
     374              :           else
     375              :             {
     376           76 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail134;
     377           76 :               {
     378           76 :                 tree res_op0;
     379           76 :                 {
     380           76 :                   tree _o1[1], _r1;
     381           76 :                   _o1[0] = captures[1];
     382           76 :                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     383           76 :                   res_op0 = _r1;
     384              :                 }
     385           76 :                 tree _r;
     386           76 :                 _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     387           76 :                 if (TREE_SIDE_EFFECTS (captures[0]))
     388            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     389           76 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 110, __FILE__, __LINE__, true);
     390           76 :                 return _r;
     391              :               }
     392            0 : next_after_fail134:;
     393              :             }
     394              :         }
     395              :     }
     396              :   return NULL_TREE;
     397              : }
     398              : 
     399              : tree
     400            2 : generic_simplify_62 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     401              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     402              :  const combined_fn ARG_UNUSED (logs))
     403              : {
     404            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     405            2 :   if (flag_unsafe_math_optimizations
     406              : )
     407              :     {
     408            2 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
     409            2 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
     410            2 :  && ! flag_trapping_math
     411            4 :  && ! flag_errno_math
     412              : )
     413              :         {
     414            2 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail150;
     415            2 :           {
     416            2 :             tree res_op0;
     417            2 :             {
     418            2 :               tree _o1[2], _r1;
     419            2 :               _o1[0] = captures[1];
     420            2 :               _o1[1] = captures[3];
     421            2 :               _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     422            2 :               res_op0 = _r1;
     423              :             }
     424            2 :             tree _r;
     425            2 :             _r = maybe_build_call_expr_loc (loc, logs, type, 1, res_op0);
     426            2 :             if (!_r)
     427            0 :               goto next_after_fail150;
     428            2 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 126, __FILE__, __LINE__, true);
     429            2 :             return _r;
     430              :           }
     431              : next_after_fail150:;
     432              :         }
     433              :     }
     434              :   return NULL_TREE;
     435              : }
     436              : 
     437              : tree
     438            0 : generic_simplify_70 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     439              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     440              : {
     441            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     442            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail158;
     443            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail158;
     444            0 :   {
     445            0 :     tree _r;
     446            0 :     _r = captures[2];
     447            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 134, __FILE__, __LINE__, true);
     448              :     return _r;
     449              :   }
     450              : next_after_fail158:;
     451              :   return NULL_TREE;
     452              : }
     453              : 
     454              : tree
     455           29 : generic_simplify_75 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     456              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     457              :  const enum tree_code ARG_UNUSED (bit_op))
     458              : {
     459           29 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     460           29 :   if (bit_op == BIT_AND_EXPR
     461              : )
     462              :     {
     463            9 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail163;
     464            9 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail163;
     465            9 :       {
     466            9 :         tree _r;
     467            9 :         _r =  build_zero_cst (type);
     468            9 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 138, __FILE__, __LINE__, true);
     469            9 :         return _r;
     470              :       }
     471              : next_after_fail163:;
     472              :     }
     473              :   else
     474              :     {
     475           20 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail164;
     476           20 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail164;
     477           20 :       {
     478           20 :         tree _r;
     479           20 :         _r =  build_minus_one_cst (type);
     480           20 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 139, __FILE__, __LINE__, true);
     481           20 :         return _r;
     482              :       }
     483              : next_after_fail164:;
     484              :     }
     485              :   return NULL_TREE;
     486              : }
     487              : 
     488              : tree
     489            2 : generic_simplify_84 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     490              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     491              : {
     492            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     493            2 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail176;
     494            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail176;
     495            2 :   {
     496            2 :     tree res_op0;
     497            2 :     res_op0 = captures[0];
     498            2 :     tree res_op1;
     499            2 :     res_op1 = captures[3];
     500            2 :     tree _r;
     501            2 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     502            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 146, __FILE__, __LINE__, true);
     503              :     return _r;
     504              :   }
     505              : next_after_fail176:;
     506              :   return NULL_TREE;
     507              : }
     508              : 
     509              : tree
     510            0 : generic_simplify_95 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     511              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     512              : {
     513            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     514            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail187;
     515            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail187;
     516            0 :   {
     517            0 :     tree _r;
     518            0 :     _r = captures[0];
     519            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 150, __FILE__, __LINE__, true);
     520              :     return _r;
     521              :   }
     522              : next_after_fail187:;
     523              :   return NULL_TREE;
     524              : }
     525              : 
     526              : tree
     527            0 : generic_simplify_101 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     528              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     529              :  const enum tree_code ARG_UNUSED (op))
     530              : {
     531            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     532            0 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     533            0 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
     534              : )
     535              :     {
     536            0 :       if (single_use (captures[4]) && single_use (captures[5])
     537              : )
     538              :         {
     539            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail195;
     540            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail195;
     541            0 :           {
     542            0 :             tree res_op0;
     543            0 :             res_op0 = captures[0];
     544            0 :             tree res_op1;
     545            0 :             {
     546            0 :               tree _o1[1], _r1;
     547            0 :               _o1[0] = captures[6];
     548            0 :               if (TREE_TYPE (_o1[0]) != type)
     549              :                 {
     550            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     551              :                 }
     552              :               else
     553              :                 _r1 = _o1[0];
     554            0 :               res_op1 = _r1;
     555              :             }
     556            0 :             tree _r;
     557            0 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     558            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 156, __FILE__, __LINE__, true);
     559            0 :             return _r;
     560              :           }
     561              : next_after_fail195:;
     562              :         }
     563              :       else
     564              :         {
     565              :           if (single_use (captures[0]) && single_use (captures[1])
     566              : )
     567              :             {
     568              :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail196;
     569              :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail196;
     570              :               {
     571              :                 tree res_op0;
     572              :                 {
     573              :                   tree _o1[1], _r1;
     574              :                   _o1[0] = captures[3];
     575              :                   if (TREE_TYPE (_o1[0]) != type)
     576              :                     {
     577              :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     578              :                     }
     579              :                   else
     580              :                     _r1 = _o1[0];
     581              :                   res_op0 = _r1;
     582              :                 }
     583              :                 tree res_op1;
     584              :                 res_op1 = captures[4];
     585              :                 tree _r;
     586              :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     587              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 157, __FILE__, __LINE__, true);
     588              :                 return _r;
     589              :               }
     590              : next_after_fail196:;
     591              :             }
     592              :         }
     593              :     }
     594              :   return NULL_TREE;
     595              : }
     596              : 
     597              : tree
     598            0 : generic_simplify_115 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     599              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     600              :  const enum tree_code ARG_UNUSED (op))
     601              : {
     602            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     603            0 :   if (bitwise_equal_p (captures[4], captures[7])
     604              : )
     605              :     {
     606            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail212;
     607            0 :       {
     608            0 :         tree res_op0;
     609            0 :         {
     610            0 :           tree _o1[2], _r1;
     611            0 :           {
     612            0 :             tree _o2[2], _r2;
     613            0 :             _o2[0] = captures[5];
     614            0 :             {
     615            0 :               tree _o3[1], _r3;
     616            0 :               _o3[0] = captures[6];
     617            0 :               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     618              :                 {
     619            0 :                   _r3 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     620              :                 }
     621              :               else
     622              :                 _r3 = _o3[0];
     623            0 :               _o2[1] = _r3;
     624              :             }
     625            0 :             _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     626            0 :             _o1[0] = _r2;
     627              :           }
     628            0 :           {
     629            0 :             tree _o2[1], _r2;
     630            0 :             _o2[0] = captures[4];
     631            0 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     632              :               {
     633            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     634              :               }
     635              :             else
     636              :               _r2 = _o2[0];
     637            0 :             _o1[1] = _r2;
     638              :           }
     639            0 :           _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     640            0 :           res_op0 = _r1;
     641              :         }
     642            0 :         tree _r;
     643            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     644            0 :         if (TREE_SIDE_EFFECTS (captures[7]))
     645            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[7]), _r);
     646            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 163, __FILE__, __LINE__, true);
     647            0 :         return _r;
     648              :       }
     649            0 : next_after_fail212:;
     650              :     }
     651              :   return NULL_TREE;
     652              : }
     653              : 
     654              : tree
     655            0 : generic_simplify_127 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     656              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     657              : {
     658            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     659            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     660            0 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
     661              : )
     662              :     {
     663            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail230;
     664            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail230;
     665            0 :       {
     666            0 :         tree res_op0;
     667            0 :         res_op0 = captures[3];
     668            0 :         tree res_op1;
     669            0 :         {
     670            0 :           tree _o1[2], _r1;
     671            0 :           _o1[0] = captures[1];
     672            0 :           _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
     673            0 :           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     674            0 :           res_op1 = _r1;
     675              :         }
     676            0 :         tree _r;
     677            0 :         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     678            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 183, __FILE__, __LINE__, true);
     679            0 :         return _r;
     680              :       }
     681              : next_after_fail230:;
     682              :     }
     683              :   return NULL_TREE;
     684              : }
     685              : 
     686              : tree
     687            0 : generic_simplify_134 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     688              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     689              : {
     690            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     691            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail255;
     692            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail255;
     693            0 :   {
     694            0 :     tree _r;
     695            0 :     _r =  constant_boolean_node (true, type);
     696            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
     697            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     698            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 200, __FILE__, __LINE__, true);
     699              :     return _r;
     700              :   }
     701              : next_after_fail255:;
     702              :   return NULL_TREE;
     703              : }
     704              : 
     705              : tree
     706            4 : generic_simplify_139 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     707              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     708              : {
     709            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     710            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail273;
     711            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail273;
     712            4 :   {
     713            4 :     tree _r;
     714            4 :     _r =  constant_boolean_node (true, type);
     715            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
     716            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     717            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 200, __FILE__, __LINE__, true);
     718              :     return _r;
     719              :   }
     720              : next_after_fail273:;
     721              :   return NULL_TREE;
     722              : }
     723              : 
     724              : tree
     725            2 : generic_simplify_142 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     726              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     727              : {
     728            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     729            4 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     730            4 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
     731              : )
     732              :     {
     733            2 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail277;
     734            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail277;
     735            2 :       {
     736            2 :         tree res_op0;
     737            2 :         res_op0 = captures[3];
     738            2 :         tree res_op1;
     739            2 :         {
     740            2 :           tree _o1[2], _r1;
     741            2 :           _o1[0] = captures[1];
     742            2 :           _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
     743            2 :           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     744            2 :           res_op1 = _r1;
     745              :         }
     746            2 :         tree _r;
     747            2 :         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     748            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 183, __FILE__, __LINE__, true);
     749            2 :         return _r;
     750              :       }
     751              : next_after_fail277:;
     752              :     }
     753              :   return NULL_TREE;
     754              : }
     755              : 
     756              : tree
     757          495 : generic_simplify_147 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     758              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     759              :  const enum tree_code ARG_UNUSED (op))
     760              : {
     761          495 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     762          990 :   if (INTEGRAL_TYPE_P (type)
     763          493 :  && tree_int_cst_sgn (captures[2]) > 0
     764         1976 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[1])) == 0
     765              : )
     766              :     {
     767            6 :       {
     768            6 :  tree t = type;
     769            6 :  if (!TYPE_OVERFLOW_WRAPS (t))
     770            6 :  t = unsigned_type_for (t);
     771            6 :  wide_int wone = wi::one (TYPE_PRECISION (t));
     772            6 :  wide_int c = wi::add (wi::lshift (wone, wi::to_wide (captures[2])), wone);
     773            6 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail282;
     774            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail282;
     775            6 :           {
     776            6 :             tree res_op0;
     777            6 :             {
     778            6 :               tree _o1[2], _r1;
     779            6 :               {
     780            6 :                 tree _o2[1], _r2;
     781            6 :                 _o2[0] = captures[1];
     782            6 :                 if (TREE_TYPE (_o2[0]) != t)
     783              :                   {
     784            6 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     785              :                   }
     786              :                 else
     787              :                   _r2 = _o2[0];
     788            6 :                 _o1[0] = _r2;
     789              :               }
     790            6 :               _o1[1] =  wide_int_to_tree (t, c);
     791            6 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     792            6 :               res_op0 = _r1;
     793              :             }
     794            6 :             tree _r;
     795            6 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     796            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 205, __FILE__, __LINE__, true);
     797            6 :             return _r;
     798              :           }
     799            0 : next_after_fail282:;
     800            6 :       }
     801              :     }
     802              :   return NULL_TREE;
     803              : }
     804              : 
     805              : tree
     806            0 : generic_simplify_154 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     807              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     808              : {
     809            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     810            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail289;
     811            0 :   {
     812            0 :     tree res_op0;
     813            0 :     res_op0 = captures[1];
     814            0 :     tree res_op1;
     815            0 :     res_op1 = captures[2];
     816            0 :     tree _r;
     817            0 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     818            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 211, __FILE__, __LINE__, true);
     819              :     return _r;
     820              :   }
     821            0 : next_after_fail289:;
     822            0 :   return NULL_TREE;
     823              : }
     824              : 
     825              : tree
     826            1 : generic_simplify_157 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     827              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     828              : {
     829            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     830            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail292;
     831            1 :   {
     832            1 :     tree res_op0;
     833            1 :     res_op0 = captures[0];
     834            1 :     tree _r;
     835            1 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     836            1 :     if (TREE_SIDE_EFFECTS (captures[1]))
     837            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     838            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 214, __FILE__, __LINE__, true);
     839              :     return _r;
     840              :   }
     841            0 : next_after_fail292:;
     842            0 :   return NULL_TREE;
     843              : }
     844              : 
     845              : tree
     846            0 : generic_simplify_162 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     847              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     848              : {
     849            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     850            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail297;
     851            0 :   {
     852            0 :     tree res_op0;
     853            0 :     res_op0 = captures[0];
     854            0 :     tree res_op1;
     855            0 :     res_op1 = captures[1];
     856            0 :     tree _r;
     857            0 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
     858            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 219, __FILE__, __LINE__, true);
     859              :     return _r;
     860              :   }
     861            0 : next_after_fail297:;
     862            0 :   return NULL_TREE;
     863              : }
     864              : 
     865              : tree
     866           57 : generic_simplify_166 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     867              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     868              : {
     869           57 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     870           57 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     871              : )
     872              :     {
     873           33 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail301;
     874           33 :       {
     875           33 :         tree res_op0;
     876           33 :         {
     877           33 :           tree _o1[1], _r1;
     878           33 :           _o1[0] = captures[0];
     879           33 :           if (TREE_TYPE (_o1[0]) != type)
     880              :             {
     881            2 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     882              :             }
     883              :           else
     884              :             _r1 = _o1[0];
     885           33 :           res_op0 = _r1;
     886              :         }
     887           33 :         tree res_op1;
     888           33 :         {
     889           33 :           tree _o1[1], _r1;
     890           33 :           _o1[0] = captures[1];
     891           33 :           _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     892           33 :           res_op1 = _r1;
     893              :         }
     894           33 :         tree _r;
     895           33 :         _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     896           33 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 223, __FILE__, __LINE__, true);
     897           33 :         return _r;
     898              :       }
     899            0 : next_after_fail301:;
     900              :     }
     901              :   return NULL_TREE;
     902              : }
     903              : 
     904              : tree
     905            5 : generic_simplify_174 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     906              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     907              : {
     908            5 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     909           10 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     910            5 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
     911           10 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[3]))
     912              : )
     913              :     {
     914            5 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail310;
     915            5 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail310;
     916            5 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail310;
     917            5 :       {
     918            5 :         tree res_op0;
     919            5 :         {
     920            5 :           tree _o1[2], _r1;
     921            5 :           _o1[0] = captures[1];
     922            5 :           _o1[1] = captures[3];
     923            5 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     924            5 :           res_op0 = _r1;
     925              :         }
     926            5 :         tree res_op1;
     927            5 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
     928            5 :         tree _r;
     929            5 :         _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     930            5 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 231, __FILE__, __LINE__, true);
     931            5 :         return _r;
     932              :       }
     933              : next_after_fail310:;
     934              :     }
     935              :   return NULL_TREE;
     936              : }
     937              : 
     938              : tree
     939            0 : generic_simplify_186 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     940              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     941              : {
     942            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     943            0 :   if (INTEGRAL_TYPE_P (type)
     944            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     945            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
     946              : )
     947              :     {
     948            0 :       if (TYPE_UNSIGNED (type)
     949              : )
     950              :         {
     951            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail324;
     952            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail324;
     953            0 :           {
     954            0 :             tree res_op0;
     955            0 :             res_op0 = captures[0];
     956            0 :             tree _r;
     957            0 :             _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
     958            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 240, __FILE__, __LINE__, true);
     959            0 :             return _r;
     960              :           }
     961              : next_after_fail324:;
     962              :         }
     963              :       else
     964              :         {
     965            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail325;
     966            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail325;
     967            0 :           {
     968            0 :             tree res_op0;
     969            0 :             res_op0 = captures[0];
     970            0 :             tree _r;
     971            0 :             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     972            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 241, __FILE__, __LINE__, true);
     973            0 :             return _r;
     974              :           }
     975              : next_after_fail325:;
     976              :         }
     977              :     }
     978              :   return NULL_TREE;
     979              : }
     980              : 
     981              : tree
     982            9 : generic_simplify_198 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     983              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     984              :  const combined_fn ARG_UNUSED (LDEXP))
     985              : {
     986            9 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     987            9 :   if (flag_unsafe_math_optimizations
     988              : )
     989              :     {
     990            9 :       if (real_equal (TREE_REAL_CST_PTR (captures[1]), &dconst1)
     991              : )
     992              :         {
     993            9 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail338;
     994            9 :           {
     995            9 :             tree res_op0;
     996            9 :             res_op0 = captures[0];
     997            9 :             tree res_op1;
     998            9 :             res_op1 = captures[2];
     999            9 :             tree _r;
    1000            9 :             _r = maybe_build_call_expr_loc (loc, LDEXP, type, 2, res_op0, res_op1);
    1001            9 :             if (!_r)
    1002            0 :               goto next_after_fail338;
    1003            9 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1004            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1005            9 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 253, __FILE__, __LINE__, true);
    1006            9 :             return _r;
    1007              :           }
    1008              : next_after_fail338:;
    1009              :         }
    1010              :     }
    1011              :   return NULL_TREE;
    1012              : }
    1013              : 
    1014              : tree
    1015           12 : generic_simplify_206 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1016              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1017              :  const enum tree_code ARG_UNUSED (cmp))
    1018              : {
    1019           12 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1020           12 :   if (element_precision (captures[0]) >= element_precision (captures[1])
    1021           12 :  && types_match (captures[1], captures[3])
    1022              : )
    1023              :     {
    1024           12 :       if (wi::lt_p (wi::to_wide (captures[2]), 0, TYPE_SIGN (TREE_TYPE (captures[2])))
    1025              : )
    1026              :         {
    1027            0 :           if (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1028              : )
    1029              :             {
    1030            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail346;
    1031            0 :               {
    1032            0 :                 tree res_op0;
    1033            0 :                 res_op0 = captures[3];
    1034            0 :                 tree res_op1;
    1035            0 :                 res_op1 = captures[1];
    1036            0 :                 tree _r;
    1037            0 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1038            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1039            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1040            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 261, __FILE__, __LINE__, true);
    1041            0 :                 return _r;
    1042              :               }
    1043            0 : next_after_fail346:;
    1044              :             }
    1045              :           else
    1046              :             {
    1047            0 :               if (tree_expr_nonzero_p (captures[1]) && tree_expr_nonzero_p (captures[3])
    1048              : )
    1049              :                 {
    1050            0 :                   {
    1051            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[1]));
    1052            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail347;
    1053            0 :                       {
    1054            0 :                         tree res_op0;
    1055            0 :                         {
    1056            0 :                           tree _o1[1], _r1;
    1057            0 :                           _o1[0] = captures[3];
    1058            0 :                           if (TREE_TYPE (_o1[0]) != utype)
    1059              :                             {
    1060            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1061              :                             }
    1062              :                           else
    1063              :                             _r1 = _o1[0];
    1064            0 :                           res_op0 = _r1;
    1065              :                         }
    1066            0 :                         tree res_op1;
    1067            0 :                         {
    1068            0 :                           tree _o1[1], _r1;
    1069            0 :                           _o1[0] = captures[1];
    1070            0 :                           if (TREE_TYPE (_o1[0]) != utype)
    1071              :                             {
    1072            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1073              :                             }
    1074              :                           else
    1075              :                             _r1 = _o1[0];
    1076            0 :                           res_op1 = _r1;
    1077              :                         }
    1078            0 :                         tree _r;
    1079            0 :                         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1080            0 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    1081            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1082            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 262, __FILE__, __LINE__, true);
    1083            0 :                         return _r;
    1084              :                       }
    1085            0 : next_after_fail347:;
    1086              :                   }
    1087              :                 }
    1088              :             }
    1089              :         }
    1090              :       else
    1091              :         {
    1092           12 :           if (wi::gt_p (wi::to_wide (captures[2]), 1, TYPE_SIGN (TREE_TYPE (captures[2])))
    1093              : )
    1094              :             {
    1095           12 :               if (TYPE_UNSIGNED (TREE_TYPE (captures[1])) || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1096              : )
    1097              :                 {
    1098           12 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail348;
    1099           12 :                   {
    1100           12 :                     tree res_op0;
    1101           12 :                     res_op0 = captures[1];
    1102           12 :                     tree res_op1;
    1103           12 :                     res_op1 = captures[3];
    1104           12 :                     tree _r;
    1105           12 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1106           12 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    1107            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1108           12 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 263, __FILE__, __LINE__, true);
    1109           12 :                     return _r;
    1110              :                   }
    1111            0 : next_after_fail348:;
    1112              :                 }
    1113              :               else
    1114              :                 {
    1115            0 :                   {
    1116            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[1]));
    1117            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail349;
    1118            0 :                       {
    1119            0 :                         tree res_op0;
    1120            0 :                         {
    1121            0 :                           tree _o1[1], _r1;
    1122            0 :                           _o1[0] = captures[1];
    1123            0 :                           if (TREE_TYPE (_o1[0]) != utype)
    1124              :                             {
    1125            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1126              :                             }
    1127              :                           else
    1128              :                             _r1 = _o1[0];
    1129            0 :                           res_op0 = _r1;
    1130              :                         }
    1131            0 :                         tree res_op1;
    1132            0 :                         {
    1133            0 :                           tree _o1[1], _r1;
    1134            0 :                           _o1[0] = captures[3];
    1135            0 :                           if (TREE_TYPE (_o1[0]) != utype)
    1136              :                             {
    1137            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1138              :                             }
    1139              :                           else
    1140              :                             _r1 = _o1[0];
    1141            0 :                           res_op1 = _r1;
    1142              :                         }
    1143            0 :                         tree _r;
    1144            0 :                         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1145            0 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    1146            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1147            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 264, __FILE__, __LINE__, true);
    1148            0 :                         return _r;
    1149              :                       }
    1150            0 : next_after_fail349:;
    1151              :                   }
    1152              :                 }
    1153              :             }
    1154              :         }
    1155              :     }
    1156              :   return NULL_TREE;
    1157              : }
    1158              : 
    1159              : tree
    1160          179 : generic_simplify_236 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1161              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1162              :  const enum tree_code ARG_UNUSED (cmp))
    1163              : {
    1164          179 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1165          179 :   {
    1166          179 :  int cand = wi::ctz (wi::to_wide (captures[2])) - wi::ctz (wi::to_wide (captures[0]));
    1167          358 :       if (cand < 0
    1168          179 :  || (!integer_zerop (captures[2])
    1169          246 :  && wi::lshift (wi::to_wide (captures[0]), cand) != wi::to_wide (captures[2]))
    1170              : )
    1171              :         {
    1172           35 :           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail403;
    1173           35 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail403;
    1174           35 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail403;
    1175           35 :           {
    1176           35 :             tree _r;
    1177           35 :             _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1178           35 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1179            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1180           35 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 316, __FILE__, __LINE__, true);
    1181           88 :             return _r;
    1182              :           }
    1183           91 : next_after_fail403:;
    1184              :         }
    1185              :       else
    1186              :         {
    1187          144 :           if (!integer_zerop (captures[2])
    1188          144 :  && wi::lshift (wi::to_wide (captures[0]), cand) == wi::to_wide (captures[2])
    1189              : )
    1190              :             {
    1191           53 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail404;
    1192           53 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail404;
    1193           53 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail404;
    1194           53 :               {
    1195           53 :                 tree res_op0;
    1196           53 :                 res_op0 = captures[1];
    1197           53 :                 tree res_op1;
    1198           53 :                 res_op1 =  build_int_cst (TREE_TYPE (captures[1]), cand);
    1199           53 :                 tree _r;
    1200           53 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1201           53 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 317, __FILE__, __LINE__, true);
    1202           53 :                 return _r;
    1203              :               }
    1204           91 : next_after_fail404:;
    1205              :             }
    1206              :         }
    1207              :   }
    1208           91 :   return NULL_TREE;
    1209              : }
    1210              : 
    1211              : tree
    1212        33687 : generic_simplify_247 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1213              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1214              :  const enum tree_code ARG_UNUSED (cmp),
    1215              :  const enum tree_code ARG_UNUSED (scmp))
    1216              : {
    1217        33687 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1218        33687 :   if (integer_zerop (captures[2])
    1219              : )
    1220              :     {
    1221            7 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail416;
    1222            7 :       {
    1223            7 :         tree res_op0;
    1224            7 :         res_op0 = captures[2];
    1225            7 :         tree res_op1;
    1226            7 :         res_op1 = captures[3];
    1227            7 :         tree _r;
    1228            7 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1229            7 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1230            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1231            7 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 328, __FILE__, __LINE__, true);
    1232            7 :         return _r;
    1233              :       }
    1234            0 : next_after_fail416:;
    1235              :     }
    1236              :   else
    1237              :     {
    1238        67360 :       if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1239        67360 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    1240        67360 :  && single_use (captures[0])
    1241              : )
    1242              :         {
    1243         6426 :           if (tree_int_cst_sgn (captures[2]) < 0
    1244              : )
    1245              :             {
    1246           17 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail417;
    1247           17 :               {
    1248           17 :                 tree res_op0;
    1249           17 :                 res_op0 = captures[1];
    1250           17 :                 tree res_op1;
    1251           17 :                 res_op1 = captures[3];
    1252           17 :                 tree _r;
    1253           17 :                 _r = fold_build2_loc (loc, scmp, type, res_op0, res_op1);
    1254           17 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1255            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1256           17 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 329, __FILE__, __LINE__, true);
    1257           17 :                 return _r;
    1258              :               }
    1259            0 : next_after_fail417:;
    1260              :             }
    1261              :           else
    1262              :             {
    1263         6409 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail418;
    1264         6409 :               {
    1265         6409 :                 tree res_op0;
    1266         6409 :                 res_op0 = captures[1];
    1267         6409 :                 tree res_op1;
    1268         6409 :                 res_op1 = captures[3];
    1269         6409 :                 tree _r;
    1270         6409 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1271         6409 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1272            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1273         6409 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 330, __FILE__, __LINE__, true);
    1274         6409 :                 return _r;
    1275              :               }
    1276            0 : next_after_fail418:;
    1277              :             }
    1278              :         }
    1279              :     }
    1280              :   return NULL_TREE;
    1281              : }
    1282              : 
    1283              : tree
    1284        78268 : generic_simplify_260 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1285              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1286              :  const enum tree_code ARG_UNUSED (cmp),
    1287              :  const enum tree_code ARG_UNUSED (icmp))
    1288              : {
    1289        78268 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1290        78268 :   if (SCALAR_FLOAT_TYPE_P (TREE_TYPE (captures[1]))
    1291        78268 :  && ! DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[1]))
    1292              : )
    1293              :     {
    1294        77777 :       {
    1295        77777 :  tree itype = TREE_TYPE (captures[0]);
    1296        77777 :  format_helper fmt (REAL_MODE_FORMAT (TYPE_MODE (TREE_TYPE (captures[1]))));
    1297        77777 :  const REAL_VALUE_TYPE *cst = TREE_REAL_CST_PTR (captures[1]);
    1298        77777 :  bool exception_p = real_isnan (cst)
    1299          150 :  && flag_trapping_math
    1300        77927 :  && ((cmp != EQ_EXPR && cmp != NE_EXPR)
    1301           30 :  || (cst->signalling
    1302           30 :  && HONOR_SNANS (TREE_TYPE (captures[1]))));
    1303        77777 :           if (fmt.can_represent_integral_type_p (itype) && ! exception_p
    1304              : )
    1305              :             {
    1306        37817 :               {
    1307        37817 :  signop isign = TYPE_SIGN (itype);
    1308        37817 :  REAL_VALUE_TYPE imin, imax;
    1309        37817 :  real_from_integer (&imin, fmt, wi::min_value (itype), isign);
    1310        37817 :  real_from_integer (&imax, fmt, wi::max_value (itype), isign);
    1311        37817 :  REAL_VALUE_TYPE icst;
    1312        37817 :  if (cmp == GT_EXPR || cmp == GE_EXPR)
    1313        37482 :  real_ceil (&icst, fmt, cst);
    1314          335 :  else if (cmp == LT_EXPR || cmp == LE_EXPR)
    1315          183 :  real_floor (&icst, fmt, cst);
    1316              :  else
    1317          152 :  real_trunc (&icst, fmt, cst);
    1318        37817 :  bool cst_int_p = !real_isnan (cst) && real_identical (&icst, cst);
    1319        37817 :  bool overflow_p = false;
    1320        37817 :  wide_int icst_val
    1321        37817 :  = real_to_integer (&icst, &overflow_p, TYPE_PRECISION (itype));
    1322        37817 :                   if (real_compare (LT_EXPR, cst, &imin)
    1323              : )
    1324              :                     {
    1325        18738 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail469;
    1326        18738 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail469;
    1327        18738 :                       {
    1328        18738 :                         tree _r;
    1329        18738 :                         _r =  constant_boolean_node (cmp == GT_EXPR || cmp == GE_EXPR || cmp == NE_EXPR,
    1330              :  type);
    1331        18738 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    1332            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1333        18738 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 380, __FILE__, __LINE__, true);
    1334        18738 :                         return _r;
    1335              :                       }
    1336            0 : next_after_fail469:;
    1337              :                     }
    1338              :                   else
    1339              :                     {
    1340        19079 :                       if (real_compare (GT_EXPR, cst, &imax)
    1341              : )
    1342              :                         {
    1343           99 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail470;
    1344           99 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail470;
    1345           99 :                           {
    1346           99 :                             tree _r;
    1347           99 :                             _r =  constant_boolean_node (cmp == LT_EXPR || cmp == LE_EXPR || cmp == NE_EXPR,
    1348              :  type);
    1349           99 :                             if (TREE_SIDE_EFFECTS (captures[0]))
    1350            1 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1351           99 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 381, __FILE__, __LINE__, true);
    1352           99 :                             return _r;
    1353              :                           }
    1354            0 : next_after_fail470:;
    1355              :                         }
    1356              :                       else
    1357              :                         {
    1358        18980 :                           if (cst_int_p
    1359              : )
    1360              :                             {
    1361        18872 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail471;
    1362        18872 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail471;
    1363        18872 :                               {
    1364        18872 :                                 tree res_op0;
    1365        18872 :                                 res_op0 = captures[0];
    1366        18872 :                                 tree res_op1;
    1367        18872 :  gcc_assert (!overflow_p);                              res_op1 = 
    1368        18872 :  wide_int_to_tree (itype, icst_val);
    1369        18872 :                                 tree _r;
    1370        18872 :                                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1371        18872 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 382, __FILE__, __LINE__, true);
    1372        18872 :                                 return _r;
    1373              :                               }
    1374            0 : next_after_fail471:;
    1375              :                             }
    1376              :                           else
    1377              :                             {
    1378          108 :                               if (cmp == EQ_EXPR || cmp == NE_EXPR
    1379              : )
    1380              :                                 {
    1381           14 :                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail472;
    1382           14 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail472;
    1383           14 :                                   {
    1384           14 :                                     tree _r;
    1385           14 :                                     _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1386           14 :                                     if (TREE_SIDE_EFFECTS (captures[0]))
    1387            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1388           14 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 383, __FILE__, __LINE__, true);
    1389           14 :                                     return _r;
    1390              :                                   }
    1391            0 : next_after_fail472:;
    1392              :                                 }
    1393              :                               else
    1394              :                                 {
    1395           94 :                                   {
    1396           94 :  gcc_checking_assert (!overflow_p);
    1397           94 :                                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail473;
    1398           94 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail473;
    1399           94 :                                       {
    1400           94 :                                         tree res_op0;
    1401           94 :                                         res_op0 = captures[0];
    1402           94 :                                         tree res_op1;
    1403           94 :                                         res_op1 =  wide_int_to_tree (itype, icst_val);
    1404           94 :                                         tree _r;
    1405           94 :                                         _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1406           94 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 384, __FILE__, __LINE__, true);
    1407           94 :                                         return _r;
    1408              :                                       }
    1409            0 : next_after_fail473:;
    1410              :                                   }
    1411              :                                 }
    1412              :                             }
    1413              :                         }
    1414              :                     }
    1415        37817 :               }
    1416              :             }
    1417              :       }
    1418              :     }
    1419              :   return NULL_TREE;
    1420              : }
    1421              : 
    1422              : tree
    1423        37621 : generic_simplify_275 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1424              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1425              :  const enum tree_code ARG_UNUSED (cmp))
    1426              : {
    1427        37621 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1428        37621 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail505;
    1429        37621 :   {
    1430        37621 :     tree res_op0;
    1431        37621 :     {
    1432        37621 :       tree _o1[2], _r1;
    1433        37621 :       {
    1434        37621 :         tree _o2[2], _r2;
    1435        37621 :         _o2[0] = captures[1];
    1436        37621 :         _o2[1] = captures[4];
    1437        37621 :         _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1438        37621 :         _o1[0] = _r2;
    1439              :       }
    1440        37621 :       _o1[1] = captures[2];
    1441        37621 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1442        37621 :       res_op0 = _r1;
    1443              :     }
    1444        37621 :     tree res_op1;
    1445        37621 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[2]));
    1446        37621 :     tree _r;
    1447        37621 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1448        37621 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 409, __FILE__, __LINE__, true);
    1449              :     return _r;
    1450              :   }
    1451            0 : next_after_fail505:;
    1452            0 :   return NULL_TREE;
    1453              : }
    1454              : 
    1455              : tree
    1456            0 : generic_simplify_282 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1457              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1458              :  const enum tree_code ARG_UNUSED (cmp))
    1459              : {
    1460            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1461            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail512;
    1462            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail512;
    1463            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail512;
    1464            0 :   {
    1465            0 :     tree res_op0;
    1466            0 :     res_op0 = captures[0];
    1467            0 :     tree res_op1;
    1468            0 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    1469            0 :     tree _r;
    1470            0 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1471            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 414, __FILE__, __LINE__, true);
    1472              :     return _r;
    1473              :   }
    1474              : next_after_fail512:;
    1475              :   return NULL_TREE;
    1476              : }
    1477              : 
    1478              : tree
    1479       110103 : generic_simplify_284 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1480              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1481              :  const enum tree_code ARG_UNUSED (cmp))
    1482              : {
    1483       110103 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1484       110103 :   {
    1485       110103 :  poly_int64 off0, off1;
    1486       110103 :  tree base0, base1;
    1487       110103 :  int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[2], base0, base1,
    1488              :  off0, off1,
    1489              : 1
    1490              : );
    1491       110103 :       if (equal == 1
    1492              : )
    1493              :         {
    1494        97210 :           if (cmp == EQ_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
    1495              : )
    1496              :             {
    1497         8135 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail521;
    1498         8135 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail521;
    1499         8135 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail521;
    1500         8135 :               {
    1501         8135 :                 tree _r;
    1502         8135 :                 _r =  constant_boolean_node (known_eq (off0, off1), type);
    1503         8135 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 415, __FILE__, __LINE__, true);
    1504        98502 :                 return _r;
    1505              :               }
    1506        11601 : next_after_fail521:;
    1507              :             }
    1508              :           else
    1509              :             {
    1510        48985 :               if (cmp == NE_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
    1511              : )
    1512              :                 {
    1513        48985 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail522;
    1514        48985 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail522;
    1515        48985 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail522;
    1516        48985 :                   {
    1517        48985 :                     tree _r;
    1518        48985 :                     _r =  constant_boolean_node (known_ne (off0, off1), type);
    1519        48985 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 416, __FILE__, __LINE__, true);
    1520        48985 :                     return _r;
    1521              :                   }
    1522        11601 : next_after_fail522:;
    1523              :                 }
    1524              :               else
    1525              :                 {
    1526        29008 :                   if (cmp == LT_EXPR && (known_lt (off0, off1) || known_ge (off0, off1))
    1527              : )
    1528              :                     {
    1529        29008 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail523;
    1530        29008 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail523;
    1531        29008 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail523;
    1532        29008 :                       {
    1533        29008 :                         tree _r;
    1534        29008 :                         _r =  constant_boolean_node (known_lt (off0, off1), type);
    1535        29008 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 417, __FILE__, __LINE__, true);
    1536        29008 :                         return _r;
    1537              :                       }
    1538        11601 : next_after_fail523:;
    1539              :                     }
    1540              :                   else
    1541              :                     {
    1542          363 :                       if (cmp == LE_EXPR && (known_le (off0, off1) || known_gt (off0, off1))
    1543              : )
    1544              :                         {
    1545          363 :                           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail524;
    1546          363 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail524;
    1547          363 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail524;
    1548          363 :                           {
    1549          363 :                             tree _r;
    1550          363 :                             _r =  constant_boolean_node (known_le (off0, off1), type);
    1551          363 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 418, __FILE__, __LINE__, true);
    1552          363 :                             return _r;
    1553              :                           }
    1554        11601 : next_after_fail524:;
    1555              :                         }
    1556              :                       else
    1557              :                         {
    1558         7153 :                           if (cmp == GE_EXPR && (known_ge (off0, off1) || known_lt (off0, off1))
    1559              : )
    1560              :                             {
    1561         7153 :                               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail525;
    1562         7153 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail525;
    1563         7153 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail525;
    1564         7153 :                               {
    1565         7153 :                                 tree _r;
    1566         7153 :                                 _r =  constant_boolean_node (known_ge (off0, off1), type);
    1567         7153 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 419, __FILE__, __LINE__, true);
    1568         7153 :                                 return _r;
    1569              :                               }
    1570        11601 : next_after_fail525:;
    1571              :                             }
    1572              :                           else
    1573              :                             {
    1574         3566 :                               if (cmp == GT_EXPR && (known_gt (off0, off1) || known_le (off0, off1))
    1575              : )
    1576              :                                 {
    1577         3566 :                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail526;
    1578         3566 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail526;
    1579         3566 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail526;
    1580         3566 :                                   {
    1581         3566 :                                     tree _r;
    1582         3566 :                                     _r =  constant_boolean_node (known_gt (off0, off1), type);
    1583         3566 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 420, __FILE__, __LINE__, true);
    1584         3566 :                                     return _r;
    1585              :                                   }
    1586        11601 : next_after_fail526:;
    1587              :                                 }
    1588              :                             }
    1589              :                         }
    1590              :                     }
    1591              :                 }
    1592              :             }
    1593              :         }
    1594              :       else
    1595              :         {
    1596        12893 :           if (equal == 0
    1597              : )
    1598              :             {
    1599         1292 :               if (cmp == EQ_EXPR
    1600              : )
    1601              :                 {
    1602          759 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail527;
    1603          759 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail527;
    1604          759 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail527;
    1605          759 :                   {
    1606          759 :                     tree _r;
    1607          759 :                     _r =  constant_boolean_node (false, type);
    1608          759 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 421, __FILE__, __LINE__, true);
    1609          759 :                     return _r;
    1610              :                   }
    1611        11601 : next_after_fail527:;
    1612              :                 }
    1613              :               else
    1614              :                 {
    1615          533 :                   if (cmp == NE_EXPR
    1616              : )
    1617              :                     {
    1618          533 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail528;
    1619          533 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail528;
    1620          533 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail528;
    1621          533 :                       {
    1622          533 :                         tree _r;
    1623          533 :                         _r =  constant_boolean_node (true, type);
    1624          533 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 422, __FILE__, __LINE__, true);
    1625          533 :                         return _r;
    1626              :                       }
    1627        11601 : next_after_fail528:;
    1628              :                     }
    1629              :                 }
    1630              :             }
    1631              :         }
    1632              :   }
    1633        11601 :   return NULL_TREE;
    1634              : }
    1635              : 
    1636              : tree
    1637        28312 : generic_simplify_299 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1638              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1639              :  const enum tree_code ARG_UNUSED (cmp),
    1640              :  const enum tree_code ARG_UNUSED (icmp),
    1641              :  const enum tree_code ARG_UNUSED (ncmp))
    1642              : {
    1643        28312 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1644        28312 :   if (types_match (type, TREE_TYPE (captures[0]))
    1645              : )
    1646              :     {
    1647        27574 :       {
    1648        27574 :  enum tree_code ic = invert_tree_comparison
    1649        27574 :  (cmp, HONOR_NANS (captures[1]));
    1650        27574 :           if (ic == icmp
    1651              : )
    1652              :             {
    1653        22031 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail562;
    1654        22031 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail562;
    1655        22031 :               {
    1656        22031 :                 tree res_op0;
    1657        22031 :                 res_op0 = captures[1];
    1658        22031 :                 tree res_op1;
    1659        22031 :                 res_op1 = captures[2];
    1660        22031 :                 tree _r;
    1661        22031 :                 _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1662        22031 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 456, __FILE__, __LINE__, true);
    1663        22031 :                 return _r;
    1664              :               }
    1665              : next_after_fail562:;
    1666              :             }
    1667              :           else
    1668              :             {
    1669         5543 :               if (ic == ncmp
    1670              : )
    1671              :                 {
    1672            5 :                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail563;
    1673            5 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail563;
    1674            5 :                   {
    1675            5 :                     tree res_op0;
    1676            5 :                     res_op0 = captures[1];
    1677            5 :                     tree res_op1;
    1678            5 :                     res_op1 = captures[2];
    1679            5 :                     tree _r;
    1680            5 :                     _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    1681            5 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 457, __FILE__, __LINE__, true);
    1682            5 :                     return _r;
    1683              :                   }
    1684              : next_after_fail563:;
    1685              :                 }
    1686              :             }
    1687              :       }
    1688              :     }
    1689              :   return NULL_TREE;
    1690              : }
    1691              : 
    1692              : tree
    1693         2749 : generic_simplify_310 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1694              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1695              :  const enum tree_code ARG_UNUSED (div))
    1696              : {
    1697         2749 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1698         2749 :   if (!TYPE_UNSIGNED (type)
    1699              : )
    1700              :     {
    1701         1683 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail576;
    1702         1683 :       {
    1703         1683 :         tree res_op0;
    1704         1683 :         res_op0 = captures[0];
    1705         1683 :         tree _r;
    1706         1683 :         _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    1707         1683 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1708            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1709         1683 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 468, __FILE__, __LINE__, true);
    1710         1683 :         return _r;
    1711              :       }
    1712            0 : next_after_fail576:;
    1713              :     }
    1714              :   return NULL_TREE;
    1715              : }
    1716              : 
    1717              : tree
    1718        45184 : generic_simplify_316 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1719              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1720              :  const enum tree_code ARG_UNUSED (div))
    1721              : {
    1722        45184 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1723        45184 :   if (integer_pow2p (captures[2])
    1724        36214 :  && tree_int_cst_sgn (captures[2]) > 0
    1725        36214 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    1726        90368 :  && wi::to_wide (captures[2]) + wi::to_wide (captures[1]) == 0
    1727              : )
    1728              :     {
    1729            1 :       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail583;
    1730            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail583;
    1731            1 :       {
    1732            1 :         tree res_op0;
    1733            1 :         {
    1734            1 :           tree _o1[1], _r1;
    1735            1 :           _o1[0] = captures[0];
    1736            1 :           if (TREE_TYPE (_o1[0]) != type)
    1737              :             {
    1738            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1739              :             }
    1740              :           else
    1741              :             _r1 = _o1[0];
    1742            1 :           res_op0 = _r1;
    1743              :         }
    1744            1 :         tree res_op1;
    1745            1 :         res_op1 =  build_int_cst (integer_type_node,
    1746            1 :  wi::exact_log2 (wi::to_wide (captures[2])));
    1747            1 :         tree _r;
    1748            1 :         _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
    1749            1 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1750            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1751            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 475, __FILE__, __LINE__, true);
    1752            1 :         return _r;
    1753              :       }
    1754              : next_after_fail583:;
    1755              :     }
    1756              :   return NULL_TREE;
    1757              : }
    1758              : 
    1759              : tree
    1760          529 : generic_simplify_323 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1761              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1762              :  const enum tree_code ARG_UNUSED (mod))
    1763              : {
    1764          529 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1765          529 :   if (!TYPE_UNSIGNED (type)
    1766              : )
    1767              :     {
    1768           20 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail590;
    1769           20 :       {
    1770           20 :         tree _r;
    1771           20 :         _r =  build_zero_cst (type);
    1772           20 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1773            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1774           20 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1775            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1776           20 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 482, __FILE__, __LINE__, true);
    1777           20 :         return _r;
    1778              :       }
    1779            0 : next_after_fail590:;
    1780              :     }
    1781              :   return NULL_TREE;
    1782              : }
    1783              : 
    1784              : tree
    1785            6 : generic_simplify_335 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1786              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1787              :  const combined_fn ARG_UNUSED (COS),
    1788              :  const combined_fn ARG_UNUSED (SIN),
    1789              :  const combined_fn ARG_UNUSED (TAN))
    1790              : {
    1791            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1792            6 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1793              : )
    1794              :     {
    1795            6 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail604;
    1796            6 :       {
    1797            6 :         tree res_op0;
    1798            6 :         res_op0 =  build_one_cst (type);
    1799            6 :         tree res_op1;
    1800            6 :         {
    1801            6 :           tree _o1[1], _r1;
    1802            6 :           _o1[0] = captures[1];
    1803            6 :           _r1 = maybe_build_call_expr_loc (loc, TAN, TREE_TYPE (_o1[0]), 1, _o1[0]);
    1804            6 :           if (!_r1)
    1805            0 :             goto next_after_fail604;
    1806            6 :           res_op1 = _r1;
    1807              :         }
    1808            6 :         tree _r;
    1809            6 :         _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    1810            6 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 496, __FILE__, __LINE__, true);
    1811            6 :         return _r;
    1812              :       }
    1813              : next_after_fail604:;
    1814              :     }
    1815              :   return NULL_TREE;
    1816              : }
    1817              : 
    1818              : tree
    1819           47 : generic_simplify_343 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1820              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1821              :  const enum tree_code ARG_UNUSED (cmp),
    1822              :  const enum tree_code ARG_UNUSED (minmax))
    1823              : {
    1824           47 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1825           47 :   {
    1826           47 :  tree_code code = minmax_from_comparison (cmp, captures[0], captures[1], captures[0], captures[4]);
    1827           47 :       if ((cmp == LT_EXPR || cmp == LE_EXPR)
    1828           15 :  && code == MIN_EXPR
    1829           51 :  && integer_nonzerop (fold_build2 (LE_EXPR, boolean_type_node, captures[3], captures[4]))
    1830              : )
    1831              :         {
    1832            4 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail616;
    1833            4 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail616;
    1834            4 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail616;
    1835            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail616;
    1836            4 :           {
    1837            4 :             tree res_op0;
    1838            4 :             res_op0 = captures[2];
    1839            4 :             tree res_op1;
    1840            4 :             res_op1 = captures[4];
    1841            4 :             tree _r;
    1842            4 :             _r = fold_build2_loc (loc, MIN_EXPR, type, res_op0, res_op1);
    1843            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 508, __FILE__, __LINE__, true);
    1844            4 :             return _r;
    1845              :           }
    1846              : next_after_fail616:;
    1847              :         }
    1848              :       else
    1849              :         {
    1850           43 :           if ((cmp == GT_EXPR || cmp == GE_EXPR)
    1851           32 :  && code == MAX_EXPR
    1852           67 :  && integer_nonzerop (fold_build2 (GE_EXPR, boolean_type_node, captures[3], captures[4]))
    1853              : )
    1854              :             {
    1855           10 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail617;
    1856           10 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail617;
    1857           10 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail617;
    1858           10 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail617;
    1859           10 :               {
    1860           10 :                 tree res_op0;
    1861           10 :                 res_op0 = captures[2];
    1862           10 :                 tree res_op1;
    1863           10 :                 res_op1 = captures[4];
    1864           10 :                 tree _r;
    1865           10 :                 _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
    1866           10 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 509, __FILE__, __LINE__, true);
    1867           10 :                 return _r;
    1868              :               }
    1869              : next_after_fail617:;
    1870              :             }
    1871              :         }
    1872              :   }
    1873              :   return NULL_TREE;
    1874              : }
    1875              : 
    1876              : tree
    1877            3 : generic_simplify_355 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1878              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1879              :  const enum tree_code ARG_UNUSED (op))
    1880              : {
    1881            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1882            3 :   if (INTEGRAL_TYPE_P (type)
    1883            3 :  && TYPE_PRECISION (type) > 1
    1884            3 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1885            6 :  && expr_no_side_effects_p (captures[2])
    1886              : )
    1887              :     {
    1888            3 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail630;
    1889            3 :       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail630;
    1890            3 :       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail630;
    1891            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail630;
    1892            3 :       {
    1893            3 :         tree res_op0;
    1894            3 :         {
    1895            3 :           tree _o1[2], _r1;
    1896            3 :           {
    1897            3 :             tree _o2[1], _r2;
    1898            3 :             _o2[0] = captures[0];
    1899            3 :             if (TREE_TYPE (_o2[0]) != type)
    1900              :               {
    1901            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    1902              :               }
    1903              :             else
    1904              :               _r2 = _o2[0];
    1905            3 :             _o1[0] = _r2;
    1906              :           }
    1907            3 :           _o1[1] = captures[2];
    1908            3 :           _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1909            3 :           res_op0 = _r1;
    1910              :         }
    1911            3 :         tree res_op1;
    1912            3 :         res_op1 = captures[1];
    1913            3 :         tree _r;
    1914            3 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1915            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 521, __FILE__, __LINE__, true);
    1916            3 :         return _r;
    1917              :       }
    1918              : next_after_fail630:;
    1919              :     }
    1920              :   return NULL_TREE;
    1921              : }
    1922              : 
    1923              : tree
    1924          396 : generic_simplify_370 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1925              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1926              :  const enum tree_code ARG_UNUSED (op),
    1927              :  const enum tree_code ARG_UNUSED (neg_op))
    1928              : {
    1929          396 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1930          396 :   if (flag_unsafe_math_optimizations
    1931              : )
    1932              :     {
    1933            4 :       if (!HONOR_SIGNED_ZEROS (captures[1]) && !HONOR_INFINITIES (captures[1])
    1934              : )
    1935              :         {
    1936            4 :           if (real_less (&dconst0, TREE_REAL_CST_PTR (captures[0]))
    1937              : )
    1938              :             {
    1939            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail648;
    1940            2 :               {
    1941            2 :                 tree res_op0;
    1942            2 :                 res_op0 = captures[1];
    1943            2 :                 tree res_op1;
    1944            2 :                 res_op1 = captures[2];
    1945            2 :                 tree _r;
    1946            2 :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1947            2 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    1948            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1949            2 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 538, __FILE__, __LINE__, true);
    1950            2 :                 return _r;
    1951              :               }
    1952            0 : next_after_fail648:;
    1953              :             }
    1954              :           else
    1955              :             {
    1956            2 :               if (real_less (TREE_REAL_CST_PTR (captures[0]), &dconst0)
    1957              : )
    1958              :                 {
    1959            2 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail649;
    1960            2 :                   {
    1961            2 :                     tree res_op0;
    1962            2 :                     res_op0 = captures[1];
    1963            2 :                     tree res_op1;
    1964            2 :                     res_op1 = captures[2];
    1965            2 :                     tree _r;
    1966            2 :                     _r = fold_build2_loc (loc, neg_op, type, res_op0, res_op1);
    1967            2 :                     if (TREE_SIDE_EFFECTS (captures[0]))
    1968            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1969            2 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 539, __FILE__, __LINE__, true);
    1970            2 :                     return _r;
    1971              :                   }
    1972            0 : next_after_fail649:;
    1973              :                 }
    1974              :             }
    1975              :         }
    1976              :     }
    1977              :   return NULL_TREE;
    1978              : }
    1979              : 
    1980              : tree
    1981            6 : generic_simplify_380 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1982              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1983              :  const enum tree_code ARG_UNUSED (minmax),
    1984              :  const enum tree_code ARG_UNUSED (cmp))
    1985              : {
    1986            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1987            6 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail661;
    1988            6 :   {
    1989            6 :     tree _r;
    1990            6 :     _r =  constant_boolean_node (cmp == GE_EXPR || cmp == LE_EXPR, type);
    1991            6 :     if (TREE_SIDE_EFFECTS (captures[0]))
    1992            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1993            6 :     if (TREE_SIDE_EFFECTS (captures[1]))
    1994            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1995            6 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 551, __FILE__, __LINE__, true);
    1996              :     return _r;
    1997              :   }
    1998            0 : next_after_fail661:;
    1999            0 :   return NULL_TREE;
    2000              : }
    2001              : 
    2002              : tree
    2003        10112 : generic_simplify_388 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2004              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2005              :  const enum tree_code ARG_UNUSED (cmp))
    2006              : {
    2007        10112 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2008        10112 :   if (single_use (captures[0])
    2009        10112 :  && ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2010        10096 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2011              : )
    2012              :     {
    2013         7717 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail701;
    2014         7717 :       {
    2015         7717 :         tree res_op0;
    2016         7717 :         res_op0 = captures[2];
    2017         7717 :         tree res_op1;
    2018         7717 :         res_op1 = captures[1];
    2019         7717 :         tree _r;
    2020         7717 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2021         7717 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 574, __FILE__, __LINE__, true);
    2022         7717 :         return _r;
    2023              :       }
    2024            0 : next_after_fail701:;
    2025              :     }
    2026              :   return NULL_TREE;
    2027              : }
    2028              : 
    2029              : tree
    2030         1440 : generic_simplify_393 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2031              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2032              :  const enum tree_code ARG_UNUSED (cmp),
    2033              :  const enum tree_code ARG_UNUSED (neg_cmp))
    2034              : {
    2035         1440 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2036         1440 :   if (flag_unsafe_math_optimizations
    2037              : )
    2038              :     {
    2039            9 :       {
    2040            9 :  tree tem = const_binop (RDIV_EXPR, type, captures[2], captures[1]);
    2041            9 :           if (tem
    2042           27 :  && !(REAL_VALUE_ISINF (TREE_REAL_CST (tem))
    2043           15 :  || (real_zerop (tem) && !real_zerop (captures[1])))
    2044              : )
    2045              :             {
    2046            3 :               if (real_less (&dconst0, TREE_REAL_CST_PTR (captures[1]))
    2047              : )
    2048              :                 {
    2049            2 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail706;
    2050            2 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail706;
    2051            2 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail706;
    2052            2 :                   {
    2053            2 :                     tree res_op0;
    2054            2 :                     res_op0 = captures[0];
    2055            2 :                     tree res_op1;
    2056            2 :                     res_op1 =  tem;
    2057            2 :                     tree _r;
    2058            2 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2059            2 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 579, __FILE__, __LINE__, true);
    2060            2 :                     return _r;
    2061              :                   }
    2062              : next_after_fail706:;
    2063              :                 }
    2064              :               else
    2065              :                 {
    2066            1 :                   if (real_less (TREE_REAL_CST_PTR (captures[1]), &dconst0)
    2067              : )
    2068              :                     {
    2069            1 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail707;
    2070            1 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail707;
    2071            1 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail707;
    2072            1 :                       {
    2073            1 :                         tree res_op0;
    2074            1 :                         res_op0 = captures[0];
    2075            1 :                         tree res_op1;
    2076            1 :                         res_op1 =  tem;
    2077            1 :                         tree _r;
    2078            1 :                         _r = fold_build2_loc (loc, neg_cmp, type, res_op0, res_op1);
    2079            1 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 580, __FILE__, __LINE__, true);
    2080            1 :                         return _r;
    2081              :                       }
    2082              : next_after_fail707:;
    2083              :                     }
    2084              :                 }
    2085              :             }
    2086              :       }
    2087              :     }
    2088              :   return NULL_TREE;
    2089              : }
    2090              : 
    2091              : tree
    2092            0 : generic_simplify_402 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2093              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2094              :  const enum tree_code ARG_UNUSED (cmp),
    2095              :  const enum tree_code ARG_UNUSED (out))
    2096              : {
    2097            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2098            0 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2099            0 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    2100              : )
    2101              :     {
    2102            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail722;
    2103            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail722;
    2104            0 :       {
    2105            0 :         tree res_op0;
    2106            0 :         {
    2107            0 :           tree _o1[1], _r1;
    2108            0 :           _o1[0] = captures[0];
    2109            0 :           _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2110            0 :           res_op0 = _r1;
    2111              :         }
    2112            0 :         tree res_op1;
    2113            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2114            0 :         tree _r;
    2115            0 :         _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2116            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 577, __FILE__, __LINE__, true);
    2117            0 :         return _r;
    2118              :       }
    2119              : next_after_fail722:;
    2120              :     }
    2121              :   return NULL_TREE;
    2122              : }
    2123              : 
    2124              : tree
    2125           94 : generic_simplify_407 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2126              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2127              : {
    2128           94 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2129          188 :   if (INTEGRAL_TYPE_P (type)
    2130           93 :  && !TYPE_UNSIGNED (type)
    2131           93 :  && !TYPE_OVERFLOW_TRAPS (type)
    2132           93 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
    2133          281 :  && (expr_not_equal_to (captures[0], wi::to_wide (TYPE_MIN_VALUE (type)))
    2134          187 :  || expr_not_equal_to (captures[2], wi::minus_one (TYPE_PRECISION
    2135              :  (TREE_TYPE (captures[2]))),
    2136              :  gimple_match_ctx (captures[1])))
    2137              : )
    2138              :     {
    2139            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail731;
    2140            0 :       {
    2141            0 :         tree res_op0;
    2142            0 :         res_op0 = captures[0];
    2143            0 :         tree res_op1;
    2144            0 :         {
    2145            0 :           tree _o1[1], _r1;
    2146            0 :           _o1[0] = captures[2];
    2147            0 :           if (TREE_TYPE (_o1[0]) != type)
    2148              :             {
    2149            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2150              :             }
    2151              :           else
    2152              :             _r1 = _o1[0];
    2153            0 :           res_op1 = _r1;
    2154              :         }
    2155            0 :         tree _r;
    2156            0 :         _r = fold_build2_loc (loc, TRUNC_MOD_EXPR, type, res_op0, res_op1);
    2157            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 600, __FILE__, __LINE__, true);
    2158            0 :         return _r;
    2159              :       }
    2160            0 : next_after_fail731:;
    2161              :     }
    2162              :   return NULL_TREE;
    2163              : }
    2164              : 
    2165              : tree
    2166            0 : generic_simplify_414 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2167              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2168              :  const enum tree_code ARG_UNUSED (shiftrotate))
    2169              : {
    2170            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2171            0 :   {
    2172            0 :  tree tem = uniform_vector_p (captures[1]);
    2173            0 :       if (tem
    2174              : )
    2175              :         {
    2176            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail738;
    2177            0 :           {
    2178            0 :             tree res_op0;
    2179            0 :             res_op0 = captures[0];
    2180            0 :             tree res_op1;
    2181            0 :             res_op1 =  tem;
    2182            0 :             tree _r;
    2183            0 :             _r = fold_build2_loc (loc, shiftrotate, type, res_op0, res_op1);
    2184            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2185            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2186            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 606, __FILE__, __LINE__, true);
    2187            0 :             return _r;
    2188              :           }
    2189            0 : next_after_fail738:;
    2190              :         }
    2191              :   }
    2192              :   return NULL_TREE;
    2193              : }
    2194              : 
    2195              : tree
    2196      3830182 : generic_simplify_421 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2197              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2198              :  const enum tree_code ARG_UNUSED (bitop))
    2199              : {
    2200      3830182 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2201      3830182 :   if (0
    2202              :  && INTEGRAL_TYPE_P (type)
    2203              :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2204              :  && TREE_CODE (captures[3]) != INTEGER_CST
    2205              :  && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    2206              :  && TYPE_PRECISION (TREE_TYPE (captures[2])) > TYPE_PRECISION (type)
    2207              : )
    2208              :     {
    2209              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail752;
    2210              :       {
    2211              :         tree res_op0;
    2212              :         {
    2213              :           tree _o1[1], _r1;
    2214              :           _o1[0] = captures[2];
    2215              :           if (TREE_TYPE (_o1[0]) != type)
    2216              :             {
    2217              :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2218              :             }
    2219              :           else
    2220              :             _r1 = _o1[0];
    2221              :           res_op0 = _r1;
    2222              :         }
    2223              :         tree res_op1;
    2224              :         {
    2225              :           tree _o1[1], _r1;
    2226              :           _o1[0] = captures[3];
    2227              :           if (TREE_TYPE (_o1[0]) != type)
    2228              :             {
    2229              :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2230              :             }
    2231              :           else
    2232              :             _r1 = _o1[0];
    2233              :           res_op1 = _r1;
    2234              :         }
    2235              :         tree _r;
    2236              :         _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
    2237              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 619, __FILE__, __LINE__, true);
    2238              :         return _r;
    2239              :       }
    2240              : next_after_fail752:;
    2241              :     }
    2242              :   else
    2243              :     {
    2244      3830182 :       if (0
    2245              :  && INTEGRAL_TYPE_P (type)
    2246              :  && types_match (type, TREE_TYPE (captures[2]))
    2247              :  && TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (type)
    2248              : )
    2249              :         {
    2250              :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail753;
    2251              :           {
    2252              :             tree res_op0;
    2253              :             res_op0 = captures[2];
    2254              :             tree res_op1;
    2255              :             {
    2256              :               tree _o1[1], _r1;
    2257              :               _o1[0] = captures[3];
    2258              :               if (TREE_TYPE (_o1[0]) != type)
    2259              :                 {
    2260              :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2261              :                 }
    2262              :               else
    2263              :                 _r1 = _o1[0];
    2264              :               res_op1 = _r1;
    2265              :             }
    2266              :             tree _r;
    2267              :             _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
    2268              :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 620, __FILE__, __LINE__, true);
    2269              :             return _r;
    2270              :           }
    2271              : next_after_fail753:;
    2272              :         }
    2273              :     }
    2274      3830182 :   return NULL_TREE;
    2275              : }
    2276              : 
    2277              : tree
    2278     22260403 : generic_simplify_427 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2279              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2280              :  const enum tree_code ARG_UNUSED (op))
    2281              : {
    2282     22260403 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2283     22260403 :   if (INTEGRAL_TYPE_P (type)
    2284     20831552 :  && op != MULT_EXPR
    2285     20831552 :  && op != RDIV_EXPR
    2286     11176078 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2287     11176078 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2288     11176078 :  && type_has_mode_precision_p (TREE_TYPE (captures[2]))
    2289     11174885 :  && type_has_mode_precision_p (TREE_TYPE (captures[4]))
    2290     11174885 :  && type_has_mode_precision_p (type)
    2291     11140954 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
    2292            0 :  && types_match (captures[2], type)
    2293     22260403 :  && (types_match (captures[2], captures[4])
    2294            0 :  || poly_int_tree_p (captures[3]))
    2295              : )
    2296              :     {
    2297            0 :       if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
    2298              : )
    2299              :         {
    2300            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail769;
    2301            0 :           {
    2302            0 :             tree res_op0;
    2303            0 :             res_op0 = captures[2];
    2304            0 :             tree res_op1;
    2305            0 :             {
    2306            0 :               tree _o1[1], _r1;
    2307            0 :               _o1[0] = captures[4];
    2308            0 :               if (TREE_TYPE (_o1[0]) != type)
    2309              :                 {
    2310            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2311              :                 }
    2312              :               else
    2313              :                 _r1 = _o1[0];
    2314            0 :               res_op1 = _r1;
    2315              :             }
    2316            0 :             tree _r;
    2317            0 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2318            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 624, __FILE__, __LINE__, true);
    2319            0 :             return _r;
    2320              :           }
    2321            0 : next_after_fail769:;
    2322              :         }
    2323              :       else
    2324              :         {
    2325            0 :           {
    2326            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
    2327            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail770;
    2328            0 :               {
    2329            0 :                 tree res_op0;
    2330            0 :                 {
    2331            0 :                   tree _o1[2], _r1;
    2332            0 :                   {
    2333            0 :                     tree _o2[1], _r2;
    2334            0 :                     _o2[0] = captures[2];
    2335            0 :                     if (TREE_TYPE (_o2[0]) != utype)
    2336              :                       {
    2337            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2338              :                       }
    2339              :                     else
    2340              :                       _r2 = _o2[0];
    2341            0 :                     _o1[0] = _r2;
    2342              :                   }
    2343            0 :                   {
    2344            0 :                     tree _o2[1], _r2;
    2345            0 :                     _o2[0] = captures[4];
    2346            0 :                     if (TREE_TYPE (_o2[0]) != utype)
    2347              :                       {
    2348            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2349              :                       }
    2350              :                     else
    2351              :                       _r2 = _o2[0];
    2352            0 :                     _o1[1] = _r2;
    2353              :                   }
    2354            0 :                   _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2355            0 :                   res_op0 = _r1;
    2356              :                 }
    2357            0 :                 tree _r;
    2358            0 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2359            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 625, __FILE__, __LINE__, true);
    2360            0 :                 return _r;
    2361              :               }
    2362            0 : next_after_fail770:;
    2363              :           }
    2364              :         }
    2365              :     }
    2366              :   else
    2367              :     {
    2368     22214183 :       if (FLOAT_TYPE_P (type)
    2369     22306623 :  && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    2370        46220 :  == DECIMAL_FLOAT_TYPE_P (type)
    2371              : )
    2372              :         {
    2373        46180 :           {
    2374        46180 :  tree arg0 = strip_float_extensions (captures[2]);
    2375        46180 :  tree arg1 = strip_float_extensions (captures[4]);
    2376        46180 :  tree itype = TREE_TYPE (captures[0]);
    2377        46180 :  tree ty1 = TREE_TYPE (arg0);
    2378        46180 :  tree ty2 = TREE_TYPE (arg1);
    2379        46180 :  enum tree_code code = TREE_CODE (itype);
    2380            0 :               if (FLOAT_TYPE_P (ty1)
    2381        46180 :  && FLOAT_TYPE_P (ty2)
    2382              : )
    2383              :                 {
    2384        46180 :                   {
    2385        46180 :  tree newtype = type;
    2386        46180 :  if (TYPE_MODE (ty1) == SDmode
    2387        45912 :  || TYPE_MODE (ty2) == SDmode
    2388        92092 :  || TYPE_MODE (type) == SDmode)
    2389          283 :  newtype = dfloat32_type_node;
    2390        46180 :  if (TYPE_MODE (ty1) == DDmode
    2391        46034 :  || TYPE_MODE (ty2) == DDmode
    2392        92087 :  || TYPE_MODE (type) == DDmode)
    2393          275 :  newtype = dfloat64_type_node;
    2394        46180 :  if (TYPE_MODE (ty1) == TDmode
    2395        46179 :  || TYPE_MODE (ty2) == TDmode
    2396        92107 :  || TYPE_MODE (type) == TDmode)
    2397          268 :  newtype = dfloat128_type_node;
    2398        46180 :                       if ((newtype == dfloat32_type_node
    2399        46176 :  || newtype == dfloat64_type_node
    2400        46033 :  || newtype == dfloat128_type_node)
    2401          415 :  && newtype == type
    2402        46191 :  && types_match (newtype, type)
    2403              : )
    2404              :                         {
    2405           11 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail771;
    2406            5 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail771;
    2407            5 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail771;
    2408            5 :                           {
    2409            5 :                             tree res_op0;
    2410            5 :                             {
    2411            5 :                               tree _o1[1], _r1;
    2412            5 :                               _o1[0] = captures[2];
    2413            5 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2414              :                                 {
    2415            5 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2416              :                                 }
    2417              :                               else
    2418              :                                 _r1 = _o1[0];
    2419            5 :                               res_op0 = _r1;
    2420              :                             }
    2421            5 :                             tree res_op1;
    2422            5 :                             {
    2423            5 :                               tree _o1[1], _r1;
    2424            5 :                               _o1[0] = captures[4];
    2425            5 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2426              :                                 {
    2427            5 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2428              :                                 }
    2429              :                               else
    2430              :                                 _r1 = _o1[0];
    2431            5 :                               res_op1 = _r1;
    2432              :                             }
    2433            5 :                             tree _r;
    2434            5 :                             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2435            5 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 626, __FILE__, __LINE__, true);
    2436            5 :                             return _r;
    2437              :                           }
    2438              : next_after_fail771:;
    2439              :                         }
    2440              :                       else
    2441              :                         {
    2442        46169 :                           {
    2443        46169 :  if (element_precision (ty1) > element_precision (newtype))
    2444         9354 :  newtype = ty1;
    2445        46169 :  if (element_precision (ty2) > element_precision (newtype))
    2446         4191 :  newtype = ty2;
    2447        46169 :                               if (element_precision (newtype) < element_precision (itype)
    2448        12135 :  && (!VECTOR_MODE_P (TYPE_MODE (newtype))
    2449            0 :  || target_supports_op_p (newtype, op, optab_default))
    2450        12135 :  && (flag_unsafe_math_optimizations
    2451        12127 :  || (element_precision (newtype) == element_precision (type)
    2452        12098 :  && real_can_shorten_arithmetic (element_mode (itype),
    2453              :  element_mode (type))
    2454         3367 :  && !excess_precision_type (newtype)))
    2455        46324 :  && !types_match (itype, newtype)
    2456              : )
    2457              :                                 {
    2458          155 :                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail772;
    2459          154 :                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail772;
    2460          136 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail772;
    2461          136 :                                   {
    2462          136 :                                     tree res_op0;
    2463          136 :                                     {
    2464          136 :                                       tree _o1[2], _r1;
    2465          136 :                                       {
    2466          136 :                                         tree _o2[1], _r2;
    2467          136 :                                         _o2[0] = captures[2];
    2468          136 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2469              :                                           {
    2470          136 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2471              :                                           }
    2472              :                                         else
    2473              :                                           _r2 = _o2[0];
    2474          136 :                                         _o1[0] = _r2;
    2475              :                                       }
    2476          136 :                                       {
    2477          136 :                                         tree _o2[1], _r2;
    2478          136 :                                         _o2[0] = captures[4];
    2479          136 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2480              :                                           {
    2481          136 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2482              :                                           }
    2483              :                                         else
    2484              :                                           _r2 = _o2[0];
    2485          136 :                                         _o1[1] = _r2;
    2486              :                                       }
    2487          136 :                                       _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2488          136 :                                       res_op0 = _r1;
    2489              :                                     }
    2490          136 :                                     tree _r;
    2491          136 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2492          136 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 627, __FILE__, __LINE__, true);
    2493          136 :                                     return _r;
    2494              :                                   }
    2495              : next_after_fail772:;
    2496              :                                 }
    2497              :                           }
    2498              :                         }
    2499              :                   }
    2500              :                 }
    2501              :           }
    2502              :         }
    2503              :     }
    2504              :   return NULL_TREE;
    2505              : }
    2506              : 
    2507              : tree
    2508            0 : generic_simplify_459 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2509              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2510              :  const enum tree_code ARG_UNUSED (cmp))
    2511              : {
    2512            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2513            0 :   if (fold_before_rtl_expansion_p ()
    2514              : )
    2515              :     {
    2516            0 :       if (INTEGRAL_TYPE_P (type)
    2517            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2518              : )
    2519              :         {
    2520            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail804;
    2521            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail804;
    2522            0 :           {
    2523            0 :             tree res_op0;
    2524            0 :             res_op0 = captures[0];
    2525            0 :             tree res_op1;
    2526            0 :             res_op1 = captures[3];
    2527            0 :             tree res_op2;
    2528            0 :             res_op2 =  build_zero_cst (type);
    2529            0 :             tree _r;
    2530            0 :             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    2531            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 658, __FILE__, __LINE__, true);
    2532            0 :             return _r;
    2533              :           }
    2534              : next_after_fail804:;
    2535              :         }
    2536              :     }
    2537              :   return NULL_TREE;
    2538              : }
    2539              : 
    2540              : tree
    2541            0 : generic_simplify_469 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2542              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2543              :  const enum tree_code ARG_UNUSED (eqne))
    2544              : {
    2545            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2546            0 :   if (eqne == EQ_EXPR
    2547              : )
    2548              :     {
    2549            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail835;
    2550            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail835;
    2551            0 :       {
    2552            0 :         tree _r;
    2553            0 :         _r =  constant_boolean_node (false, type);
    2554            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    2555            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2556            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 662, __FILE__, __LINE__, true);
    2557            0 :         return _r;
    2558              :       }
    2559              : next_after_fail835:;
    2560              :     }
    2561              :   else
    2562              :     {
    2563            0 :       if (eqne == NE_EXPR
    2564              : )
    2565              :         {
    2566            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail836;
    2567            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail836;
    2568            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail836;
    2569            0 :           {
    2570            0 :             tree _r;
    2571            0 :             _r = captures[0];
    2572            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 663, __FILE__, __LINE__, true);
    2573            0 :             return _r;
    2574              :           }
    2575              : next_after_fail836:;
    2576              :         }
    2577              :     }
    2578              :   return NULL_TREE;
    2579              : }
    2580              : 
    2581              : tree
    2582            4 : generic_simplify_477 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2583              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2584              : {
    2585            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2586            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail856;
    2587            4 :   {
    2588            4 :     tree res_op0;
    2589            4 :     res_op0 = captures[1];
    2590            4 :     tree res_op1;
    2591            4 :     {
    2592            4 :       tree _o1[2], _r1;
    2593            4 :       _o1[0] = captures[2];
    2594            4 :       _o1[1] = captures[3];
    2595            4 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2596            4 :       if (EXPR_P (_r1))
    2597            2 :         goto next_after_fail856;
    2598            2 :       res_op1 = _r1;
    2599              :     }
    2600            2 :     tree _r;
    2601            2 :     _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    2602            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 681, __FILE__, __LINE__, true);
    2603              :     return _r;
    2604              :   }
    2605              : next_after_fail856:;
    2606              :   return NULL_TREE;
    2607              : }
    2608              : 
    2609              : tree
    2610          234 : generic_simplify_482 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2611              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2612              :  const combined_fn ARG_UNUSED (bswap))
    2613              : {
    2614          234 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2615          234 :   if (BITS_PER_UNIT == 8
    2616          234 :  && tree_fits_uhwi_p (captures[3])
    2617          234 :  && tree_fits_uhwi_p (captures[4])
    2618              : )
    2619              :     {
    2620          234 :       {
    2621          234 :  unsigned HOST_WIDE_INT prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
    2622          234 :  unsigned HOST_WIDE_INT bits = tree_to_uhwi (captures[3]);
    2623          234 :  unsigned HOST_WIDE_INT mask = tree_to_uhwi (captures[4]);
    2624          234 :  unsigned HOST_WIDE_INT lo = bits & 7;
    2625          234 :  unsigned HOST_WIDE_INT hi = bits - lo;
    2626          234 :           if (bits < prec
    2627          234 :  && mask < (256u>>lo)
    2628          468 :  && bits < TYPE_PRECISION (TREE_TYPE(captures[0]))
    2629              : )
    2630              :             {
    2631          234 :               {
    2632          234 :  unsigned HOST_WIDE_INT ns = (prec - (hi + 8)) + lo;
    2633          234 :                   if (ns == 0
    2634              : )
    2635              :                     {
    2636            1 :                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail869;
    2637            1 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail869;
    2638            1 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail869;
    2639            1 :                       {
    2640            1 :                         tree res_op0;
    2641            1 :                         {
    2642            1 :                           tree _o1[1], _r1;
    2643            1 :                           _o1[0] = captures[2];
    2644            1 :                           if (TREE_TYPE (_o1[0]) != type)
    2645              :                             {
    2646            1 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2647              :                             }
    2648              :                           else
    2649              :                             _r1 = _o1[0];
    2650            1 :                           res_op0 = _r1;
    2651              :                         }
    2652            1 :                         tree res_op1;
    2653            1 :                         res_op1 = captures[4];
    2654            1 :                         tree _r;
    2655            1 :                         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2656            1 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 685, __FILE__, __LINE__, true);
    2657            1 :                         return _r;
    2658              :                       }
    2659              : next_after_fail869:;
    2660              :                     }
    2661              :                   else
    2662              :                     {
    2663          233 :                       {
    2664          233 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
    2665          233 :  tree nst = build_int_cst (integer_type_node, ns);
    2666          233 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail870;
    2667          233 :                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail870;
    2668          233 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail870;
    2669          233 :                           {
    2670          233 :                             tree res_op0;
    2671          233 :                             {
    2672          233 :                               tree _o1[1], _r1;
    2673          233 :                               {
    2674          233 :                                 tree _o2[2], _r2;
    2675          233 :                                 {
    2676          233 :                                   tree _o3[1], _r3;
    2677          233 :                                   _o3[0] = captures[2];
    2678          233 :                                   if (TREE_TYPE (_o3[0]) != utype)
    2679              :                                     {
    2680            0 :                                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2681              :                                     }
    2682              :                                   else
    2683              :                                     _r3 = _o3[0];
    2684          233 :                                   _o2[0] = _r3;
    2685              :                                 }
    2686          233 :                                 _o2[1] = nst;
    2687          233 :                                 _r2 = fold_build2_loc (loc, RSHIFT_EXPR, utype, _o2[0], _o2[1]);
    2688          233 :                                 _o1[0] = _r2;
    2689              :                               }
    2690          233 :                               if (TREE_TYPE (_o1[0]) != type)
    2691              :                                 {
    2692          101 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2693              :                                 }
    2694              :                               else
    2695              :                                 _r1 = _o1[0];
    2696          233 :                               res_op0 = _r1;
    2697              :                             }
    2698          233 :                             tree res_op1;
    2699          233 :                             res_op1 = captures[4];
    2700          233 :                             tree _r;
    2701          233 :                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2702          233 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 686, __FILE__, __LINE__, true);
    2703          233 :                             return _r;
    2704              :                           }
    2705              : next_after_fail870:;
    2706              :                       }
    2707              :                     }
    2708              :               }
    2709              :             }
    2710              :       }
    2711              :     }
    2712              :   return NULL_TREE;
    2713              : }
    2714              : 
    2715              : tree
    2716            0 : generic_simplify_484 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2717              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2718              : {
    2719            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2720            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail872;
    2721            0 :   {
    2722            0 :     tree res_op0;
    2723            0 :     res_op0 = captures[0];
    2724            0 :     tree res_op1;
    2725            0 :     res_op1 = captures[1];
    2726            0 :     tree _r;
    2727            0 :     _r = fold_build2_loc (loc, LTGT_EXPR, type, res_op0, res_op1);
    2728            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 688, __FILE__, __LINE__, true);
    2729              :     return _r;
    2730              :   }
    2731            0 : next_after_fail872:;
    2732            0 :   return NULL_TREE;
    2733              : }
    2734              : 
    2735              : tree
    2736            0 : generic_simplify_485 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2737              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2738              : {
    2739            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2740            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail873;
    2741            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail873;
    2742            0 :   {
    2743            0 :     tree _r;
    2744            0 :     _r = captures[1];
    2745            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 689, __FILE__, __LINE__, true);
    2746              :     return _r;
    2747              :   }
    2748              : next_after_fail873:;
    2749              :   return NULL_TREE;
    2750              : }
    2751              : 
    2752              : tree
    2753            3 : generic_simplify_488 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2754              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2755              :  const combined_fn ARG_UNUSED (POPCOUNT),
    2756              :  const combined_fn ARG_UNUSED (PARITY))
    2757              : {
    2758            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2759            3 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail877;
    2760            3 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail877;
    2761            3 :   {
    2762            3 :     tree res_op0;
    2763            3 :     res_op0 = captures[0];
    2764            3 :     tree _r;
    2765            3 :     _r = maybe_build_call_expr_loc (loc, PARITY, type, 1, res_op0);
    2766            3 :     if (!_r)
    2767            0 :       goto next_after_fail877;
    2768            3 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 692, __FILE__, __LINE__, true);
    2769              :     return _r;
    2770              :   }
    2771              : next_after_fail877:;
    2772              :   return NULL_TREE;
    2773              : }
    2774              : 
    2775              : tree
    2776          145 : generic_simplify_495 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2777              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2778              : {
    2779          145 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2780          145 :   if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
    2781          145 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2782              : )
    2783              :     {
    2784          145 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail884;
    2785          145 :       {
    2786          145 :         tree res_op0;
    2787          145 :         {
    2788          145 :           tree _o1[2], _r1;
    2789          145 :           _o1[0] = captures[0];
    2790          145 :           _o1[1] =  build_each_one_cst (TREE_TYPE (captures[0]));
    2791          145 :           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2792          145 :           res_op0 = _r1;
    2793              :         }
    2794          145 :         tree _r;
    2795          145 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2796          145 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 699, __FILE__, __LINE__, true);
    2797          145 :         return _r;
    2798              :       }
    2799            0 : next_after_fail884:;
    2800              :     }
    2801              :   return NULL_TREE;
    2802              : }
    2803              : 
    2804              : tree
    2805          245 : generic_simplify_502 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2806              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2807              :  const enum tree_code ARG_UNUSED (cmp),
    2808              :  const enum tree_code ARG_UNUSED (icmp),
    2809              :  const enum tree_code ARG_UNUSED (ncmp))
    2810              : {
    2811          245 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2812          245 :   if (VECTOR_TYPE_P (type)
    2813          245 :  || (INTEGRAL_TYPE_P (type) && TYPE_PRECISION (type) == 1)
    2814              : )
    2815              :     {
    2816           51 :       {
    2817           51 :  enum tree_code ic = invert_tree_comparison
    2818           51 :  (cmp, HONOR_NANS (captures[0]));
    2819           51 :           if (ic == icmp
    2820              : )
    2821              :             {
    2822           12 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail891;
    2823           12 :               {
    2824           12 :                 tree res_op0;
    2825           12 :                 res_op0 = captures[0];
    2826           12 :                 tree res_op1;
    2827           12 :                 res_op1 = captures[1];
    2828           12 :                 tree _r;
    2829           12 :                 _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    2830           12 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 704, __FILE__, __LINE__, true);
    2831           12 :                 return _r;
    2832              :               }
    2833            0 : next_after_fail891:;
    2834              :             }
    2835              :           else
    2836              :             {
    2837           39 :               if (ic == ncmp
    2838              : )
    2839              :                 {
    2840            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail892;
    2841            0 :                   {
    2842            0 :                     tree res_op0;
    2843            0 :                     res_op0 = captures[0];
    2844            0 :                     tree res_op1;
    2845            0 :                     res_op1 = captures[1];
    2846            0 :                     tree _r;
    2847            0 :                     _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    2848            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 705, __FILE__, __LINE__, true);
    2849            0 :                     return _r;
    2850              :                   }
    2851            0 : next_after_fail892:;
    2852              :                 }
    2853              :             }
    2854              :       }
    2855              :     }
    2856              :   return NULL_TREE;
    2857              : }
    2858              : 
    2859              : tree
    2860            0 : generic_simplify_516 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2861              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2862              :  const enum tree_code ARG_UNUSED (minmax),
    2863              :  const enum tree_code ARG_UNUSED (cmp))
    2864              : {
    2865            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2866            0 :   {
    2867            0 :  poly_int64 off0, off1;
    2868            0 :  tree base0, base1;
    2869            0 :  int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[3], base0, base1,
    2870              :  off0, off1,
    2871              : 1
    2872              : );
    2873            0 :       if (equal == 1
    2874              : )
    2875              :         {
    2876            0 :           if (minmax == MIN_EXPR
    2877              : )
    2878              :             {
    2879            0 :               if (known_le (off0, off1)
    2880              : )
    2881              :                 {
    2882            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail910;
    2883            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail910;
    2884            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail910;
    2885            0 :                   {
    2886            0 :                     tree _r;
    2887            0 :                     _r = captures[0];
    2888            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 718, __FILE__, __LINE__, true);
    2889            0 :                     return _r;
    2890              :                   }
    2891            0 : next_after_fail910:;
    2892              :                 }
    2893              :               else
    2894              :                 {
    2895            0 :                   if (known_gt (off0, off1)
    2896              : )
    2897              :                     {
    2898            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail911;
    2899            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail911;
    2900            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail911;
    2901            0 :                       {
    2902            0 :                         tree _r;
    2903            0 :                         _r = captures[2];
    2904            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 719, __FILE__, __LINE__, true);
    2905            0 :                         return _r;
    2906              :                       }
    2907            0 : next_after_fail911:;
    2908              :                     }
    2909              :                 }
    2910              :             }
    2911              :           else
    2912              :             {
    2913            0 :               if (known_ge (off0, off1)
    2914              : )
    2915              :                 {
    2916            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail912;
    2917            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail912;
    2918            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail912;
    2919            0 :                   {
    2920            0 :                     tree _r;
    2921            0 :                     _r = captures[0];
    2922            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 720, __FILE__, __LINE__, true);
    2923            0 :                     return _r;
    2924              :                   }
    2925            0 : next_after_fail912:;
    2926              :                 }
    2927              :               else
    2928              :                 {
    2929            0 :                   if (known_lt (off0, off1)
    2930              : )
    2931              :                     {
    2932            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail913;
    2933            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail913;
    2934            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail913;
    2935            0 :                       {
    2936            0 :                         tree _r;
    2937            0 :                         _r = captures[2];
    2938            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 721, __FILE__, __LINE__, true);
    2939            0 :                         return _r;
    2940              :                       }
    2941            0 : next_after_fail913:;
    2942              :                     }
    2943              :                 }
    2944              :             }
    2945              :         }
    2946              :   }
    2947            0 :   return NULL_TREE;
    2948              : }
    2949              : 
    2950              : tree
    2951            0 : generic_simplify_537 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2952              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2953              :  const enum tree_code ARG_UNUSED (cmp))
    2954              : {
    2955            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2956            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail943;
    2957            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail943;
    2958            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail943;
    2959            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail943;
    2960            0 :   {
    2961            0 :     tree _r;
    2962            0 :     _r = captures[3];
    2963            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 528, __FILE__, __LINE__, true);
    2964              :     return _r;
    2965              :   }
    2966              : next_after_fail943:;
    2967              :   return NULL_TREE;
    2968              : }
    2969              : 
    2970              : tree
    2971            0 : generic_simplify_545 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2972              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2973              :  const combined_fn ARG_UNUSED (cond_len_op))
    2974              : {
    2975            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2976            0 :   {
    2977            0 :  tree op_type = TREE_TYPE (captures[4]);
    2978            0 :       if (element_precision (type) == element_precision (op_type)
    2979              : )
    2980              :         {
    2981            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail951;
    2982            0 :           {
    2983            0 :             tree res_op0;
    2984            0 :             {
    2985            0 :               tree _o1[7], _r1;
    2986            0 :               _o1[0] = captures[0];
    2987            0 :               _o1[1] = captures[1];
    2988            0 :               _o1[2] = captures[2];
    2989            0 :               _o1[3] = captures[3];
    2990            0 :               {
    2991            0 :                 tree _o2[1], _r2;
    2992            0 :                 _o2[0] = captures[7];
    2993            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    2994              :                   {
    2995            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    2996              :                   }
    2997              :                 else
    2998              :                   _r2 = _o2[0];
    2999            0 :                 _o1[4] = _r2;
    3000              :               }
    3001            0 :               _o1[5] = captures[5];
    3002            0 :               _o1[6] = captures[6];
    3003            0 :               _r1 = maybe_build_call_expr_loc (loc, cond_len_op, TREE_TYPE (_o1[1]), 7, _o1[0], _o1[1], _o1[2], _o1[3], _o1[4], _o1[5], _o1[6]);
    3004            0 :               if (!_r1)
    3005            0 :                 goto next_after_fail951;
    3006            0 :               res_op0 = _r1;
    3007              :             }
    3008            0 :             tree _r;
    3009            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3010            0 :             if (TREE_SIDE_EFFECTS (captures[4]))
    3011            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    3012            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 746, __FILE__, __LINE__, true);
    3013            0 :             return _r;
    3014              :           }
    3015              : next_after_fail951:;
    3016              :         }
    3017              :   }
    3018              :   return NULL_TREE;
    3019              : }
    3020              : 
    3021              : tree
    3022            0 : generic_simplify_554 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3023              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3024              :  const combined_fn ARG_UNUSED (logs))
    3025              : {
    3026            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3027            0 :   if (flag_unsafe_math_optimizations
    3028              : )
    3029              :     {
    3030            0 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3031            0 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
    3032            0 :  && ! flag_trapping_math
    3033            0 :  && ! flag_errno_math
    3034              : )
    3035              :         {
    3036            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail960;
    3037            0 :           {
    3038            0 :             tree res_op0;
    3039            0 :             {
    3040            0 :               tree _o1[1], _r1;
    3041            0 :               _o1[0] = captures[2];
    3042            0 :               _r1 = maybe_build_call_expr_loc (loc, logs, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3043            0 :               if (!_r1)
    3044            0 :                 goto next_after_fail960;
    3045            0 :               res_op0 = _r1;
    3046              :             }
    3047            0 :             tree _r;
    3048            0 :             _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    3049            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    3050            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3051            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 755, __FILE__, __LINE__, true);
    3052            0 :             return _r;
    3053              :           }
    3054              : next_after_fail960:;
    3055              :         }
    3056              :     }
    3057              :   return NULL_TREE;
    3058              : }
    3059              : 
    3060              : tree
    3061            0 : generic_simplify_568 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3062              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3063              :  const combined_fn ARG_UNUSED (froms),
    3064              :  const combined_fn ARG_UNUSED (tos))
    3065              : {
    3066            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3067            0 :   if (optimize && canonicalize_math_p ()
    3068              : )
    3069              :     {
    3070            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail974;
    3071            0 :       {
    3072            0 :         tree res_op0;
    3073            0 :         res_op0 = captures[0];
    3074            0 :         tree _r;
    3075            0 :         _r = maybe_build_call_expr_loc (loc, tos, type, 1, res_op0);
    3076            0 :         if (!_r)
    3077            0 :           goto next_after_fail974;
    3078            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 769, __FILE__, __LINE__, true);
    3079            0 :         return _r;
    3080              :       }
    3081              : next_after_fail974:;
    3082              :     }
    3083              :   return NULL_TREE;
    3084              : }
    3085              : 
    3086              : tree
    3087            0 : generic_simplify_576 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3088              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3089              :  const combined_fn ARG_UNUSED (fmas))
    3090              : {
    3091            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3092            0 :   if (canonicalize_math_after_vectorization_p ()
    3093              : )
    3094              :     {
    3095              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail982;
    3096              :       {
    3097              :         tree res_op0;
    3098              :         res_op0 = captures[0];
    3099              :         tree res_op1;
    3100              :         res_op1 = captures[1];
    3101              :         tree res_op2;
    3102              :         res_op2 = captures[2];
    3103              :         tree _r;
    3104              :         _r = maybe_build_call_expr_loc (loc, CFN_FNMA, type, 3, res_op0, res_op1, res_op2);
    3105              :         if (!_r)
    3106              :           goto next_after_fail982;
    3107              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 777, __FILE__, __LINE__, true);
    3108              :         return _r;
    3109              :       }
    3110            0 : next_after_fail982:;
    3111              :     }
    3112            0 :   return NULL_TREE;
    3113              : }
    3114              : 
    3115              : tree
    3116            0 : generic_simplify_586 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3117              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures),
    3118              :  const combined_fn ARG_UNUSED (fmas))
    3119              : {
    3120            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3121            0 :   if (canonicalize_math_after_vectorization_p ()
    3122              : )
    3123              :     {
    3124              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail992;
    3125              :       {
    3126              :         tree res_op0;
    3127              :         res_op0 = captures[0];
    3128              :         tree res_op1;
    3129              :         res_op1 = captures[1];
    3130              :         tree res_op2;
    3131              :         res_op2 = captures[2];
    3132              :         tree res_op3;
    3133              :         res_op3 = captures[3];
    3134              :         tree res_op4;
    3135              :         res_op4 = captures[4];
    3136              :         tree _r;
    3137              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3138              :         if (!_r)
    3139              :           goto next_after_fail992;
    3140              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 787, __FILE__, __LINE__, true);
    3141              :         return _r;
    3142              :       }
    3143            0 : next_after_fail992:;
    3144              :     }
    3145            0 :   return NULL_TREE;
    3146              : }
    3147              : 
    3148              : tree
    3149            0 : generic_simplify_596 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3150              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3151              :  const combined_fn ARG_UNUSED (ctz))
    3152              : {
    3153            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3154            0 :   {
    3155            0 :  tree t = TREE_TYPE (captures[0]);
    3156            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1002;
    3157            0 :       {
    3158            0 :         tree res_op0;
    3159            0 :         {
    3160            0 :           tree _o1[1], _r1;
    3161            0 :           _o1[0] = captures[1];
    3162            0 :           if (TREE_TYPE (_o1[0]) != t)
    3163              :             {
    3164            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, t, _o1[0]);
    3165              :             }
    3166              :           else
    3167              :             _r1 = _o1[0];
    3168            0 :           res_op0 = _r1;
    3169              :         }
    3170            0 :         tree _r;
    3171            0 :         _r = maybe_build_call_expr_loc (loc, ctz, type, 1, res_op0);
    3172            0 :         if (!_r)
    3173            0 :           goto next_after_fail1002;
    3174            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 794, __FILE__, __LINE__, true);
    3175              :         return _r;
    3176              :       }
    3177              : next_after_fail1002:;
    3178              :   }
    3179              :   return NULL_TREE;
    3180              : }
    3181              : 
    3182              : tree
    3183            0 : generic_simplify_606 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3184              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3185              :  const combined_fn ARG_UNUSED (bswap),
    3186              :  const combined_fn ARG_UNUSED (parity))
    3187              : {
    3188            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3189            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3190            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3191            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0]))
    3192            0 :  >= TYPE_PRECISION (TREE_TYPE (captures[1]))
    3193              : )
    3194              :     {
    3195            0 :       {
    3196            0 :  tree type0 = TREE_TYPE (captures[0]);
    3197            0 :  tree type1 = TREE_TYPE (captures[1]);
    3198            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1013;
    3199            0 :           {
    3200            0 :             tree res_op0;
    3201            0 :             {
    3202            0 :               tree _o1[1], _r1;
    3203            0 :               {
    3204            0 :                 tree _o2[1], _r2;
    3205            0 :                 _o2[0] = captures[2];
    3206            0 :                 if (TREE_TYPE (_o2[0]) != type1)
    3207              :                   {
    3208            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, type1, _o2[0]);
    3209              :                   }
    3210              :                 else
    3211              :                   _r2 = _o2[0];
    3212            0 :                 _o1[0] = _r2;
    3213              :               }
    3214            0 :               if (TREE_TYPE (_o1[0]) != type0)
    3215              :                 {
    3216            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3217              :                 }
    3218              :               else
    3219              :                 _r1 = _o1[0];
    3220            0 :               res_op0 = _r1;
    3221              :             }
    3222            0 :             tree _r;
    3223            0 :             _r = maybe_build_call_expr_loc (loc, parity, type, 1, res_op0);
    3224            0 :             if (!_r)
    3225            0 :               goto next_after_fail1013;
    3226            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 801, __FILE__, __LINE__, true);
    3227            0 :             return _r;
    3228              :           }
    3229              : next_after_fail1013:;
    3230              :       }
    3231              :     }
    3232              :   return NULL_TREE;
    3233              : }
    3234              : 
    3235              : tree
    3236          942 : generic_simplify_ABSU_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3237              : {
    3238          942 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3239          942 :   switch (TREE_CODE (_p0))
    3240              :     {
    3241          541 :     CASE_CONVERT:
    3242          541 :       {
    3243          541 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3244          541 :         switch (TREE_CODE (_q20))
    3245              :           {
    3246            0 :           case ABSU_EXPR:
    3247            0 :             {
    3248            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3249            0 :               {
    3250            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3251            0 :                 if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    3252              : )
    3253              :                   {
    3254            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1056;
    3255            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1056;
    3256            0 :                     {
    3257            0 :                       tree _r;
    3258            0 :                       _r = captures[1];
    3259            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 836, __FILE__, __LINE__, true);
    3260            0 :                       return _r;
    3261              :                     }
    3262            0 : next_after_fail1056:;
    3263              :                   }
    3264              :               }
    3265            0 :               break;
    3266              :             }
    3267              :           default:;
    3268              :           }
    3269              :         break;
    3270              :       }
    3271            6 :     case NEGATE_EXPR:
    3272            6 :       {
    3273            6 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3274            6 :         {
    3275            6 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3276            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1057;
    3277            6 :           {
    3278            6 :             tree res_op0;
    3279            6 :             res_op0 = captures[0];
    3280            6 :             tree _r;
    3281            6 :             _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
    3282            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 837, __FILE__, __LINE__, true);
    3283          942 :             return _r;
    3284              :           }
    3285            0 : next_after_fail1057:;
    3286              :         }
    3287            0 :         break;
    3288              :       }
    3289            0 :     case VEC_COND_EXPR:
    3290            0 :       {
    3291            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3292            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3293            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    3294            0 :         {
    3295            0 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3296            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1058;
    3297            0 :           {
    3298            0 :             tree res_op0;
    3299            0 :             res_op0 = captures[1];
    3300            0 :             tree res_op1;
    3301            0 :             {
    3302            0 :               tree _o1[1], _r1;
    3303            0 :               _o1[0] = captures[2];
    3304            0 :               _r1 = fold_build1_loc (loc, ABSU_EXPR, type, _o1[0]);
    3305            0 :               if (EXPR_P (_r1))
    3306            0 :                 goto next_after_fail1058;
    3307            0 :               res_op1 = _r1;
    3308              :             }
    3309            0 :             tree res_op2;
    3310            0 :             {
    3311            0 :               tree _o1[1], _r1;
    3312            0 :               _o1[0] = captures[3];
    3313            0 :               _r1 = fold_build1_loc (loc, ABSU_EXPR, type, _o1[0]);
    3314            0 :               if (EXPR_P (_r1))
    3315            0 :                 goto next_after_fail1058;
    3316            0 :               res_op2 = _r1;
    3317              :             }
    3318            0 :             tree _r;
    3319            0 :             _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    3320            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 811, __FILE__, __LINE__, true);
    3321            0 :             return _r;
    3322              :           }
    3323            0 : next_after_fail1058:;
    3324              :         }
    3325            0 :         break;
    3326              :       }
    3327          936 :     default:;
    3328              :     }
    3329          936 : if (tree_expr_nonnegative_p (_p0))
    3330              :   {
    3331            0 :     {
    3332            0 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3333            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1059;
    3334            0 :       {
    3335            0 :         tree res_op0;
    3336            0 :         res_op0 = captures[0];
    3337            0 :         tree _r;
    3338            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3339            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 838, __FILE__, __LINE__, true);
    3340            0 :         return _r;
    3341              :       }
    3342            0 : next_after_fail1059:;
    3343              :     }
    3344              :   }
    3345              :   return NULL_TREE;
    3346              : }
    3347              : 
    3348              : tree
    3349      1893179 : generic_simplify_IMAGPART_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3350              : {
    3351      1893179 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3352      1893179 :   switch (TREE_CODE (_p0))
    3353              :     {
    3354         1731 :     case COMPLEX_EXPR:
    3355         1731 :       {
    3356         1731 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3357         1731 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3358         1731 :         {
    3359         1731 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3360         1731 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1128;
    3361         1731 :           {
    3362         1731 :             tree _r;
    3363         1731 :             _r = captures[1];
    3364         1731 :             if (TREE_SIDE_EFFECTS (captures[0]))
    3365          522 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3366         1731 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 865, __FILE__, __LINE__, true);
    3367         1731 :             return _r;
    3368              :           }
    3369            0 : next_after_fail1128:;
    3370              :         }
    3371            0 :         break;
    3372              :       }
    3373        45119 :     CASE_CONVERT:
    3374        45119 :       {
    3375        45119 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3376        45119 :         switch (TREE_CODE (_q20))
    3377              :           {
    3378            0 :           case CONJ_EXPR:
    3379            0 :             {
    3380            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3381            0 :               {
    3382            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3383            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1129;
    3384            0 :                 {
    3385            0 :                   tree res_op0;
    3386            0 :                   {
    3387            0 :                     tree _o1[1], _r1;
    3388            0 :                     {
    3389            0 :                       tree _o2[1], _r2;
    3390            0 :                       _o2[0] = captures[2];
    3391            0 :                       _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3392            0 :                       _o1[0] = _r2;
    3393              :                     }
    3394            0 :                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3395            0 :                     res_op0 = _r1;
    3396              :                   }
    3397            0 :                   tree _r;
    3398            0 :                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3399            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 866, __FILE__, __LINE__, true);
    3400            0 :                   return _r;
    3401              :                 }
    3402            0 : next_after_fail1129:;
    3403              :               }
    3404            0 :               break;
    3405              :             }
    3406            0 :           case PLUS_EXPR:
    3407            0 :             {
    3408            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3409            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3410            0 :               {
    3411            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3412            0 :                 const enum tree_code op = PLUS_EXPR;
    3413            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1130;
    3414            0 :                 {
    3415            0 :                   tree res_op0;
    3416            0 :                   {
    3417            0 :                     tree _o1[2], _r1;
    3418            0 :                     {
    3419            0 :                       tree _o2[1], _r2;
    3420            0 :                       _o2[0] = captures[2];
    3421            0 :                       _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3422            0 :                       _o1[0] = _r2;
    3423              :                     }
    3424            0 :                     {
    3425            0 :                       tree _o2[1], _r2;
    3426            0 :                       _o2[0] = captures[3];
    3427            0 :                       _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3428            0 :                       _o1[1] = _r2;
    3429              :                     }
    3430            0 :                     _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3431            0 :                     res_op0 = _r1;
    3432              :                   }
    3433            0 :                   tree _r;
    3434            0 :                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3435            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 863, __FILE__, __LINE__, true);
    3436            0 :                   return _r;
    3437              :                 }
    3438            0 : next_after_fail1130:;
    3439              :               }
    3440            0 :               break;
    3441              :             }
    3442            0 :           case MINUS_EXPR:
    3443            0 :             {
    3444            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3445            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3446            0 :               {
    3447            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3448            0 :                 const enum tree_code op = MINUS_EXPR;
    3449            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1131;
    3450            0 :                 {
    3451            0 :                   tree res_op0;
    3452            0 :                   {
    3453            0 :                     tree _o1[2], _r1;
    3454            0 :                     {
    3455            0 :                       tree _o2[1], _r2;
    3456            0 :                       _o2[0] = captures[2];
    3457            0 :                       _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3458            0 :                       _o1[0] = _r2;
    3459              :                     }
    3460            0 :                     {
    3461            0 :                       tree _o2[1], _r2;
    3462            0 :                       _o2[0] = captures[3];
    3463            0 :                       _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3464            0 :                       _o1[1] = _r2;
    3465              :                     }
    3466            0 :                     _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3467            0 :                     res_op0 = _r1;
    3468              :                   }
    3469            0 :                   tree _r;
    3470            0 :                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3471            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 863, __FILE__, __LINE__, true);
    3472            0 :                   return _r;
    3473              :                 }
    3474            0 : next_after_fail1131:;
    3475              :               }
    3476            0 :               break;
    3477              :             }
    3478            0 :           case CALL_EXPR:
    3479            0 :             switch (get_call_combined_fn (_q20))
    3480              :               {
    3481            0 :               case CFN_BUILT_IN_CEXPIF:
    3482            0 :                 if (call_expr_nargs (_q20) == 1)
    3483              :     {
    3484            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    3485            0 :                     {
    3486            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3487            0 :                       if (single_use (captures[1]) && single_use (captures[0])
    3488              : )
    3489              :                         {
    3490            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1132;
    3491            0 :                           {
    3492            0 :                             tree res_op0;
    3493            0 :                             {
    3494            0 :                               tree _o1[1], _r1;
    3495            0 :                               _o1[0] = captures[2];
    3496            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SINF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3497            0 :                               if (!_r1)
    3498            0 :                                 goto next_after_fail1132;
    3499            0 :                               res_op0 = _r1;
    3500              :                             }
    3501            0 :                             tree _r;
    3502            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3503            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 867, __FILE__, __LINE__, true);
    3504            0 :                             return _r;
    3505              :                           }
    3506            0 : next_after_fail1132:;
    3507              :                         }
    3508              :                     }
    3509              :                   }
    3510              :                 break;
    3511            0 :               case CFN_BUILT_IN_CEXPIL:
    3512            0 :                 if (call_expr_nargs (_q20) == 1)
    3513              :     {
    3514            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    3515            0 :                     {
    3516            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3517            0 :                       if (single_use (captures[1]) && single_use (captures[0])
    3518              : )
    3519              :                         {
    3520            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1133;
    3521            0 :                           {
    3522            0 :                             tree res_op0;
    3523            0 :                             {
    3524            0 :                               tree _o1[1], _r1;
    3525            0 :                               _o1[0] = captures[2];
    3526            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SINL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3527            0 :                               if (!_r1)
    3528            0 :                                 goto next_after_fail1133;
    3529            0 :                               res_op0 = _r1;
    3530              :                             }
    3531            0 :                             tree _r;
    3532            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3533            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 867, __FILE__, __LINE__, true);
    3534            0 :                             return _r;
    3535              :                           }
    3536            0 : next_after_fail1133:;
    3537              :                         }
    3538              :                     }
    3539              :                   }
    3540              :                 break;
    3541            0 :               case CFN_BUILT_IN_CEXPI:
    3542            0 :                 if (call_expr_nargs (_q20) == 1)
    3543              :     {
    3544            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    3545            0 :                     {
    3546            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3547            0 :                       if (single_use (captures[1]) && single_use (captures[0])
    3548              : )
    3549              :                         {
    3550            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1134;
    3551            0 :                           {
    3552            0 :                             tree res_op0;
    3553            0 :                             {
    3554            0 :                               tree _o1[1], _r1;
    3555            0 :                               _o1[0] = captures[2];
    3556            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SIN, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3557            0 :                               if (!_r1)
    3558            0 :                                 goto next_after_fail1134;
    3559            0 :                               res_op0 = _r1;
    3560              :                             }
    3561            0 :                             tree _r;
    3562            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3563            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 867, __FILE__, __LINE__, true);
    3564            0 :                             return _r;
    3565              :                           }
    3566            0 : next_after_fail1134:;
    3567              :                         }
    3568              :                     }
    3569              :                   }
    3570              :                 break;
    3571              :               default:;
    3572              :               }
    3573              :             break;
    3574              :           default:;
    3575              :           }
    3576              :         break;
    3577              :       }
    3578           16 :     case CONJ_EXPR:
    3579           16 :       {
    3580           16 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3581           16 :         {
    3582           16 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3583           16 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1135;
    3584           16 :           {
    3585           16 :             tree res_op0;
    3586           16 :             {
    3587           16 :               tree _o1[1], _r1;
    3588           16 :               {
    3589           16 :                 tree _o2[1], _r2;
    3590           16 :                 _o2[0] = captures[2];
    3591           16 :                 _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3592           16 :                 _o1[0] = _r2;
    3593              :               }
    3594           16 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3595           16 :               res_op0 = _r1;
    3596              :             }
    3597           16 :             tree _r;
    3598           16 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3599           16 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 866, __FILE__, __LINE__, true);
    3600           16 :             return _r;
    3601              :           }
    3602            0 : next_after_fail1135:;
    3603              :         }
    3604            0 :         break;
    3605              :       }
    3606          365 :     case PLUS_EXPR:
    3607          365 :       {
    3608          365 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3609          365 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3610          365 :         {
    3611          365 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    3612          365 :           const enum tree_code op = PLUS_EXPR;
    3613          365 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1136;
    3614          365 :           {
    3615          365 :             tree res_op0;
    3616          365 :             {
    3617          365 :               tree _o1[2], _r1;
    3618          365 :               {
    3619          365 :                 tree _o2[1], _r2;
    3620          365 :                 _o2[0] = captures[2];
    3621          365 :                 _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3622          365 :                 _o1[0] = _r2;
    3623              :               }
    3624          365 :               {
    3625          365 :                 tree _o2[1], _r2;
    3626          365 :                 _o2[0] = captures[3];
    3627          365 :                 _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3628          365 :                 _o1[1] = _r2;
    3629              :               }
    3630          365 :               _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3631          365 :               res_op0 = _r1;
    3632              :             }
    3633          365 :             tree _r;
    3634          365 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3635          365 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 863, __FILE__, __LINE__, true);
    3636          365 :             return _r;
    3637              :           }
    3638            0 : next_after_fail1136:;
    3639              :         }
    3640            0 :         break;
    3641              :       }
    3642           47 :     case MINUS_EXPR:
    3643           47 :       {
    3644           47 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3645           47 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3646           47 :         {
    3647           47 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    3648           47 :           const enum tree_code op = MINUS_EXPR;
    3649           47 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1137;
    3650           47 :           {
    3651           47 :             tree res_op0;
    3652           47 :             {
    3653           47 :               tree _o1[2], _r1;
    3654           47 :               {
    3655           47 :                 tree _o2[1], _r2;
    3656           47 :                 _o2[0] = captures[2];
    3657           47 :                 _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3658           47 :                 _o1[0] = _r2;
    3659              :               }
    3660           47 :               {
    3661           47 :                 tree _o2[1], _r2;
    3662           47 :                 _o2[0] = captures[3];
    3663           47 :                 _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3664           47 :                 _o1[1] = _r2;
    3665              :               }
    3666           47 :               _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3667           47 :               res_op0 = _r1;
    3668              :             }
    3669           47 :             tree _r;
    3670           47 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3671           47 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 863, __FILE__, __LINE__, true);
    3672           47 :             return _r;
    3673              :           }
    3674            0 : next_after_fail1137:;
    3675              :         }
    3676            0 :         break;
    3677              :       }
    3678        54954 :     case CALL_EXPR:
    3679        54954 :       switch (get_call_combined_fn (_p0))
    3680              :         {
    3681        20618 :         case CFN_MUL_OVERFLOW:
    3682        20618 :           if (call_expr_nargs (_p0) == 2)
    3683              :     {
    3684        20618 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3685        20618 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3686        20618 :               if (integer_nonzerop (_q21))
    3687              :                 {
    3688         2784 :                   {
    3689         2784 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3690         2784 :                     tree res = generic_simplify_529 (loc, type, _p0, captures);
    3691         2784 :                     if (res) return res;
    3692              :                   }
    3693              :                 }
    3694        19665 :               if (integer_nonzerop (_q20))
    3695              :                 {
    3696         3002 :                   {
    3697         3002 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    3698         3002 :                     tree res = generic_simplify_529 (loc, type, _p0, captures);
    3699         3002 :                     if (res) return res;
    3700              :                   }
    3701              :                 }
    3702              :             }
    3703              :           break;
    3704            0 :         case CFN_BUILT_IN_CEXPIF:
    3705            0 :           if (call_expr_nargs (_p0) == 1)
    3706              :     {
    3707            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3708            0 :               {
    3709            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3710            0 :                 if (single_use (captures[1]) && single_use (captures[0])
    3711              : )
    3712              :                   {
    3713            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1138;
    3714            0 :                     {
    3715            0 :                       tree res_op0;
    3716            0 :                       {
    3717            0 :                         tree _o1[1], _r1;
    3718            0 :                         _o1[0] = captures[2];
    3719            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SINF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3720            0 :                         if (!_r1)
    3721            0 :                           goto next_after_fail1138;
    3722            0 :                         res_op0 = _r1;
    3723              :                       }
    3724            0 :                       tree _r;
    3725            0 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3726            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 867, __FILE__, __LINE__, true);
    3727            0 :                       return _r;
    3728              :                     }
    3729            0 : next_after_fail1138:;
    3730              :                   }
    3731              :               }
    3732              :             }
    3733              :           break;
    3734            0 :         case CFN_BUILT_IN_CEXPIL:
    3735            0 :           if (call_expr_nargs (_p0) == 1)
    3736              :     {
    3737            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3738            0 :               {
    3739            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3740            0 :                 if (single_use (captures[1]) && single_use (captures[0])
    3741              : )
    3742              :                   {
    3743            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1139;
    3744            0 :                     {
    3745            0 :                       tree res_op0;
    3746            0 :                       {
    3747            0 :                         tree _o1[1], _r1;
    3748            0 :                         _o1[0] = captures[2];
    3749            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SINL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3750            0 :                         if (!_r1)
    3751            0 :                           goto next_after_fail1139;
    3752            0 :                         res_op0 = _r1;
    3753              :                       }
    3754            0 :                       tree _r;
    3755            0 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3756            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 867, __FILE__, __LINE__, true);
    3757            0 :                       return _r;
    3758              :                     }
    3759            0 : next_after_fail1139:;
    3760              :                   }
    3761              :               }
    3762              :             }
    3763              :           break;
    3764            1 :         case CFN_BUILT_IN_CEXPI:
    3765            1 :           if (call_expr_nargs (_p0) == 1)
    3766              :     {
    3767            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3768            1 :               {
    3769            1 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3770            1 :                 if (single_use (captures[1]) && single_use (captures[0])
    3771              : )
    3772              :                   {
    3773            1 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1140;
    3774            1 :                     {
    3775            1 :                       tree res_op0;
    3776            1 :                       {
    3777            1 :                         tree _o1[1], _r1;
    3778            1 :                         _o1[0] = captures[2];
    3779            1 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SIN, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3780            1 :                         if (!_r1)
    3781            0 :                           goto next_after_fail1140;
    3782            1 :                         res_op0 = _r1;
    3783              :                       }
    3784            1 :                       tree _r;
    3785            1 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3786            1 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 867, __FILE__, __LINE__, true);
    3787            1 :                       return _r;
    3788              :                     }
    3789            0 : next_after_fail1140:;
    3790              :                   }
    3791              :               }
    3792              :             }
    3793              :           break;
    3794              :         default:;
    3795              :         }
    3796              :       break;
    3797              :     default:;
    3798              :     }
    3799              :   return NULL_TREE;
    3800              : }
    3801              : 
    3802              : tree
    3803     72644700 : generic_simplify_MULT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    3804              : {
    3805     72644700 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3806     72644700 :   switch (TREE_CODE (_p1))
    3807              :     {
    3808          354 :     case VECTOR_CST:
    3809          354 :       {
    3810          354 :         {
    3811          354 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    3812          354 :           if (initializer_each_zero_or_onep (captures[1])
    3813            5 :  && !HONOR_SNANS (type)
    3814          359 :  && !HONOR_SIGNED_ZEROS (type)
    3815              : )
    3816              :             {
    3817            5 :               {
    3818            5 :  tree itype = FLOAT_TYPE_P (type) ? unsigned_type_for (type) : type;
    3819            5 :                   if (itype
    3820            5 :  && (!VECTOR_MODE_P (TYPE_MODE (type))
    3821            5 :  || (VECTOR_MODE_P (TYPE_MODE (itype))
    3822            5 :  && optab_handler (and_optab,
    3823            5 :  TYPE_MODE (itype)) != CODE_FOR_nothing))
    3824              : )
    3825              :                     {
    3826            5 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1371;
    3827            5 :                       {
    3828            5 :                         tree res_op0;
    3829            5 :                         {
    3830            5 :                           tree _o1[2], _r1;
    3831            5 :                           {
    3832            5 :                             tree _o2[1], _r2;
    3833            5 :                             _o2[0] = captures[0];
    3834            5 :                             if (TREE_TYPE (_o2[0]) != itype)
    3835              :                               {
    3836            1 :                                 _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, itype, _o2[0]);
    3837              :                               }
    3838              :                             else
    3839              :                               _r2 = _o2[0];
    3840            5 :                             _o1[0] = _r2;
    3841              :                           }
    3842            5 :                           {
    3843            5 :                             tree _o2[2], _r2;
    3844            5 :                             _o2[0] = captures[1];
    3845            5 :                             _o2[1] =  build_zero_cst (type);
    3846            5 :                             _r2 = fold_build2_loc (loc, NE_EXPR, itype, _o2[0], _o2[1]);
    3847            5 :                             _o1[1] = _r2;
    3848              :                           }
    3849            5 :                           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, itype, _o1[0], _o1[1]);
    3850            5 :                           res_op0 = _r1;
    3851              :                         }
    3852            5 :                         tree _r;
    3853            5 :                         _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3854            5 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
    3855            5 :                         return _r;
    3856              :                       }
    3857            0 : next_after_fail1371:;
    3858              :                     }
    3859              :               }
    3860              :             }
    3861              :         }
    3862          349 :         break;
    3863              :       }
    3864     72644695 :     default:;
    3865              :     }
    3866     72644695 : if (integer_zerop (_p1))
    3867              :   {
    3868        32861 :     {
    3869        32861 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    3870        32861 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1372;
    3871        32861 :       {
    3872        32861 :         tree _r;
    3873        32861 :         _r = captures[1];
    3874        32861 :         if (TREE_SIDE_EFFECTS (captures[0]))
    3875         2458 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3876        32861 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 942, __FILE__, __LINE__, true);
    3877        32861 :         return _r;
    3878              :       }
    3879            0 : next_after_fail1372:;
    3880              :     }
    3881              :   }
    3882     72611834 : if (real_zerop (_p1))
    3883              :   {
    3884          330 :     {
    3885          330 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    3886          330 :       if (!tree_expr_maybe_nan_p (captures[0])
    3887          122 :  && (!HONOR_NANS (type) || !tree_expr_maybe_infinite_p (captures[0]))
    3888          340 :  && (!HONOR_SIGNED_ZEROS (type) || tree_expr_nonnegative_p (captures[0]))
    3889              : )
    3890              :         {
    3891            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1373;
    3892            4 :           {
    3893            4 :             tree _r;
    3894            4 :             _r = captures[1];
    3895            4 :             if (TREE_SIDE_EFFECTS (captures[0]))
    3896            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3897            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 943, __FILE__, __LINE__, true);
    3898            4 :             return _r;
    3899              :           }
    3900            0 : next_after_fail1373:;
    3901              :         }
    3902              :     }
    3903              :   }
    3904     72611830 : if (real_onep (_p1))
    3905              :   {
    3906         1239 :     {
    3907         1239 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3908         1239 :       if (!tree_expr_maybe_signaling_nan_p (captures[0])
    3909         1239 :  && (!HONOR_SIGNED_ZEROS (type)
    3910         1118 :  || !COMPLEX_FLOAT_TYPE_P (type))
    3911              : )
    3912              :         {
    3913          756 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1374;
    3914          756 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1374;
    3915          756 :           {
    3916          756 :             tree res_op0;
    3917          756 :             res_op0 = captures[0];
    3918          756 :             tree _r;
    3919          756 :             _r = non_lvalue_loc (loc, res_op0);
    3920          756 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 944, __FILE__, __LINE__, true);
    3921          756 :             return _r;
    3922              :           }
    3923              : next_after_fail1374:;
    3924              :         }
    3925              :     }
    3926              :   }
    3927     72611074 : if (real_minus_onep (_p1))
    3928              :   {
    3929        42131 :     {
    3930        42131 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3931        42131 :       if (!tree_expr_maybe_signaling_nan_p (captures[0])
    3932        42131 :  && (!HONOR_SIGNED_ZEROS (type)
    3933        39227 :  || !COMPLEX_FLOAT_TYPE_P (type))
    3934              : )
    3935              :         {
    3936        41747 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1375;
    3937        41747 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1375;
    3938        41747 :           {
    3939        41747 :             tree res_op0;
    3940        41747 :             res_op0 = captures[0];
    3941        41747 :             tree _r;
    3942        41747 :             _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    3943        41747 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 945, __FILE__, __LINE__, true);
    3944        41747 :             return _r;
    3945              :           }
    3946              : next_after_fail1375:;
    3947              :         }
    3948              :     }
    3949              :   }
    3950     72569327 :   switch (TREE_CODE (_p0))
    3951              :     {
    3952        65029 :     case BIT_AND_EXPR:
    3953        65029 :       {
    3954        65029 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3955        65029 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3956        65029 :         switch (TREE_CODE (_q20))
    3957              :           {
    3958          275 :           case RSHIFT_EXPR:
    3959          275 :             {
    3960          275 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3961          275 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3962          275 :               if (uniform_integer_cst_p (_q31))
    3963              :                 {
    3964           14 :                   if (uniform_integer_cst_p (_q21))
    3965              :                     {
    3966           14 :                       if (uniform_integer_cst_p (_p1))
    3967              :                         {
    3968           14 :                           {
    3969           14 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
    3970           14 :                             {
    3971           14 :  tree rshift_cst = uniform_integer_cst_p (captures[1]);
    3972           14 :  tree bit_and_cst = uniform_integer_cst_p (captures[2]);
    3973           14 :  tree mult_cst = uniform_integer_cst_p (captures[3]);
    3974           14 :                                 if (VECTOR_TYPE_P (type)
    3975            0 :  && tree_fits_uhwi_p (rshift_cst)
    3976            0 :  && tree_fits_uhwi_p (mult_cst)
    3977            0 :  && tree_fits_uhwi_p (bit_and_cst)
    3978              : )
    3979              :                                   {
    3980            0 :                                     {
    3981            0 :  HOST_WIDE_INT vec_elem_bits = vector_element_bits (type);
    3982            0 :  poly_int64 vec_nelts = TYPE_VECTOR_SUBPARTS (type);
    3983            0 :  poly_int64 vec_bits = vec_elem_bits * vec_nelts;
    3984            0 :  unsigned HOST_WIDE_INT cmp_bits_i, bit_and_i, mult_i;
    3985            0 :  unsigned HOST_WIDE_INT target_mult_i, target_bit_and_i;
    3986            0 :  cmp_bits_i = tree_to_uhwi (rshift_cst) + 1;
    3987            0 :  mult_i = tree_to_uhwi (mult_cst);
    3988            0 :  target_mult_i = (HOST_WIDE_INT_1U << cmp_bits_i) - 1;
    3989            0 :  bit_and_i = tree_to_uhwi (bit_and_cst);
    3990            0 :  target_bit_and_i = 0;
    3991            0 :  for (unsigned i = 0; i < vec_elem_bits / cmp_bits_i; i++)
    3992            0 :  target_bit_and_i = (target_bit_and_i << cmp_bits_i) | 1U;
    3993            0 :                                         if ((exact_log2 (cmp_bits_i)) >= 0
    3994            0 :  && cmp_bits_i < HOST_BITS_PER_WIDE_INT
    3995            0 :  && multiple_p (vec_bits, cmp_bits_i)
    3996            0 :  && vec_elem_bits <= HOST_BITS_PER_WIDE_INT
    3997            0 :  && target_mult_i == mult_i
    3998            0 :  && target_bit_and_i == bit_and_i
    3999              : )
    4000              :                                           {
    4001            0 :                                             {
    4002            0 :  tree cmp_type = build_nonstandard_integer_type (cmp_bits_i, 0);
    4003            0 :  poly_int64 vector_type_nelts = exact_div (vec_bits, cmp_bits_i);
    4004            0 :  tree vec_cmp_type = build_vector_type (cmp_type, vector_type_nelts);
    4005            0 :  tree vec_truth_type = truth_type_for (vec_cmp_type);
    4006            0 :  tree zeros = build_zero_cst (vec_cmp_type);
    4007            0 :  tree ones = build_all_ones_cst (vec_cmp_type);
    4008            0 :                                                 if (expand_vec_cmp_expr_p (vec_cmp_type, vec_truth_type, LT_EXPR)
    4009            0 :  && expand_vec_cond_expr_p (vec_cmp_type, vec_truth_type)
    4010              : )
    4011              :                                                   {
    4012            0 :                                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1376;
    4013            0 :                                                     {
    4014            0 :                                                       tree res_op0;
    4015            0 :                                                       {
    4016            0 :                                                         tree _o1[3], _r1;
    4017            0 :                                                         {
    4018            0 :                                                           tree _o2[2], _r2;
    4019            0 :                                                           {
    4020            0 :                                                             tree _o3[1], _r3;
    4021            0 :                                                             _o3[0] = captures[0];
    4022            0 :                                                             if (TREE_TYPE (_o3[0]) != vec_cmp_type)
    4023              :                                                               {
    4024            0 :                                                                 _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, vec_cmp_type, _o3[0]);
    4025              :                                                               }
    4026              :                                                             else
    4027              :                                                               _r3 = _o3[0];
    4028            0 :                                                             _o2[0] = _r3;
    4029              :                                                           }
    4030            0 :                                                           _o2[1] =  zeros;
    4031            0 :                                                           _r2 = fold_build2_loc (loc, LT_EXPR, vec_truth_type, _o2[0], _o2[1]);
    4032            0 :                                                           _o1[0] = _r2;
    4033              :                                                         }
    4034            0 :                                                         _o1[1] =  ones;
    4035            0 :                                                         _o1[2] =  zeros;
    4036            0 :                                                         _r1 = fold_build3_loc (loc, VEC_COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
    4037            0 :                                                         res_op0 = _r1;
    4038              :                                                       }
    4039            0 :                                                       tree _r;
    4040            0 :                                                       _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    4041            0 :                                                       if (TREE_SIDE_EFFECTS (captures[1]))
    4042            0 :                                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4043            0 :                                                       if (TREE_SIDE_EFFECTS (captures[2]))
    4044            0 :                                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4045            0 :                                                       if (TREE_SIDE_EFFECTS (captures[3]))
    4046            0 :                                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    4047            0 :                                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 946, __FILE__, __LINE__, true);
    4048            0 :                                                       return _r;
    4049              :                                                     }
    4050            0 : next_after_fail1376:;
    4051              :                                                   }
    4052              :                                             }
    4053              :                                           }
    4054              :                                     }
    4055              :                                   }
    4056              :                             }
    4057              :                           }
    4058              :                         }
    4059              :                     }
    4060              :                 }
    4061              :               break;
    4062              :             }
    4063              :           default:;
    4064              :           }
    4065              :         break;
    4066              :       }
    4067     72569327 :     default:;
    4068              :     }
    4069     72569327 :   switch (TREE_CODE (_p1))
    4070              :     {
    4071         2950 :     case COND_EXPR:
    4072         2950 :       {
    4073         2950 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4074         2950 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4075         2950 :         tree _q32 = TREE_OPERAND (_p1, 2);
    4076         2950 :         switch (TREE_CODE (_q30))
    4077              :           {
    4078          546 :           case GT_EXPR:
    4079          546 :             {
    4080          546 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4081          546 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4082          546 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4083              :                 {
    4084            0 :                   if (real_zerop (_q41))
    4085              :                     {
    4086            0 :                       if (real_onep (_q31))
    4087              :                         {
    4088            0 :                           if (real_minus_onep (_q32))
    4089              :                             {
    4090            0 :                               {
    4091            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    4092            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4093              : )
    4094              :                                   {
    4095            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1377;
    4096            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1377;
    4097            0 :                                     {
    4098            0 :                                       tree res_op0;
    4099            0 :                                       {
    4100            0 :                                         tree _o1[1], _r1;
    4101            0 :                                         _o1[0] = captures[0];
    4102            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4103            0 :                                         res_op0 = _r1;
    4104              :                                       }
    4105            0 :                                       tree _r;
    4106            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4107            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 947, __FILE__, __LINE__, true);
    4108            0 :                                       return _r;
    4109              :                                     }
    4110            0 : next_after_fail1377:;
    4111              :                                   }
    4112              :                               }
    4113              :                             }
    4114              :                         }
    4115              :                     }
    4116              :                 }
    4117              :               break;
    4118              :             }
    4119            0 :           case GE_EXPR:
    4120            0 :             {
    4121            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4122            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4123            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4124              :                 {
    4125            0 :                   if (real_zerop (_q41))
    4126              :                     {
    4127            0 :                       if (real_onep (_q31))
    4128              :                         {
    4129            0 :                           if (real_minus_onep (_q32))
    4130              :                             {
    4131            0 :                               {
    4132            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    4133            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4134              : )
    4135              :                                   {
    4136            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1378;
    4137            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1378;
    4138            0 :                                     {
    4139            0 :                                       tree res_op0;
    4140            0 :                                       {
    4141            0 :                                         tree _o1[1], _r1;
    4142            0 :                                         _o1[0] = captures[0];
    4143            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4144            0 :                                         res_op0 = _r1;
    4145              :                                       }
    4146            0 :                                       tree _r;
    4147            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4148            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 947, __FILE__, __LINE__, true);
    4149            0 :                                       return _r;
    4150              :                                     }
    4151            0 : next_after_fail1378:;
    4152              :                                   }
    4153              :                               }
    4154              :                             }
    4155              :                         }
    4156              :                     }
    4157              :                 }
    4158              :               break;
    4159              :             }
    4160           51 :           case LT_EXPR:
    4161           51 :             {
    4162           51 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4163           51 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4164           51 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4165              :                 {
    4166            0 :                   if (real_zerop (_q41))
    4167              :                     {
    4168            0 :                       if (real_onep (_q31))
    4169              :                         {
    4170            0 :                           if (real_minus_onep (_q32))
    4171              :                             {
    4172            0 :                               {
    4173            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    4174            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4175              : )
    4176              :                                   {
    4177            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1379;
    4178            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1379;
    4179            0 :                                     {
    4180            0 :                                       tree res_op0;
    4181            0 :                                       {
    4182            0 :                                         tree _o1[1], _r1;
    4183            0 :                                         _o1[0] = captures[0];
    4184            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4185            0 :                                         res_op0 = _r1;
    4186              :                                       }
    4187            0 :                                       tree _r;
    4188            0 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4189            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 947, __FILE__, __LINE__, true);
    4190            0 :                                       return _r;
    4191              :                                     }
    4192            0 : next_after_fail1379:;
    4193              :                                   }
    4194              :                               }
    4195              :                             }
    4196              :                         }
    4197              :                     }
    4198              :                 }
    4199              :               break;
    4200              :             }
    4201            5 :           case LE_EXPR:
    4202            5 :             {
    4203            5 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4204            5 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4205            5 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4206              :                 {
    4207            0 :                   if (real_zerop (_q41))
    4208              :                     {
    4209            0 :                       if (real_onep (_q31))
    4210              :                         {
    4211            0 :                           if (real_minus_onep (_q32))
    4212              :                             {
    4213            0 :                               {
    4214            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    4215            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4216              : )
    4217              :                                   {
    4218            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1380;
    4219            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1380;
    4220            0 :                                     {
    4221            0 :                                       tree res_op0;
    4222            0 :                                       {
    4223            0 :                                         tree _o1[1], _r1;
    4224            0 :                                         _o1[0] = captures[0];
    4225            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4226            0 :                                         res_op0 = _r1;
    4227              :                                       }
    4228            0 :                                       tree _r;
    4229            0 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4230            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 947, __FILE__, __LINE__, true);
    4231            0 :                                       return _r;
    4232              :                                     }
    4233            0 : next_after_fail1380:;
    4234              :                                   }
    4235              :                               }
    4236              :                             }
    4237              :                         }
    4238              :                     }
    4239              :                 }
    4240              :               break;
    4241              :             }
    4242              :           default:;
    4243              :           }
    4244              :         break;
    4245              :       }
    4246     72569327 :     default:;
    4247              :     }
    4248     72569327 :   switch (TREE_CODE (_p0))
    4249              :     {
    4250        84145 :     case COND_EXPR:
    4251        84145 :       {
    4252        84145 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4253        84145 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4254        84145 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4255        84145 :         switch (TREE_CODE (_q20))
    4256              :           {
    4257        19533 :           case GT_EXPR:
    4258        19533 :             {
    4259        19533 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4260        19533 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4261        19533 :               if (real_zerop (_q31))
    4262              :                 {
    4263           10 :                   if (real_onep (_q21))
    4264              :                     {
    4265            9 :                       if (real_minus_onep (_q22))
    4266              :                         {
    4267            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4268              :                             {
    4269            1 :                               {
    4270            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4271            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4272              : )
    4273              :                                   {
    4274            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1381;
    4275            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1381;
    4276            1 :                                     {
    4277            1 :                                       tree res_op0;
    4278            1 :                                       {
    4279            1 :                                         tree _o1[1], _r1;
    4280            1 :                                         _o1[0] = captures[0];
    4281            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4282            1 :                                         res_op0 = _r1;
    4283              :                                       }
    4284            1 :                                       tree _r;
    4285            1 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4286            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 947, __FILE__, __LINE__, true);
    4287            1 :                                       return _r;
    4288              :                                     }
    4289            0 : next_after_fail1381:;
    4290              :                                   }
    4291              :                               }
    4292              :                             }
    4293              :                         }
    4294              :                     }
    4295            9 :                   if (real_minus_onep (_q21))
    4296              :                     {
    4297            1 :                       if (real_onep (_q22))
    4298              :                         {
    4299            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4300              :                             {
    4301            1 :                               {
    4302            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
    4303            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4304              : )
    4305              :                                   {
    4306            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1382;
    4307            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1382;
    4308            1 :                                     {
    4309            1 :                                       tree res_op0;
    4310            1 :                                       {
    4311            1 :                                         tree _o1[1], _r1;
    4312            1 :                                         _o1[0] = captures[0];
    4313            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4314            1 :                                         res_op0 = _r1;
    4315              :                                       }
    4316            1 :                                       tree _r;
    4317            1 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4318            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 948, __FILE__, __LINE__, true);
    4319            1 :                                       return _r;
    4320              :                                     }
    4321            0 : next_after_fail1382:;
    4322              :                                   }
    4323              :                               }
    4324              :                             }
    4325              :                         }
    4326              :                     }
    4327              :                 }
    4328              :               break;
    4329              :             }
    4330         8121 :           case GE_EXPR:
    4331         8121 :             {
    4332         8121 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4333         8121 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4334         8121 :               if (real_zerop (_q31))
    4335              :                 {
    4336            2 :                   if (real_onep (_q21))
    4337              :                     {
    4338            1 :                       if (real_minus_onep (_q22))
    4339              :                         {
    4340            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4341              :                             {
    4342            1 :                               {
    4343            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4344            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4345              : )
    4346              :                                   {
    4347            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1383;
    4348            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1383;
    4349            1 :                                     {
    4350            1 :                                       tree res_op0;
    4351            1 :                                       {
    4352            1 :                                         tree _o1[1], _r1;
    4353            1 :                                         _o1[0] = captures[0];
    4354            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4355            1 :                                         res_op0 = _r1;
    4356              :                                       }
    4357            1 :                                       tree _r;
    4358            1 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4359            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 947, __FILE__, __LINE__, true);
    4360            1 :                                       return _r;
    4361              :                                     }
    4362            0 : next_after_fail1383:;
    4363              :                                   }
    4364              :                               }
    4365              :                             }
    4366              :                         }
    4367              :                     }
    4368            1 :                   if (real_minus_onep (_q21))
    4369              :                     {
    4370            1 :                       if (real_onep (_q22))
    4371              :                         {
    4372            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4373              :                             {
    4374            1 :                               {
    4375            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
    4376            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4377              : )
    4378              :                                   {
    4379            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1384;
    4380            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1384;
    4381            1 :                                     {
    4382            1 :                                       tree res_op0;
    4383            1 :                                       {
    4384            1 :                                         tree _o1[1], _r1;
    4385            1 :                                         _o1[0] = captures[0];
    4386            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4387            1 :                                         res_op0 = _r1;
    4388              :                                       }
    4389            1 :                                       tree _r;
    4390            1 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4391            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 948, __FILE__, __LINE__, true);
    4392            1 :                                       return _r;
    4393              :                                     }
    4394            0 : next_after_fail1384:;
    4395              :                                   }
    4396              :                               }
    4397              :                             }
    4398              :                         }
    4399              :                     }
    4400              :                 }
    4401              :               break;
    4402              :             }
    4403         7731 :           case LT_EXPR:
    4404         7731 :             {
    4405         7731 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4406         7731 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4407         7731 :               if (real_zerop (_q31))
    4408              :                 {
    4409            2 :                   if (real_onep (_q21))
    4410              :                     {
    4411            1 :                       if (real_minus_onep (_q22))
    4412              :                         {
    4413            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4414              :                             {
    4415            1 :                               {
    4416            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4417            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4418              : )
    4419              :                                   {
    4420            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1385;
    4421            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1385;
    4422            1 :                                     {
    4423            1 :                                       tree res_op0;
    4424            1 :                                       {
    4425            1 :                                         tree _o1[1], _r1;
    4426            1 :                                         _o1[0] = captures[0];
    4427            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4428            1 :                                         res_op0 = _r1;
    4429              :                                       }
    4430            1 :                                       tree _r;
    4431            1 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4432            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 947, __FILE__, __LINE__, true);
    4433            1 :                                       return _r;
    4434              :                                     }
    4435            0 : next_after_fail1385:;
    4436              :                                   }
    4437              :                               }
    4438              :                             }
    4439              :                         }
    4440              :                     }
    4441            1 :                   if (real_minus_onep (_q21))
    4442              :                     {
    4443            1 :                       if (real_onep (_q22))
    4444              :                         {
    4445            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4446              :                             {
    4447            1 :                               {
    4448            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
    4449            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4450              : )
    4451              :                                   {
    4452            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1386;
    4453            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1386;
    4454            1 :                                     {
    4455            1 :                                       tree res_op0;
    4456            1 :                                       {
    4457            1 :                                         tree _o1[1], _r1;
    4458            1 :                                         _o1[0] = captures[0];
    4459            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4460            1 :                                         res_op0 = _r1;
    4461              :                                       }
    4462            1 :                                       tree _r;
    4463            1 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4464            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 948, __FILE__, __LINE__, true);
    4465            1 :                                       return _r;
    4466              :                                     }
    4467            0 : next_after_fail1386:;
    4468              :                                   }
    4469              :                               }
    4470              :                             }
    4471              :                         }
    4472              :                     }
    4473              :                 }
    4474              :               break;
    4475              :             }
    4476         3230 :           case LE_EXPR:
    4477         3230 :             {
    4478         3230 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4479         3230 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4480         3230 :               if (real_zerop (_q31))
    4481              :                 {
    4482            2 :                   if (real_onep (_q21))
    4483              :                     {
    4484            1 :                       if (real_minus_onep (_q22))
    4485              :                         {
    4486            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4487              :                             {
    4488            1 :                               {
    4489            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    4490            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4491              : )
    4492              :                                   {
    4493            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1387;
    4494            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1387;
    4495            1 :                                     {
    4496            1 :                                       tree res_op0;
    4497            1 :                                       {
    4498            1 :                                         tree _o1[1], _r1;
    4499            1 :                                         _o1[0] = captures[0];
    4500            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4501            1 :                                         res_op0 = _r1;
    4502              :                                       }
    4503            1 :                                       tree _r;
    4504            1 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4505            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 947, __FILE__, __LINE__, true);
    4506            1 :                                       return _r;
    4507              :                                     }
    4508            0 : next_after_fail1387:;
    4509              :                                   }
    4510              :                               }
    4511              :                             }
    4512              :                         }
    4513              :                     }
    4514            1 :                   if (real_minus_onep (_q21))
    4515              :                     {
    4516            1 :                       if (real_onep (_q22))
    4517              :                         {
    4518            1 :                           if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4519              :                             {
    4520            1 :                               {
    4521            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
    4522            1 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4523              : )
    4524              :                                   {
    4525            1 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1388;
    4526            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1388;
    4527            1 :                                     {
    4528            1 :                                       tree res_op0;
    4529            1 :                                       {
    4530            1 :                                         tree _o1[1], _r1;
    4531            1 :                                         _o1[0] = captures[0];
    4532            1 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4533            1 :                                         res_op0 = _r1;
    4534              :                                       }
    4535            1 :                                       tree _r;
    4536            1 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4537            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 948, __FILE__, __LINE__, true);
    4538            1 :                                       return _r;
    4539              :                                     }
    4540            0 : next_after_fail1388:;
    4541              :                                   }
    4542              :                               }
    4543              :                             }
    4544              :                         }
    4545              :                     }
    4546              :                 }
    4547              :               break;
    4548              :             }
    4549              :           default:;
    4550              :           }
    4551              :         break;
    4552              :       }
    4553     72569319 :     default:;
    4554              :     }
    4555     72569319 :   switch (TREE_CODE (_p1))
    4556              :     {
    4557         2950 :     case COND_EXPR:
    4558         2950 :       {
    4559         2950 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4560         2950 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4561         2950 :         tree _q32 = TREE_OPERAND (_p1, 2);
    4562         2950 :         switch (TREE_CODE (_q30))
    4563              :           {
    4564          546 :           case GT_EXPR:
    4565          546 :             {
    4566          546 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4567          546 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4568          546 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4569              :                 {
    4570            0 :                   if (real_zerop (_q41))
    4571              :                     {
    4572            0 :                       if (real_minus_onep (_q31))
    4573              :                         {
    4574            0 :                           if (real_onep (_q32))
    4575              :                             {
    4576            0 :                               {
    4577            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
    4578            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4579              : )
    4580              :                                   {
    4581            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1389;
    4582            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1389;
    4583            0 :                                     {
    4584            0 :                                       tree res_op0;
    4585            0 :                                       {
    4586            0 :                                         tree _o1[1], _r1;
    4587            0 :                                         _o1[0] = captures[0];
    4588            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4589            0 :                                         res_op0 = _r1;
    4590              :                                       }
    4591            0 :                                       tree _r;
    4592            0 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4593            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 948, __FILE__, __LINE__, true);
    4594            0 :                                       return _r;
    4595              :                                     }
    4596            0 : next_after_fail1389:;
    4597              :                                   }
    4598              :                               }
    4599              :                             }
    4600              :                         }
    4601              :                     }
    4602              :                 }
    4603              :               break;
    4604              :             }
    4605            0 :           case GE_EXPR:
    4606            0 :             {
    4607            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4608            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4609            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4610              :                 {
    4611            0 :                   if (real_zerop (_q41))
    4612              :                     {
    4613            0 :                       if (real_minus_onep (_q31))
    4614              :                         {
    4615            0 :                           if (real_onep (_q32))
    4616              :                             {
    4617            0 :                               {
    4618            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
    4619            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4620              : )
    4621              :                                   {
    4622            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1390;
    4623            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1390;
    4624            0 :                                     {
    4625            0 :                                       tree res_op0;
    4626            0 :                                       {
    4627            0 :                                         tree _o1[1], _r1;
    4628            0 :                                         _o1[0] = captures[0];
    4629            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4630            0 :                                         res_op0 = _r1;
    4631              :                                       }
    4632            0 :                                       tree _r;
    4633            0 :                                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4634            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 948, __FILE__, __LINE__, true);
    4635            0 :                                       return _r;
    4636              :                                     }
    4637            0 : next_after_fail1390:;
    4638              :                                   }
    4639              :                               }
    4640              :                             }
    4641              :                         }
    4642              :                     }
    4643              :                 }
    4644              :               break;
    4645              :             }
    4646           51 :           case LT_EXPR:
    4647           51 :             {
    4648           51 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4649           51 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4650           51 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4651              :                 {
    4652            0 :                   if (real_zerop (_q41))
    4653              :                     {
    4654            0 :                       if (real_minus_onep (_q31))
    4655              :                         {
    4656            0 :                           if (real_onep (_q32))
    4657              :                             {
    4658            0 :                               {
    4659            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
    4660            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4661              : )
    4662              :                                   {
    4663            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1391;
    4664            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1391;
    4665            0 :                                     {
    4666            0 :                                       tree res_op0;
    4667            0 :                                       {
    4668            0 :                                         tree _o1[1], _r1;
    4669            0 :                                         _o1[0] = captures[0];
    4670            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4671            0 :                                         res_op0 = _r1;
    4672              :                                       }
    4673            0 :                                       tree _r;
    4674            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4675            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 948, __FILE__, __LINE__, true);
    4676            0 :                                       return _r;
    4677              :                                     }
    4678            0 : next_after_fail1391:;
    4679              :                                   }
    4680              :                               }
    4681              :                             }
    4682              :                         }
    4683              :                     }
    4684              :                 }
    4685              :               break;
    4686              :             }
    4687            5 :           case LE_EXPR:
    4688            5 :             {
    4689            5 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4690            5 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4691            5 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    4692              :                 {
    4693            0 :                   if (real_zerop (_q41))
    4694              :                     {
    4695            0 :                       if (real_minus_onep (_q31))
    4696              :                         {
    4697            0 :                           if (real_onep (_q32))
    4698              :                             {
    4699            0 :                               {
    4700            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
    4701            0 :                                 if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
    4702              : )
    4703              :                                   {
    4704            0 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1392;
    4705            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1392;
    4706            0 :                                     {
    4707            0 :                                       tree res_op0;
    4708            0 :                                       {
    4709            0 :                                         tree _o1[1], _r1;
    4710            0 :                                         _o1[0] = captures[0];
    4711            0 :                                         _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4712            0 :                                         res_op0 = _r1;
    4713              :                                       }
    4714            0 :                                       tree _r;
    4715            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4716            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 948, __FILE__, __LINE__, true);
    4717            0 :                                       return _r;
    4718              :                                     }
    4719            0 : next_after_fail1392:;
    4720              :                                   }
    4721              :                               }
    4722              :                             }
    4723              :                         }
    4724              :                     }
    4725              :                 }
    4726              :               break;
    4727              :             }
    4728              :           default:;
    4729              :           }
    4730              :         break;
    4731              :       }
    4732       862404 :     case CALL_EXPR:
    4733       862404 :       switch (get_call_combined_fn (_p1))
    4734              :         {
    4735           20 :         case CFN_BUILT_IN_COPYSIGNF16:
    4736           20 :           if (call_expr_nargs (_p1) == 2)
    4737              :     {
    4738           20 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4739           20 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4740           20 :               if (real_onep (_q30))
    4741              :                 {
    4742           20 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4743              :                     {
    4744            0 :                       {
    4745            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4746            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    4747            0 :                         if (res) return res;
    4748              :                       }
    4749              :                     }
    4750              :                 }
    4751              :             }
    4752              :           break;
    4753            0 :         case CFN_BUILT_IN_COPYSIGNF32:
    4754            0 :           if (call_expr_nargs (_p1) == 2)
    4755              :     {
    4756            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4757            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4758            0 :               if (real_onep (_q30))
    4759              :                 {
    4760            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4761              :                     {
    4762            0 :                       {
    4763            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4764            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    4765            0 :                         if (res) return res;
    4766              :                       }
    4767              :                     }
    4768              :                 }
    4769              :             }
    4770              :           break;
    4771            0 :         case CFN_BUILT_IN_COPYSIGNF64:
    4772            0 :           if (call_expr_nargs (_p1) == 2)
    4773              :     {
    4774            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4775            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4776            0 :               if (real_onep (_q30))
    4777              :                 {
    4778            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4779              :                     {
    4780            0 :                       {
    4781            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4782            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    4783            0 :                         if (res) return res;
    4784              :                       }
    4785              :                     }
    4786              :                 }
    4787              :             }
    4788              :           break;
    4789            0 :         case CFN_BUILT_IN_COPYSIGNF128X:
    4790            0 :           if (call_expr_nargs (_p1) == 2)
    4791              :     {
    4792            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4793            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4794            0 :               if (real_onep (_q30))
    4795              :                 {
    4796            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4797              :                     {
    4798            0 :                       {
    4799            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4800            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    4801            0 :                         if (res) return res;
    4802              :                       }
    4803              :                     }
    4804              :                 }
    4805              :             }
    4806              :           break;
    4807            0 :         case CFN_BUILT_IN_COPYSIGNF128:
    4808            0 :           if (call_expr_nargs (_p1) == 2)
    4809              :     {
    4810            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4811            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4812            0 :               if (real_onep (_q30))
    4813              :                 {
    4814            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4815              :                     {
    4816            0 :                       {
    4817            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4818            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    4819            0 :                         if (res) return res;
    4820              :                       }
    4821              :                     }
    4822              :                 }
    4823              :             }
    4824              :           break;
    4825            0 :         case CFN_BUILT_IN_COPYSIGNF32X:
    4826            0 :           if (call_expr_nargs (_p1) == 2)
    4827              :     {
    4828            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4829            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4830            0 :               if (real_onep (_q30))
    4831              :                 {
    4832            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4833              :                     {
    4834            0 :                       {
    4835            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4836            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    4837            0 :                         if (res) return res;
    4838              :                       }
    4839              :                     }
    4840              :                 }
    4841              :             }
    4842              :           break;
    4843            0 :         case CFN_BUILT_IN_COPYSIGNF64X:
    4844            0 :           if (call_expr_nargs (_p1) == 2)
    4845              :     {
    4846            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4847            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4848            0 :               if (real_onep (_q30))
    4849              :                 {
    4850            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4851              :                     {
    4852            0 :                       {
    4853            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4854            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    4855            0 :                         if (res) return res;
    4856              :                       }
    4857              :                     }
    4858              :                 }
    4859              :             }
    4860              :           break;
    4861           18 :         case CFN_BUILT_IN_COPYSIGN:
    4862           18 :           if (call_expr_nargs (_p1) == 2)
    4863              :     {
    4864           18 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4865           18 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4866           18 :               if (real_onep (_q30))
    4867              :                 {
    4868           14 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4869              :                     {
    4870            0 :                       {
    4871            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4872            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    4873            0 :                         if (res) return res;
    4874              :                       }
    4875              :                     }
    4876              :                 }
    4877              :             }
    4878              :           break;
    4879           14 :         case CFN_BUILT_IN_COPYSIGNF:
    4880           14 :           if (call_expr_nargs (_p1) == 2)
    4881              :     {
    4882           14 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4883           14 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4884           14 :               if (real_onep (_q30))
    4885              :                 {
    4886           12 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4887              :                     {
    4888            0 :                       {
    4889            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4890            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    4891            0 :                         if (res) return res;
    4892              :                       }
    4893              :                     }
    4894              :                 }
    4895              :             }
    4896              :           break;
    4897            0 :         case CFN_BUILT_IN_COPYSIGNL:
    4898            0 :           if (call_expr_nargs (_p1) == 2)
    4899              :     {
    4900            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4901            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4902            0 :               if (real_onep (_q30))
    4903              :                 {
    4904            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4905              :                     {
    4906            0 :                       {
    4907            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4908            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    4909            0 :                         if (res) return res;
    4910              :                       }
    4911              :                     }
    4912              :                 }
    4913              :             }
    4914              :           break;
    4915            0 :         case CFN_COPYSIGN:
    4916            0 :           if (call_expr_nargs (_p1) == 2)
    4917              :     {
    4918            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    4919            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    4920            0 :               if (real_onep (_q30))
    4921              :                 {
    4922            0 :                   if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4923              :                     {
    4924            0 :                       {
    4925            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4926            0 :                         tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    4927            0 :                         if (res) return res;
    4928              :                       }
    4929              :                     }
    4930              :                 }
    4931              :             }
    4932              :           break;
    4933              :         default:;
    4934              :         }
    4935              :       break;
    4936     72569319 :     default:;
    4937              :     }
    4938     72569319 :   switch (TREE_CODE (_p0))
    4939              :     {
    4940      2934703 :     case CALL_EXPR:
    4941      2934703 :       switch (get_call_combined_fn (_p0))
    4942              :         {
    4943            1 :         case CFN_BUILT_IN_COPYSIGNF16:
    4944            1 :           if (call_expr_nargs (_p0) == 2)
    4945              :     {
    4946            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    4947            1 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    4948            1 :               if (real_onep (_q20))
    4949              :                 {
    4950            1 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4951              :                     {
    4952            0 :                       {
    4953            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    4954            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    4955            0 :                         if (res) return res;
    4956              :                       }
    4957              :                     }
    4958            1 :                   switch (TREE_CODE (_q21))
    4959              :                     {
    4960            0 :                     case NEGATE_EXPR:
    4961            0 :                       {
    4962            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    4963            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4964              :                           {
    4965            0 :                             {
    4966            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    4967            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    4968            0 :                               if (res) return res;
    4969              :                             }
    4970              :                           }
    4971              :                         break;
    4972              :                       }
    4973              :                     default:;
    4974              :                     }
    4975              :                 }
    4976              :             }
    4977              :           break;
    4978            0 :         case CFN_BUILT_IN_COPYSIGNF32:
    4979            0 :           if (call_expr_nargs (_p0) == 2)
    4980              :     {
    4981            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    4982            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    4983            0 :               if (real_onep (_q20))
    4984              :                 {
    4985            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4986              :                     {
    4987            0 :                       {
    4988            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    4989            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    4990            0 :                         if (res) return res;
    4991              :                       }
    4992              :                     }
    4993            0 :                   switch (TREE_CODE (_q21))
    4994              :                     {
    4995            0 :                     case NEGATE_EXPR:
    4996            0 :                       {
    4997            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    4998            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4999              :                           {
    5000            0 :                             {
    5001            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5002            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    5003            0 :                               if (res) return res;
    5004              :                             }
    5005              :                           }
    5006              :                         break;
    5007              :                       }
    5008              :                     default:;
    5009              :                     }
    5010              :                 }
    5011              :             }
    5012              :           break;
    5013            0 :         case CFN_BUILT_IN_COPYSIGNF64:
    5014            0 :           if (call_expr_nargs (_p0) == 2)
    5015              :     {
    5016            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5017            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5018            0 :               if (real_onep (_q20))
    5019              :                 {
    5020            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5021              :                     {
    5022            0 :                       {
    5023            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5024            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    5025            0 :                         if (res) return res;
    5026              :                       }
    5027              :                     }
    5028            0 :                   switch (TREE_CODE (_q21))
    5029              :                     {
    5030            0 :                     case NEGATE_EXPR:
    5031            0 :                       {
    5032            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5033            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5034              :                           {
    5035            0 :                             {
    5036            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5037            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    5038            0 :                               if (res) return res;
    5039              :                             }
    5040              :                           }
    5041              :                         break;
    5042              :                       }
    5043              :                     default:;
    5044              :                     }
    5045              :                 }
    5046              :             }
    5047              :           break;
    5048            0 :         case CFN_BUILT_IN_COPYSIGNF128X:
    5049            0 :           if (call_expr_nargs (_p0) == 2)
    5050              :     {
    5051            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5052            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5053            0 :               if (real_onep (_q20))
    5054              :                 {
    5055            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5056              :                     {
    5057            0 :                       {
    5058            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5059            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    5060            0 :                         if (res) return res;
    5061              :                       }
    5062              :                     }
    5063            0 :                   switch (TREE_CODE (_q21))
    5064              :                     {
    5065            0 :                     case NEGATE_EXPR:
    5066            0 :                       {
    5067            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5068            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5069              :                           {
    5070            0 :                             {
    5071            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5072            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    5073            0 :                               if (res) return res;
    5074              :                             }
    5075              :                           }
    5076              :                         break;
    5077              :                       }
    5078              :                     default:;
    5079              :                     }
    5080              :                 }
    5081              :             }
    5082              :           break;
    5083            8 :         case CFN_BUILT_IN_COPYSIGNF128:
    5084            8 :           if (call_expr_nargs (_p0) == 2)
    5085              :     {
    5086            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5087            8 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5088            8 :               if (real_onep (_q20))
    5089              :                 {
    5090            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5091              :                     {
    5092            0 :                       {
    5093            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5094            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    5095            0 :                         if (res) return res;
    5096              :                       }
    5097              :                     }
    5098            0 :                   switch (TREE_CODE (_q21))
    5099              :                     {
    5100            0 :                     case NEGATE_EXPR:
    5101            0 :                       {
    5102            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5103            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5104              :                           {
    5105            0 :                             {
    5106            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5107            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    5108            0 :                               if (res) return res;
    5109              :                             }
    5110              :                           }
    5111              :                         break;
    5112              :                       }
    5113              :                     default:;
    5114              :                     }
    5115              :                 }
    5116              :             }
    5117              :           break;
    5118            0 :         case CFN_BUILT_IN_COPYSIGNF32X:
    5119            0 :           if (call_expr_nargs (_p0) == 2)
    5120              :     {
    5121            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5122            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5123            0 :               if (real_onep (_q20))
    5124              :                 {
    5125            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5126              :                     {
    5127            0 :                       {
    5128            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5129            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    5130            0 :                         if (res) return res;
    5131              :                       }
    5132              :                     }
    5133            0 :                   switch (TREE_CODE (_q21))
    5134              :                     {
    5135            0 :                     case NEGATE_EXPR:
    5136            0 :                       {
    5137            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5138            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5139              :                           {
    5140            0 :                             {
    5141            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5142            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    5143            0 :                               if (res) return res;
    5144              :                             }
    5145              :                           }
    5146              :                         break;
    5147              :                       }
    5148              :                     default:;
    5149              :                     }
    5150              :                 }
    5151              :             }
    5152              :           break;
    5153            0 :         case CFN_BUILT_IN_COPYSIGNF64X:
    5154            0 :           if (call_expr_nargs (_p0) == 2)
    5155              :     {
    5156            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5157            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5158            0 :               if (real_onep (_q20))
    5159              :                 {
    5160            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5161              :                     {
    5162            0 :                       {
    5163            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5164            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    5165            0 :                         if (res) return res;
    5166              :                       }
    5167              :                     }
    5168            0 :                   switch (TREE_CODE (_q21))
    5169              :                     {
    5170            0 :                     case NEGATE_EXPR:
    5171            0 :                       {
    5172            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5173            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5174              :                           {
    5175            0 :                             {
    5176            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5177            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    5178            0 :                               if (res) return res;
    5179              :                             }
    5180              :                           }
    5181              :                         break;
    5182              :                       }
    5183              :                     default:;
    5184              :                     }
    5185              :                 }
    5186              :             }
    5187              :           break;
    5188           21 :         case CFN_BUILT_IN_COPYSIGN:
    5189           21 :           if (call_expr_nargs (_p0) == 2)
    5190              :     {
    5191           21 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5192           21 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5193           21 :               if (real_onep (_q20))
    5194              :                 {
    5195            3 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5196              :                     {
    5197            0 :                       {
    5198            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5199            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    5200            0 :                         if (res) return res;
    5201              :                       }
    5202              :                     }
    5203            3 :                   switch (TREE_CODE (_q21))
    5204              :                     {
    5205            0 :                     case NEGATE_EXPR:
    5206            0 :                       {
    5207            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5208            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5209              :                           {
    5210            0 :                             {
    5211            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5212            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    5213            0 :                               if (res) return res;
    5214              :                             }
    5215              :                           }
    5216              :                         break;
    5217              :                       }
    5218              :                     default:;
    5219              :                     }
    5220              :                 }
    5221              :             }
    5222              :           break;
    5223           36 :         case CFN_BUILT_IN_COPYSIGNF:
    5224           36 :           if (call_expr_nargs (_p0) == 2)
    5225              :     {
    5226           36 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5227           36 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5228           36 :               if (real_onep (_q20))
    5229              :                 {
    5230           12 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5231              :                     {
    5232            4 :                       {
    5233            4 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5234            4 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    5235            4 :                         if (res) return res;
    5236              :                       }
    5237              :                     }
    5238           12 :                   switch (TREE_CODE (_q21))
    5239              :                     {
    5240            0 :                     case NEGATE_EXPR:
    5241            0 :                       {
    5242            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5243            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5244              :                           {
    5245            0 :                             {
    5246            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5247            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    5248            0 :                               if (res) return res;
    5249              :                             }
    5250              :                           }
    5251              :                         break;
    5252              :                       }
    5253              :                     default:;
    5254              :                     }
    5255              :                 }
    5256              :             }
    5257              :           break;
    5258            8 :         case CFN_BUILT_IN_COPYSIGNL:
    5259            8 :           if (call_expr_nargs (_p0) == 2)
    5260              :     {
    5261            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5262            8 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5263            8 :               if (real_onep (_q20))
    5264              :                 {
    5265            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5266              :                     {
    5267            0 :                       {
    5268            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5269            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    5270            0 :                         if (res) return res;
    5271              :                       }
    5272              :                     }
    5273            0 :                   switch (TREE_CODE (_q21))
    5274              :                     {
    5275            0 :                     case NEGATE_EXPR:
    5276            0 :                       {
    5277            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5278            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5279              :                           {
    5280            0 :                             {
    5281            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5282            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    5283            0 :                               if (res) return res;
    5284              :                             }
    5285              :                           }
    5286              :                         break;
    5287              :                       }
    5288              :                     default:;
    5289              :                     }
    5290              :                 }
    5291              :             }
    5292              :           break;
    5293            0 :         case CFN_COPYSIGN:
    5294            0 :           if (call_expr_nargs (_p0) == 2)
    5295              :     {
    5296            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5297            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5298            0 :               if (real_onep (_q20))
    5299              :                 {
    5300            0 :                   if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5301              :                     {
    5302            0 :                       {
    5303            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
    5304            0 :                         tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    5305            0 :                         if (res) return res;
    5306              :                       }
    5307              :                     }
    5308            0 :                   switch (TREE_CODE (_q21))
    5309              :                     {
    5310            0 :                     case NEGATE_EXPR:
    5311            0 :                       {
    5312            0 :                         tree _q40 = TREE_OPERAND (_q21, 0);
    5313            0 :                         if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5314              :                           {
    5315            0 :                             {
    5316            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    5317            0 :                               tree res = generic_simplify_178 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    5318            0 :                               if (res) return res;
    5319              :                             }
    5320              :                           }
    5321              :                         break;
    5322              :                       }
    5323              :                     default:;
    5324              :                     }
    5325              :                 }
    5326              :             }
    5327              :           break;
    5328              :         default:;
    5329              :         }
    5330              :       break;
    5331     72569319 :     default:;
    5332              :     }
    5333     72569319 :   switch (TREE_CODE (_p1))
    5334              :     {
    5335       862404 :     case CALL_EXPR:
    5336       862404 :       switch (get_call_combined_fn (_p1))
    5337              :         {
    5338           20 :         case CFN_BUILT_IN_COPYSIGNF16:
    5339           20 :           if (call_expr_nargs (_p1) == 2)
    5340              :     {
    5341           20 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5342           20 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5343           20 :               if (real_onep (_q30))
    5344              :                 {
    5345           20 :                   switch (TREE_CODE (_q31))
    5346              :                     {
    5347            0 :                     case NEGATE_EXPR:
    5348            0 :                       {
    5349            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5350            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5351              :                           {
    5352            0 :                             {
    5353            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5354            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    5355            0 :                               if (res) return res;
    5356              :                             }
    5357              :                           }
    5358              :                         break;
    5359              :                       }
    5360              :                     default:;
    5361              :                     }
    5362              :                 }
    5363              :             }
    5364              :           break;
    5365            0 :         case CFN_BUILT_IN_COPYSIGNF32:
    5366            0 :           if (call_expr_nargs (_p1) == 2)
    5367              :     {
    5368            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5369            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5370            0 :               if (real_onep (_q30))
    5371              :                 {
    5372            0 :                   switch (TREE_CODE (_q31))
    5373              :                     {
    5374            0 :                     case NEGATE_EXPR:
    5375            0 :                       {
    5376            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5377            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5378              :                           {
    5379            0 :                             {
    5380            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5381            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    5382            0 :                               if (res) return res;
    5383              :                             }
    5384              :                           }
    5385              :                         break;
    5386              :                       }
    5387              :                     default:;
    5388              :                     }
    5389              :                 }
    5390              :             }
    5391              :           break;
    5392            0 :         case CFN_BUILT_IN_COPYSIGNF64:
    5393            0 :           if (call_expr_nargs (_p1) == 2)
    5394              :     {
    5395            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5396            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5397            0 :               if (real_onep (_q30))
    5398              :                 {
    5399            0 :                   switch (TREE_CODE (_q31))
    5400              :                     {
    5401            0 :                     case NEGATE_EXPR:
    5402            0 :                       {
    5403            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5404            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5405              :                           {
    5406            0 :                             {
    5407            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5408            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    5409            0 :                               if (res) return res;
    5410              :                             }
    5411              :                           }
    5412              :                         break;
    5413              :                       }
    5414              :                     default:;
    5415              :                     }
    5416              :                 }
    5417              :             }
    5418              :           break;
    5419            0 :         case CFN_BUILT_IN_COPYSIGNF128X:
    5420            0 :           if (call_expr_nargs (_p1) == 2)
    5421              :     {
    5422            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5423            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5424            0 :               if (real_onep (_q30))
    5425              :                 {
    5426            0 :                   switch (TREE_CODE (_q31))
    5427              :                     {
    5428            0 :                     case NEGATE_EXPR:
    5429            0 :                       {
    5430            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5431            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5432              :                           {
    5433            0 :                             {
    5434            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5435            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    5436            0 :                               if (res) return res;
    5437              :                             }
    5438              :                           }
    5439              :                         break;
    5440              :                       }
    5441              :                     default:;
    5442              :                     }
    5443              :                 }
    5444              :             }
    5445              :           break;
    5446            0 :         case CFN_BUILT_IN_COPYSIGNF128:
    5447            0 :           if (call_expr_nargs (_p1) == 2)
    5448              :     {
    5449            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5450            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5451            0 :               if (real_onep (_q30))
    5452              :                 {
    5453            0 :                   switch (TREE_CODE (_q31))
    5454              :                     {
    5455            0 :                     case NEGATE_EXPR:
    5456            0 :                       {
    5457            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5458            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5459              :                           {
    5460            0 :                             {
    5461            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5462            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    5463            0 :                               if (res) return res;
    5464              :                             }
    5465              :                           }
    5466              :                         break;
    5467              :                       }
    5468              :                     default:;
    5469              :                     }
    5470              :                 }
    5471              :             }
    5472              :           break;
    5473            0 :         case CFN_BUILT_IN_COPYSIGNF32X:
    5474            0 :           if (call_expr_nargs (_p1) == 2)
    5475              :     {
    5476            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5477            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5478            0 :               if (real_onep (_q30))
    5479              :                 {
    5480            0 :                   switch (TREE_CODE (_q31))
    5481              :                     {
    5482            0 :                     case NEGATE_EXPR:
    5483            0 :                       {
    5484            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5485            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5486              :                           {
    5487            0 :                             {
    5488            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5489            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    5490            0 :                               if (res) return res;
    5491              :                             }
    5492              :                           }
    5493              :                         break;
    5494              :                       }
    5495              :                     default:;
    5496              :                     }
    5497              :                 }
    5498              :             }
    5499              :           break;
    5500            0 :         case CFN_BUILT_IN_COPYSIGNF64X:
    5501            0 :           if (call_expr_nargs (_p1) == 2)
    5502              :     {
    5503            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5504            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5505            0 :               if (real_onep (_q30))
    5506              :                 {
    5507            0 :                   switch (TREE_CODE (_q31))
    5508              :                     {
    5509            0 :                     case NEGATE_EXPR:
    5510            0 :                       {
    5511            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5512            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5513              :                           {
    5514            0 :                             {
    5515            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5516            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    5517            0 :                               if (res) return res;
    5518              :                             }
    5519              :                           }
    5520              :                         break;
    5521              :                       }
    5522              :                     default:;
    5523              :                     }
    5524              :                 }
    5525              :             }
    5526              :           break;
    5527           18 :         case CFN_BUILT_IN_COPYSIGN:
    5528           18 :           if (call_expr_nargs (_p1) == 2)
    5529              :     {
    5530           18 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5531           18 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5532           18 :               if (real_onep (_q30))
    5533              :                 {
    5534           14 :                   switch (TREE_CODE (_q31))
    5535              :                     {
    5536            0 :                     case NEGATE_EXPR:
    5537            0 :                       {
    5538            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5539            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5540              :                           {
    5541            0 :                             {
    5542            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5543            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    5544            0 :                               if (res) return res;
    5545              :                             }
    5546              :                           }
    5547              :                         break;
    5548              :                       }
    5549              :                     default:;
    5550              :                     }
    5551              :                 }
    5552              :             }
    5553              :           break;
    5554           14 :         case CFN_BUILT_IN_COPYSIGNF:
    5555           14 :           if (call_expr_nargs (_p1) == 2)
    5556              :     {
    5557           14 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5558           14 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5559           14 :               if (real_onep (_q30))
    5560              :                 {
    5561           12 :                   switch (TREE_CODE (_q31))
    5562              :                     {
    5563            0 :                     case NEGATE_EXPR:
    5564            0 :                       {
    5565            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5566            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5567              :                           {
    5568            0 :                             {
    5569            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5570            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    5571            0 :                               if (res) return res;
    5572              :                             }
    5573              :                           }
    5574              :                         break;
    5575              :                       }
    5576              :                     default:;
    5577              :                     }
    5578              :                 }
    5579              :             }
    5580              :           break;
    5581            0 :         case CFN_BUILT_IN_COPYSIGNL:
    5582            0 :           if (call_expr_nargs (_p1) == 2)
    5583              :     {
    5584            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5585            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5586            0 :               if (real_onep (_q30))
    5587              :                 {
    5588            0 :                   switch (TREE_CODE (_q31))
    5589              :                     {
    5590            0 :                     case NEGATE_EXPR:
    5591            0 :                       {
    5592            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5593            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5594              :                           {
    5595            0 :                             {
    5596            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5597            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    5598            0 :                               if (res) return res;
    5599              :                             }
    5600              :                           }
    5601              :                         break;
    5602              :                       }
    5603              :                     default:;
    5604              :                     }
    5605              :                 }
    5606              :             }
    5607              :           break;
    5608            0 :         case CFN_COPYSIGN:
    5609            0 :           if (call_expr_nargs (_p1) == 2)
    5610              :     {
    5611            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5612            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    5613            0 :               if (real_onep (_q30))
    5614              :                 {
    5615            0 :                   switch (TREE_CODE (_q31))
    5616              :                     {
    5617            0 :                     case NEGATE_EXPR:
    5618            0 :                       {
    5619            0 :                         tree _q50 = TREE_OPERAND (_q31, 0);
    5620            0 :                         if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5621              :                           {
    5622            0 :                             {
    5623            0 :                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5624            0 :                               tree res = generic_simplify_179 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    5625            0 :                               if (res) return res;
    5626              :                             }
    5627              :                           }
    5628              :                         break;
    5629              :                       }
    5630              :                     default:;
    5631              :                     }
    5632              :                 }
    5633              :             }
    5634              :           break;
    5635              :         default:;
    5636              :         }
    5637              :       break;
    5638     72569319 :     default:;
    5639              :     }
    5640     72569319 : if (integer_onep (_p1))
    5641              :   {
    5642      4653833 :     {
    5643      4653833 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5644      4653833 :       tree res = generic_simplify_180 (loc, type, _p0, _p1, captures, MULT_EXPR);
    5645      4653833 :       if (res) return res;
    5646              :     }
    5647              :   }
    5648     67915486 :   switch (TREE_CODE (_p0))
    5649              :     {
    5650      5606538 :     case MULT_EXPR:
    5651      5606538 :       {
    5652      5606538 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5653      5606538 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5654      5606538 :         switch (TREE_CODE (_q21))
    5655              :           {
    5656      1125260 :           case INTEGER_CST:
    5657      1125260 :             {
    5658      1125260 :               switch (TREE_CODE (_p1))
    5659              :                 {
    5660       997449 :                 case INTEGER_CST:
    5661       997449 :                   {
    5662       997449 :                     {
    5663       997449 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5664       997449 :                       {
    5665       997449 :  wi::overflow_type overflow;
    5666       997449 :  wide_int mul = wi::mul (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    5667      1994898 :  TYPE_SIGN (type), &overflow);
    5668       997449 :                           if (!overflow || TYPE_OVERFLOW_WRAPS (type)
    5669              : )
    5670              :                             {
    5671       997419 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1393;
    5672       997419 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1393;
    5673       997419 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1393;
    5674       997419 :                               {
    5675       997419 :                                 tree res_op0;
    5676       997419 :                                 res_op0 = captures[0];
    5677       997419 :                                 tree res_op1;
    5678       997419 :                                 res_op1 =  wide_int_to_tree (type, mul);
    5679       997419 :                                 tree _r;
    5680       997419 :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5681       997419 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 949, __FILE__, __LINE__, true);
    5682       997419 :                                 return _r;
    5683              :                               }
    5684           30 : next_after_fail1393:;
    5685              :                             }
    5686       997419 :                       }
    5687              :                     }
    5688           30 :                     break;
    5689              :                   }
    5690              :                 default:;
    5691              :                 }
    5692              :               break;
    5693              :             }
    5694              :           default:;
    5695              :           }
    5696              :         break;
    5697              :       }
    5698      7235954 :     case PLUS_EXPR:
    5699      7235954 :       {
    5700      7235954 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5701      7235954 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5702      7235954 :         switch (TREE_CODE (_q20))
    5703              :           {
    5704      1128029 :           case MULT_EXPR:
    5705      1128029 :             {
    5706      1128029 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5707      1128029 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5708      1128029 :               switch (TREE_CODE (_q31))
    5709              :                 {
    5710       308960 :                 case INTEGER_CST:
    5711       308960 :                   {
    5712       308960 :                     switch (TREE_CODE (_q21))
    5713              :                       {
    5714        37173 :                       case INTEGER_CST:
    5715        37173 :                         {
    5716        37173 :                           switch (TREE_CODE (_p1))
    5717              :                             {
    5718        13584 :                             case INTEGER_CST:
    5719        13584 :                               {
    5720        13584 :                                 {
    5721        13584 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    5722        13584 :                                   {
    5723        13584 :  bool overflowed = true;
    5724        13584 :  wi::overflow_type ovf1, ovf2;
    5725        13584 :  wide_int mul = wi::mul (wi::to_wide (captures[3]), wi::to_wide (captures[5]),
    5726        27168 :  TYPE_SIGN (type), &ovf1);
    5727        13584 :  wide_int add = wi::mul (wi::to_wide (captures[4]), wi::to_wide (captures[5]),
    5728        27168 :  TYPE_SIGN (type), &ovf2);
    5729        13584 :  if (TYPE_OVERFLOW_UNDEFINED (type))
    5730              :  {
    5731              :  }
    5732              :  else
    5733         5676 :  overflowed = false;
    5734         5676 :                                       if (!overflowed
    5735              : )
    5736              :                                         {
    5737         5676 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1394;
    5738         5676 :                                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1394;
    5739         5676 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1394;
    5740         5676 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1394;
    5741         5676 :                                           {
    5742         5676 :                                             tree res_op0;
    5743         5676 :                                             {
    5744         5676 :                                               tree _o1[2], _r1;
    5745         5676 :                                               _o1[0] = captures[2];
    5746         5676 :                                               _o1[1] =  wide_int_to_tree (type, mul);
    5747         5676 :                                               _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5748         5676 :                                               res_op0 = _r1;
    5749              :                                             }
    5750         5676 :                                             tree res_op1;
    5751         5676 :                                             res_op1 =  wide_int_to_tree (type, add);
    5752         5676 :                                             tree _r;
    5753         5676 :                                             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    5754         5676 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 950, __FILE__, __LINE__, true);
    5755         5676 :                                             return _r;
    5756              :                                           }
    5757         7908 : next_after_fail1394:;
    5758              :                                         }
    5759        13584 :                                   }
    5760              :                                 }
    5761         7908 :                                 break;
    5762              :                               }
    5763              :                             default:;
    5764              :                             }
    5765              :                           break;
    5766              :                         }
    5767              :                       default:;
    5768              :                       }
    5769              :                     break;
    5770              :                   }
    5771              :                 default:;
    5772              :                 }
    5773              :               break;
    5774              :             }
    5775              :           default:;
    5776              :           }
    5777              :         break;
    5778              :       }
    5779        84377 :     case TRUNC_DIV_EXPR:
    5780        84377 :       {
    5781        84377 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5782        84377 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5783        84377 :         if (integer_pow2p (_q21))
    5784              :           {
    5785        63548 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5786              :               {
    5787        41596 :                 {
    5788        41596 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5789        41596 :                   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    5790              : )
    5791              :                     {
    5792        41532 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1395;
    5793        41532 :                       {
    5794        41532 :                         tree res_op0;
    5795        41532 :                         res_op0 = captures[0];
    5796        41532 :                         tree res_op1;
    5797        41532 :                         {
    5798        41532 :                           tree _o1[1], _r1;
    5799        41532 :                           _o1[0] = captures[1];
    5800        41532 :                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    5801        41532 :                           res_op1 = _r1;
    5802              :                         }
    5803        41532 :                         tree _r;
    5804        41532 :                         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    5805        41532 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 951, __FILE__, __LINE__, true);
    5806        41532 :                         return _r;
    5807              :                       }
    5808            0 : next_after_fail1395:;
    5809              :                     }
    5810              :                 }
    5811              :               }
    5812              :           }
    5813              :         break;
    5814              :       }
    5815          266 :     case ABS_EXPR:
    5816          266 :       {
    5817          266 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5818          266 :         if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5819              :           {
    5820            2 :             {
    5821            2 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    5822            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1396;
    5823            2 :               {
    5824            2 :                 if (! tree_invariant_p (captures[1])) goto next_after_fail1396;
    5825            0 :                 tree res_op0;
    5826            0 :                 res_op0 = unshare_expr (captures[1]);
    5827            0 :                 tree res_op1;
    5828            0 :                 res_op1 = captures[1];
    5829            0 :                 tree _r;
    5830            0 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5831            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 952, __FILE__, __LINE__, true);
    5832            0 :                 return _r;
    5833              :               }
    5834            2 : next_after_fail1396:;
    5835              :             }
    5836              :           }
    5837              :         break;
    5838              :       }
    5839            0 :     case ABSU_EXPR:
    5840            0 :       {
    5841            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5842            0 :         if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5843              :           {
    5844            0 :             {
    5845            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20 };
    5846            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1397;
    5847            0 :               {
    5848            0 :                 tree res_op0;
    5849            0 :                 {
    5850            0 :                   tree _o1[1], _r1;
    5851            0 :                   _o1[0] = captures[1];
    5852            0 :                   if (TREE_TYPE (_o1[0]) != type)
    5853              :                     {
    5854            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    5855              :                     }
    5856              :                   else
    5857              :                     _r1 = _o1[0];
    5858            0 :                   captures[2] = _r1;
    5859              :                 }
    5860            0 :                 res_op0 = unshare_expr (captures[2]);
    5861            0 :                 tree res_op1;
    5862            0 :                 res_op1 = captures[2];
    5863            0 :                 tree _r;
    5864            0 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5865            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 953, __FILE__, __LINE__, true);
    5866            0 :                 return _r;
    5867              :               }
    5868            0 : next_after_fail1397:;
    5869              :             }
    5870              :           }
    5871              :         break;
    5872              :       }
    5873      2574203 :     case CALL_EXPR:
    5874      2574203 :       switch (get_call_combined_fn (_p0))
    5875              :         {
    5876            1 :         case CFN_BUILT_IN_COPYSIGNF16:
    5877            1 :           if (call_expr_nargs (_p0) == 2)
    5878              :     {
    5879            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5880            1 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5881            1 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5882              :                 {
    5883            0 :                   {
    5884            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5885            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
    5886            0 :                     if (res) return res;
    5887              :                   }
    5888              :                 }
    5889              :             }
    5890              :           break;
    5891            0 :         case CFN_BUILT_IN_COPYSIGNF32:
    5892            0 :           if (call_expr_nargs (_p0) == 2)
    5893              :     {
    5894            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5895            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5896            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5897              :                 {
    5898            0 :                   {
    5899            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5900            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
    5901            0 :                     if (res) return res;
    5902              :                   }
    5903              :                 }
    5904              :             }
    5905              :           break;
    5906            0 :         case CFN_BUILT_IN_COPYSIGNF64:
    5907            0 :           if (call_expr_nargs (_p0) == 2)
    5908              :     {
    5909            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5910            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5911            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5912              :                 {
    5913            0 :                   {
    5914            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5915            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
    5916            0 :                     if (res) return res;
    5917              :                   }
    5918              :                 }
    5919              :             }
    5920              :           break;
    5921            0 :         case CFN_BUILT_IN_COPYSIGNF128X:
    5922            0 :           if (call_expr_nargs (_p0) == 2)
    5923              :     {
    5924            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5925            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5926            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5927              :                 {
    5928            0 :                   {
    5929            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5930            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
    5931            0 :                     if (res) return res;
    5932              :                   }
    5933              :                 }
    5934              :             }
    5935              :           break;
    5936            8 :         case CFN_BUILT_IN_COPYSIGNF128:
    5937            8 :           if (call_expr_nargs (_p0) == 2)
    5938              :     {
    5939            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5940            8 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5941            8 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5942              :                 {
    5943            0 :                   {
    5944            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5945            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
    5946            0 :                     if (res) return res;
    5947              :                   }
    5948              :                 }
    5949              :             }
    5950              :           break;
    5951            0 :         case CFN_BUILT_IN_COPYSIGNF32X:
    5952            0 :           if (call_expr_nargs (_p0) == 2)
    5953              :     {
    5954            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5955            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5956            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5957              :                 {
    5958            0 :                   {
    5959            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5960            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
    5961            0 :                     if (res) return res;
    5962              :                   }
    5963              :                 }
    5964              :             }
    5965              :           break;
    5966            0 :         case CFN_BUILT_IN_COPYSIGNF64X:
    5967            0 :           if (call_expr_nargs (_p0) == 2)
    5968              :     {
    5969            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5970            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5971            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5972              :                 {
    5973            0 :                   {
    5974            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5975            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
    5976            0 :                     if (res) return res;
    5977              :                   }
    5978              :                 }
    5979              :             }
    5980              :           break;
    5981           21 :         case CFN_BUILT_IN_COPYSIGN:
    5982           21 :           if (call_expr_nargs (_p0) == 2)
    5983              :     {
    5984           21 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    5985           21 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    5986           21 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5987              :                 {
    5988            0 :                   {
    5989            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5990            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
    5991            0 :                     if (res) return res;
    5992              :                   }
    5993              :                 }
    5994              :             }
    5995              :           break;
    5996           36 :         case CFN_BUILT_IN_COPYSIGNF:
    5997           36 :           if (call_expr_nargs (_p0) == 2)
    5998              :     {
    5999           36 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6000           36 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    6001           36 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    6002              :                 {
    6003            0 :                   {
    6004            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    6005            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
    6006            0 :                     if (res) return res;
    6007              :                   }
    6008              :                 }
    6009              :             }
    6010              :           break;
    6011            8 :         case CFN_BUILT_IN_COPYSIGNL:
    6012            8 :           if (call_expr_nargs (_p0) == 2)
    6013              :     {
    6014            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6015            8 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    6016            8 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    6017              :                 {
    6018            0 :                   {
    6019            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    6020            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
    6021            0 :                     if (res) return res;
    6022              :                   }
    6023              :                 }
    6024              :             }
    6025              :           break;
    6026            0 :         case CFN_COPYSIGN:
    6027            0 :           if (call_expr_nargs (_p0) == 2)
    6028              :     {
    6029            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6030            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    6031            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    6032              :                 {
    6033            0 :                   {
    6034            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    6035            0 :                     tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
    6036            0 :                     if (res) return res;
    6037              :                   }
    6038              :                 }
    6039              :             }
    6040              :           break;
    6041              :         default:;
    6042              :         }
    6043              :       break;
    6044     66870859 :     default:;
    6045              :     }
    6046     66870859 :   switch (TREE_CODE (_p1))
    6047              :     {
    6048      6971853 :     CASE_CONVERT:
    6049      6971853 :       {
    6050      6971853 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6051      6971853 :         switch (TREE_CODE (_q30))
    6052              :           {
    6053            0 :           case LSHIFT_EXPR:
    6054            0 :             {
    6055            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6056            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6057            0 :               if (integer_onep (_q40))
    6058              :                 {
    6059            0 :                   {
    6060            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    6061            0 :                     tree res = generic_simplify_182 (loc, type, _p0, _p1, captures);
    6062            0 :                     if (res) return res;
    6063              :                   }
    6064              :                 }
    6065              :               break;
    6066              :             }
    6067              :           default:;
    6068              :           }
    6069              :         break;
    6070              :       }
    6071     66870859 :     default:;
    6072              :     }
    6073     66870859 :   switch (TREE_CODE (_p0))
    6074              :     {
    6075     31919340 :     CASE_CONVERT:
    6076     31919340 :       {
    6077     31919340 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6078     31919340 :         switch (TREE_CODE (_q20))
    6079              :           {
    6080           20 :           case LSHIFT_EXPR:
    6081           20 :             {
    6082           20 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6083           20 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6084           20 :               if (integer_onep (_q30))
    6085              :                 {
    6086            1 :                   {
    6087            1 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _q31 };
    6088            1 :                     tree res = generic_simplify_182 (loc, type, _p0, _p1, captures);
    6089            1 :                     if (res) return res;
    6090              :                   }
    6091              :                 }
    6092              :               break;
    6093              :             }
    6094            1 :           case EQ_EXPR:
    6095            1 :             {
    6096            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6097            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6098            1 :               if (integer_zerop (_q31))
    6099              :                 {
    6100            1 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6101              :                     {
    6102            0 :                       {
    6103            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    6104            0 :                         tree res = generic_simplify_183 (loc, type, _p0, _p1, captures);
    6105            0 :                         if (res) return res;
    6106              :                       }
    6107              :                     }
    6108              :                 }
    6109              :               break;
    6110              :             }
    6111              :           default:;
    6112              :           }
    6113              :         break;
    6114              :       }
    6115     66870859 :     default:;
    6116              :     }
    6117     66870859 :   switch (TREE_CODE (_p1))
    6118              :     {
    6119          844 :     case LSHIFT_EXPR:
    6120          844 :       {
    6121          844 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6122          844 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6123          844 :         if (integer_onep (_q30))
    6124              :           {
    6125          165 :             {
    6126          165 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    6127          165 :               tree res = generic_simplify_182 (loc, type, _p0, _p1, captures);
    6128          165 :               if (res) return res;
    6129              :             }
    6130              :           }
    6131              :         break;
    6132              :       }
    6133     66870694 :     default:;
    6134              :     }
    6135     66870694 :   switch (TREE_CODE (_p0))
    6136              :     {
    6137         3181 :     case LSHIFT_EXPR:
    6138         3181 :       {
    6139         3181 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6140         3181 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6141         3181 :         if (integer_onep (_q20))
    6142              :           {
    6143         2959 :             {
    6144         2959 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
    6145         2959 :               tree res = generic_simplify_182 (loc, type, _p0, _p1, captures);
    6146         2959 :               if (res) return res;
    6147              :             }
    6148              :           }
    6149              :         break;
    6150              :       }
    6151     66867735 :     default:;
    6152              :     }
    6153     66867735 :   switch (TREE_CODE (_p1))
    6154              :     {
    6155      6971470 :     CASE_CONVERT:
    6156      6971470 :       {
    6157      6971470 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6158      6971470 :         switch (TREE_CODE (_q30))
    6159              :           {
    6160            0 :           case EQ_EXPR:
    6161            0 :             {
    6162            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6163            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6164            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6165              :                 {
    6166            0 :                   if (integer_zerop (_q41))
    6167              :                     {
    6168            0 :                       {
    6169            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6170            0 :                         tree res = generic_simplify_184 (loc, type, _p0, _p1, captures);
    6171            0 :                         if (res) return res;
    6172              :                       }
    6173              :                     }
    6174              :                 }
    6175              :               break;
    6176              :             }
    6177              :           default:;
    6178              :           }
    6179              :         break;
    6180              :       }
    6181            0 :     case EQ_EXPR:
    6182            0 :       {
    6183            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6184            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6185            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6186              :           {
    6187            0 :             if (integer_zerop (_q31))
    6188              :               {
    6189            0 :                 {
    6190            0 :                   tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6191            0 :                   tree res = generic_simplify_184 (loc, type, _p0, _p1, captures);
    6192            0 :                   if (res) return res;
    6193              :                 }
    6194              :               }
    6195              :           }
    6196              :         break;
    6197              :       }
    6198     66867735 :     default:;
    6199              :     }
    6200     66867735 :   switch (TREE_CODE (_p0))
    6201              :     {
    6202          183 :     case EQ_EXPR:
    6203          183 :       {
    6204          183 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6205          183 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6206          183 :         if (integer_zerop (_q21))
    6207              :           {
    6208           59 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6209              :               {
    6210            3 :                 {
    6211            3 :                   tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6212            3 :                   tree res = generic_simplify_183 (loc, type, _p0, _p1, captures);
    6213            3 :                   if (res) return res;
    6214              :                 }
    6215              :               }
    6216              :           }
    6217              :         break;
    6218              :       }
    6219     66867732 :     default:;
    6220              :     }
    6221     66867732 :   switch (TREE_CODE (_p1))
    6222              :     {
    6223            0 :     case VEC_COND_EXPR:
    6224            0 :       {
    6225            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6226            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6227            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    6228            0 :         switch (TREE_CODE (_q30))
    6229              :           {
    6230            0 :           case EQ_EXPR:
    6231            0 :             {
    6232            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6233            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6234            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6235              :                 {
    6236            0 :                   if (integer_zerop (_q41))
    6237              :                     {
    6238            0 :                       if (integer_zerop (_q32))
    6239              :                         {
    6240            0 :                           {
    6241            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    6242            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1398;
    6243            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1398;
    6244            0 :                             {
    6245            0 :                               tree _r;
    6246            0 :                               _r =  build_zero_cst (type);
    6247            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 954, __FILE__, __LINE__, true);
    6248            0 :                               return _r;
    6249              :                             }
    6250            0 : next_after_fail1398:;
    6251              :                           }
    6252              :                         }
    6253              :                     }
    6254              :                 }
    6255              :               break;
    6256              :             }
    6257              :           default:;
    6258              :           }
    6259              :         break;
    6260              :       }
    6261     66867732 :     default:;
    6262              :     }
    6263     66867732 :   switch (TREE_CODE (_p0))
    6264              :     {
    6265           37 :     case VEC_COND_EXPR:
    6266           37 :       {
    6267           37 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6268           37 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6269           37 :         tree _q22 = TREE_OPERAND (_p0, 2);
    6270           37 :         switch (TREE_CODE (_q20))
    6271              :           {
    6272            1 :           case EQ_EXPR:
    6273            1 :             {
    6274            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6275            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6276            1 :               if (integer_zerop (_q31))
    6277              :                 {
    6278            1 :                   if (integer_zerop (_q22))
    6279              :                     {
    6280            1 :                       if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6281              :                         {
    6282            1 :                           {
    6283            1 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    6284            1 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1399;
    6285            1 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1399;
    6286            1 :                             {
    6287            1 :                               tree _r;
    6288            1 :                               _r =  build_zero_cst (type);
    6289            1 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 954, __FILE__, __LINE__, true);
    6290            1 :                               return _r;
    6291              :                             }
    6292            0 : next_after_fail1399:;
    6293              :                           }
    6294              :                         }
    6295              :                     }
    6296              :                 }
    6297              :               break;
    6298              :             }
    6299            0 :           case NE_EXPR:
    6300            0 :             {
    6301            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6302            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6303            0 :               if (integer_zerop (_q31))
    6304              :                 {
    6305            0 :                   if (integer_zerop (_q21))
    6306              :                     {
    6307            0 :                       if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6308              :                         {
    6309            0 :                           {
    6310            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
    6311            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1400;
    6312            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1400;
    6313            0 :                             {
    6314            0 :                               tree _r;
    6315            0 :                               _r =  build_zero_cst (type);
    6316            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 955, __FILE__, __LINE__, true);
    6317            0 :                               return _r;
    6318              :                             }
    6319            0 : next_after_fail1400:;
    6320              :                           }
    6321              :                         }
    6322              :                     }
    6323              :                 }
    6324              :               break;
    6325              :             }
    6326              :           default:;
    6327              :           }
    6328              :         break;
    6329              :       }
    6330     66867731 :     default:;
    6331              :     }
    6332     66867731 :   switch (TREE_CODE (_p1))
    6333              :     {
    6334            0 :     case VEC_COND_EXPR:
    6335            0 :       {
    6336            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6337            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6338            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    6339            0 :         switch (TREE_CODE (_q30))
    6340              :           {
    6341            0 :           case NE_EXPR:
    6342            0 :             {
    6343            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6344            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6345            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6346              :                 {
    6347            0 :                   if (integer_zerop (_q41))
    6348              :                     {
    6349            0 :                       if (integer_zerop (_q31))
    6350              :                         {
    6351            0 :                           {
    6352            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
    6353            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1401;
    6354            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1401;
    6355            0 :                             {
    6356            0 :                               tree _r;
    6357            0 :                               _r =  build_zero_cst (type);
    6358            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 955, __FILE__, __LINE__, true);
    6359            0 :                               return _r;
    6360              :                             }
    6361            0 : next_after_fail1401:;
    6362              :                           }
    6363              :                         }
    6364              :                     }
    6365              :                 }
    6366              :               break;
    6367              :             }
    6368              :           default:;
    6369              :           }
    6370              :         break;
    6371              :       }
    6372     66867731 :     default:;
    6373              :     }
    6374     66867731 :   switch (TREE_CODE (_p0))
    6375              :     {
    6376       732369 :     case RDIV_EXPR:
    6377       732369 :       {
    6378       732369 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6379       732369 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6380       732369 :         switch (TREE_CODE (_q20))
    6381              :           {
    6382        55963 :           case REAL_CST:
    6383        55963 :             {
    6384        55963 :               switch (TREE_CODE (_p1))
    6385              :                 {
    6386            1 :                 case REAL_CST:
    6387            1 :                   {
    6388            1 :                     {
    6389            1 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    6390            1 :                       if (flag_associative_math
    6391            1 :  && single_use (captures[0])
    6392              : )
    6393              :                         {
    6394            1 :                           {
    6395            1 :  tree tem = const_binop (MULT_EXPR, type, captures[1], captures[3]);
    6396            1 :                               if (tem
    6397              : )
    6398              :                                 {
    6399            1 :                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1402;
    6400            1 :                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1402;
    6401            1 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1402;
    6402            1 :                                   {
    6403            1 :                                     tree res_op0;
    6404            1 :                                     res_op0 =  tem;
    6405            1 :                                     tree res_op1;
    6406            1 :                                     res_op1 = captures[2];
    6407            1 :                                     tree _r;
    6408            1 :                                     _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    6409            1 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 956, __FILE__, __LINE__, true);
    6410            1 :                                     return _r;
    6411              :                                   }
    6412            0 : next_after_fail1402:;
    6413              :                                 }
    6414              :                           }
    6415              :                         }
    6416              :                     }
    6417            0 :                     break;
    6418              :                   }
    6419              :                 default:;
    6420              :                 }
    6421              :               break;
    6422              :             }
    6423              :           default:;
    6424              :           }
    6425              :         break;
    6426              :       }
    6427     66867730 :     default:;
    6428              :     }
    6429     66867730 : {
    6430     66867730 :   tree _p0_pops[1];
    6431     66867730 :   if (tree_nop_convert (_p0, _p0_pops))
    6432              :     {
    6433     23153172 :       tree _q20 = _p0_pops[0];
    6434     23153172 :       switch (TREE_CODE (_q20))
    6435              :         {
    6436            4 :         case BIT_IOR_EXPR:
    6437            4 :           {
    6438            4 :             tree _q30 = TREE_OPERAND (_q20, 0);
    6439            4 :             tree _q31 = TREE_OPERAND (_q20, 1);
    6440            4 :             switch (TREE_CODE (_q30))
    6441              :               {
    6442            4 :               case NEGATE_EXPR:
    6443            4 :                 {
    6444            4 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    6445            4 :                   switch (TREE_CODE (_q40))
    6446              :                     {
    6447            0 :                     CASE_CONVERT:
    6448            0 :                       {
    6449            0 :                         tree _q50 = TREE_OPERAND (_q40, 0);
    6450            0 :                         switch (TREE_CODE (_q50))
    6451              :                           {
    6452            0 :                           case LT_EXPR:
    6453            0 :                             {
    6454            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
    6455            0 :                               tree _q61 = TREE_OPERAND (_q50, 1);
    6456            0 :                               if (integer_zerop (_q61))
    6457              :                                 {
    6458            0 :                                   if (integer_onep (_q31))
    6459              :                                     {
    6460            0 :                                       {
    6461            0 :                                         tree _p1_pops[1];
    6462            0 :                                         if (tree_nop_convert (_p1, _p1_pops))
    6463              :                                           {
    6464            0 :                                             tree _q100 = _p1_pops[0];
    6465            0 :                                             if ((_q100 == _q60 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q60, 0) && types_match (_q100, _q60)))
    6466              :                                               {
    6467            0 :                                                 {
    6468            0 :                                                   tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    6469            0 :                                                   tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    6470            0 :                                                   if (res) return res;
    6471              :                                                 }
    6472              :                                               }
    6473              :                                           }
    6474              :                                       }
    6475            0 :                                       if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
    6476              :                                         {
    6477            0 :                                           {
    6478            0 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    6479            0 :                                             tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    6480            0 :                                             if (res) return res;
    6481              :                                           }
    6482              :                                         }
    6483              :                                     }
    6484              :                                 }
    6485              :                               break;
    6486              :                             }
    6487              :                           default:;
    6488              :                           }
    6489              :                         break;
    6490              :                       }
    6491            4 :                     case LT_EXPR:
    6492            4 :                       {
    6493            4 :                         tree _q50 = TREE_OPERAND (_q40, 0);
    6494            4 :                         tree _q51 = TREE_OPERAND (_q40, 1);
    6495            4 :                         if (integer_zerop (_q51))
    6496              :                           {
    6497            4 :                             if (integer_onep (_q31))
    6498              :                               {
    6499            4 :                                 {
    6500            4 :                                   tree _p1_pops[1];
    6501            4 :                                   if (tree_nop_convert (_p1, _p1_pops))
    6502              :                                     {
    6503            4 :                                       tree _q90 = _p1_pops[0];
    6504            4 :                                       if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
    6505              :                                         {
    6506            4 :                                           {
    6507            4 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    6508            4 :                                             tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    6509            4 :                                             if (res) return res;
    6510              :                                           }
    6511              :                                         }
    6512              :                                     }
    6513              :                                 }
    6514            0 :                                 if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    6515              :                                   {
    6516            0 :                                     {
    6517            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    6518            0 :                                       tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    6519            0 :                                       if (res) return res;
    6520              :                                     }
    6521              :                                   }
    6522              :                               }
    6523              :                           }
    6524              :                         break;
    6525              :                       }
    6526              :                     default:;
    6527              :                     }
    6528              :                   break;
    6529              :                 }
    6530            0 :               default:;
    6531              :               }
    6532            0 :           {
    6533            0 :             tree _q30_pops[1];
    6534            0 :             if (tree_nop_convert (_q30, _q30_pops))
    6535              :               {
    6536            0 :                 tree _q40 = _q30_pops[0];
    6537            0 :                 switch (TREE_CODE (_q40))
    6538              :                   {
    6539            0 :                   case NEGATE_EXPR:
    6540            0 :                     {
    6541            0 :                       tree _q50 = TREE_OPERAND (_q40, 0);
    6542            0 :                       switch (TREE_CODE (_q50))
    6543              :                         {
    6544            0 :                         CASE_CONVERT:
    6545            0 :                           {
    6546            0 :                             tree _q60 = TREE_OPERAND (_q50, 0);
    6547            0 :                             switch (TREE_CODE (_q60))
    6548              :                               {
    6549            0 :                               case LT_EXPR:
    6550            0 :                                 {
    6551            0 :                                   tree _q70 = TREE_OPERAND (_q60, 0);
    6552            0 :                                   tree _q71 = TREE_OPERAND (_q60, 1);
    6553            0 :                                   if (integer_zerop (_q71))
    6554              :                                     {
    6555            0 :                                       if (integer_onep (_q31))
    6556              :                                         {
    6557            0 :                                           {
    6558            0 :                                             tree _p1_pops[1];
    6559            0 :                                             if (tree_nop_convert (_p1, _p1_pops))
    6560              :                                               {
    6561            0 :                                                 tree _q110 = _p1_pops[0];
    6562            0 :                                                 if ((_q110 == _q70 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q70, 0) && types_match (_q110, _q70)))
    6563              :                                                   {
    6564            0 :                                                     {
    6565            0 :                                                       tree captures[1] ATTRIBUTE_UNUSED = { _q70 };
    6566            0 :                                                       tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    6567            0 :                                                       if (res) return res;
    6568              :                                                     }
    6569              :                                                   }
    6570              :                                               }
    6571              :                                           }
    6572            0 :                                           if ((_p1 == _q70 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q70, 0) && types_match (_p1, _q70)))
    6573              :                                             {
    6574            0 :                                               {
    6575            0 :                                                 tree captures[1] ATTRIBUTE_UNUSED = { _q70 };
    6576            0 :                                                 tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    6577            0 :                                                 if (res) return res;
    6578              :                                               }
    6579              :                                             }
    6580              :                                         }
    6581              :                                     }
    6582              :                                   break;
    6583              :                                 }
    6584              :                               default:;
    6585              :                               }
    6586              :                             break;
    6587              :                           }
    6588            0 :                         case LT_EXPR:
    6589            0 :                           {
    6590            0 :                             tree _q60 = TREE_OPERAND (_q50, 0);
    6591            0 :                             tree _q61 = TREE_OPERAND (_q50, 1);
    6592            0 :                             if (integer_zerop (_q61))
    6593              :                               {
    6594            0 :                                 if (integer_onep (_q31))
    6595              :                                   {
    6596            0 :                                     {
    6597            0 :                                       tree _p1_pops[1];
    6598            0 :                                       if (tree_nop_convert (_p1, _p1_pops))
    6599              :                                         {
    6600            0 :                                           tree _q100 = _p1_pops[0];
    6601            0 :                                           if ((_q100 == _q60 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q60, 0) && types_match (_q100, _q60)))
    6602              :                                             {
    6603            0 :                                               {
    6604            0 :                                                 tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    6605            0 :                                                 tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    6606            0 :                                                 if (res) return res;
    6607              :                                               }
    6608              :                                             }
    6609              :                                         }
    6610              :                                     }
    6611            0 :                                     if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
    6612              :                                       {
    6613            0 :                                         {
    6614            0 :                                           tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    6615            0 :                                           tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    6616            0 :                                           if (res) return res;
    6617              :                                         }
    6618              :                                       }
    6619              :                                   }
    6620              :                               }
    6621              :                             break;
    6622              :                           }
    6623              :                         default:;
    6624              :                         }
    6625              :                       break;
    6626              :                     }
    6627              :                   default:;
    6628              :                   }
    6629              :               }
    6630              :           }
    6631            0 :             break;
    6632              :           }
    6633     23153168 :         default:;
    6634              :         }
    6635     23153168 :       switch (TREE_CODE (_p1))
    6636              :         {
    6637            0 :         case BIT_IOR_EXPR:
    6638            0 :           {
    6639            0 :             tree _q40 = TREE_OPERAND (_p1, 0);
    6640            0 :             tree _q41 = TREE_OPERAND (_p1, 1);
    6641            0 :             switch (TREE_CODE (_q40))
    6642              :               {
    6643            0 :               case NEGATE_EXPR:
    6644            0 :                 {
    6645            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    6646            0 :                   switch (TREE_CODE (_q50))
    6647              :                     {
    6648            0 :                     CASE_CONVERT:
    6649            0 :                       {
    6650            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    6651            0 :                         switch (TREE_CODE (_q60))
    6652              :                           {
    6653            0 :                           case LT_EXPR:
    6654            0 :                             {
    6655            0 :                               tree _q70 = TREE_OPERAND (_q60, 0);
    6656            0 :                               tree _q71 = TREE_OPERAND (_q60, 1);
    6657            0 :                               if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6658              :                                 {
    6659            0 :                                   if (integer_zerop (_q71))
    6660              :                                     {
    6661            0 :                                       if (integer_onep (_q41))
    6662              :                                         {
    6663            0 :                                           {
    6664            0 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6665            0 :                                             tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6666            0 :                                             if (res) return res;
    6667              :                                           }
    6668              :                                         }
    6669              :                                     }
    6670              :                                 }
    6671              :                               break;
    6672              :                             }
    6673              :                           default:;
    6674              :                           }
    6675              :                         break;
    6676              :                       }
    6677            0 :                     case LT_EXPR:
    6678            0 :                       {
    6679            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    6680            0 :                         tree _q61 = TREE_OPERAND (_q50, 1);
    6681            0 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6682              :                           {
    6683            0 :                             if (integer_zerop (_q61))
    6684              :                               {
    6685            0 :                                 if (integer_onep (_q41))
    6686              :                                   {
    6687            0 :                                     {
    6688            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6689            0 :                                       tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6690            0 :                                       if (res) return res;
    6691              :                                     }
    6692              :                                   }
    6693              :                               }
    6694              :                           }
    6695              :                         break;
    6696              :                       }
    6697              :                     default:;
    6698              :                     }
    6699              :                   break;
    6700              :                 }
    6701            0 :               default:;
    6702              :               }
    6703            0 :           {
    6704            0 :             tree _q40_pops[1];
    6705            0 :             if (tree_nop_convert (_q40, _q40_pops))
    6706              :               {
    6707            0 :                 tree _q50 = _q40_pops[0];
    6708            0 :                 switch (TREE_CODE (_q50))
    6709              :                   {
    6710            0 :                   case NEGATE_EXPR:
    6711            0 :                     {
    6712            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    6713            0 :                       switch (TREE_CODE (_q60))
    6714              :                         {
    6715            0 :                         CASE_CONVERT:
    6716            0 :                           {
    6717            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    6718            0 :                             switch (TREE_CODE (_q70))
    6719              :                               {
    6720            0 :                               case LT_EXPR:
    6721            0 :                                 {
    6722            0 :                                   tree _q80 = TREE_OPERAND (_q70, 0);
    6723            0 :                                   tree _q81 = TREE_OPERAND (_q70, 1);
    6724            0 :                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    6725              :                                     {
    6726            0 :                                       if (integer_zerop (_q81))
    6727              :                                         {
    6728            0 :                                           if (integer_onep (_q41))
    6729              :                                             {
    6730            0 :                                               {
    6731            0 :                                                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6732            0 :                                                 tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6733            0 :                                                 if (res) return res;
    6734              :                                               }
    6735              :                                             }
    6736              :                                         }
    6737              :                                     }
    6738              :                                   break;
    6739              :                                 }
    6740              :                               default:;
    6741              :                               }
    6742              :                             break;
    6743              :                           }
    6744            0 :                         case LT_EXPR:
    6745            0 :                           {
    6746            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    6747            0 :                             tree _q71 = TREE_OPERAND (_q60, 1);
    6748            0 :                             if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6749              :                               {
    6750            0 :                                 if (integer_zerop (_q71))
    6751              :                                   {
    6752            0 :                                     if (integer_onep (_q41))
    6753              :                                       {
    6754            0 :                                         {
    6755            0 :                                           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6756            0 :                                           tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6757            0 :                                           if (res) return res;
    6758              :                                         }
    6759              :                                       }
    6760              :                                   }
    6761              :                               }
    6762              :                             break;
    6763              :                           }
    6764              :                         default:;
    6765              :                         }
    6766              :                       break;
    6767              :                     }
    6768              :                   default:;
    6769              :                   }
    6770              :               }
    6771              :           }
    6772            0 :             break;
    6773              :           }
    6774     23153168 :         default:;
    6775              :         }
    6776     23153168 :     {
    6777     23153168 :       tree _p1_pops[1];
    6778     23153168 :       if (tree_nop_convert (_p1, _p1_pops))
    6779              :         {
    6780      2406632 :           tree _q40 = _p1_pops[0];
    6781      2406632 :           switch (TREE_CODE (_q40))
    6782              :             {
    6783            0 :             case BIT_IOR_EXPR:
    6784            0 :               {
    6785            0 :                 tree _q50 = TREE_OPERAND (_q40, 0);
    6786            0 :                 tree _q51 = TREE_OPERAND (_q40, 1);
    6787            0 :                 switch (TREE_CODE (_q50))
    6788              :                   {
    6789            0 :                   case NEGATE_EXPR:
    6790            0 :                     {
    6791            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    6792            0 :                       switch (TREE_CODE (_q60))
    6793              :                         {
    6794            0 :                         CASE_CONVERT:
    6795            0 :                           {
    6796            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    6797            0 :                             switch (TREE_CODE (_q70))
    6798              :                               {
    6799            0 :                               case LT_EXPR:
    6800            0 :                                 {
    6801            0 :                                   tree _q80 = TREE_OPERAND (_q70, 0);
    6802            0 :                                   tree _q81 = TREE_OPERAND (_q70, 1);
    6803            0 :                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    6804              :                                     {
    6805            0 :                                       if (integer_zerop (_q81))
    6806              :                                         {
    6807            0 :                                           if (integer_onep (_q51))
    6808              :                                             {
    6809            0 :                                               {
    6810            0 :                                                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6811            0 :                                                 tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6812            0 :                                                 if (res) return res;
    6813              :                                               }
    6814              :                                             }
    6815              :                                         }
    6816              :                                     }
    6817              :                                   break;
    6818              :                                 }
    6819              :                               default:;
    6820              :                               }
    6821              :                             break;
    6822              :                           }
    6823            0 :                         case LT_EXPR:
    6824            0 :                           {
    6825            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    6826            0 :                             tree _q71 = TREE_OPERAND (_q60, 1);
    6827            0 :                             if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6828              :                               {
    6829            0 :                                 if (integer_zerop (_q71))
    6830              :                                   {
    6831            0 :                                     if (integer_onep (_q51))
    6832              :                                       {
    6833            0 :                                         {
    6834            0 :                                           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6835            0 :                                           tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6836            0 :                                           if (res) return res;
    6837              :                                         }
    6838              :                                       }
    6839              :                                   }
    6840              :                               }
    6841              :                             break;
    6842              :                           }
    6843              :                         default:;
    6844              :                         }
    6845              :                       break;
    6846              :                     }
    6847            0 :                   default:;
    6848              :                   }
    6849            0 :               {
    6850            0 :                 tree _q50_pops[1];
    6851            0 :                 if (tree_nop_convert (_q50, _q50_pops))
    6852              :                   {
    6853            0 :                     tree _q60 = _q50_pops[0];
    6854            0 :                     switch (TREE_CODE (_q60))
    6855              :                       {
    6856            0 :                       case NEGATE_EXPR:
    6857            0 :                         {
    6858            0 :                           tree _q70 = TREE_OPERAND (_q60, 0);
    6859            0 :                           switch (TREE_CODE (_q70))
    6860              :                             {
    6861            0 :                             CASE_CONVERT:
    6862            0 :                               {
    6863            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    6864            0 :                                 switch (TREE_CODE (_q80))
    6865              :                                   {
    6866            0 :                                   case LT_EXPR:
    6867            0 :                                     {
    6868            0 :                                       tree _q90 = TREE_OPERAND (_q80, 0);
    6869            0 :                                       tree _q91 = TREE_OPERAND (_q80, 1);
    6870            0 :                                       if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
    6871              :                                         {
    6872            0 :                                           if (integer_zerop (_q91))
    6873              :                                             {
    6874            0 :                                               if (integer_onep (_q51))
    6875              :                                                 {
    6876            0 :                                                   {
    6877            0 :                                                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6878            0 :                                                     tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6879            0 :                                                     if (res) return res;
    6880              :                                                   }
    6881              :                                                 }
    6882              :                                             }
    6883              :                                         }
    6884              :                                       break;
    6885              :                                     }
    6886              :                                   default:;
    6887              :                                   }
    6888              :                                 break;
    6889              :                               }
    6890            0 :                             case LT_EXPR:
    6891            0 :                               {
    6892            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    6893            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    6894            0 :                                 if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    6895              :                                   {
    6896            0 :                                     if (integer_zerop (_q81))
    6897              :                                       {
    6898            0 :                                         if (integer_onep (_q51))
    6899              :                                           {
    6900            0 :                                             {
    6901            0 :                                               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6902            0 :                                               tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6903            0 :                                               if (res) return res;
    6904              :                                             }
    6905              :                                           }
    6906              :                                       }
    6907              :                                   }
    6908              :                                 break;
    6909              :                               }
    6910              :                             default:;
    6911              :                             }
    6912              :                           break;
    6913              :                         }
    6914              :                       default:;
    6915              :                       }
    6916              :                   }
    6917              :               }
    6918            0 :                 break;
    6919              :               }
    6920              :             default:;
    6921              :             }
    6922              :         }
    6923              :     }
    6924              :     }
    6925              : }
    6926     66867726 :   {
    6927     66867726 :     tree _p1_pops[1];
    6928     66867726 :     if (tree_nop_convert (_p1, _p1_pops))
    6929              :       {
    6930      6888457 :         tree _q30 = _p1_pops[0];
    6931      6888457 :         switch (TREE_CODE (_q30))
    6932              :           {
    6933            0 :           case BIT_IOR_EXPR:
    6934            0 :             {
    6935            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6936            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6937            0 :               switch (TREE_CODE (_q40))
    6938              :                 {
    6939            0 :                 case NEGATE_EXPR:
    6940            0 :                   {
    6941            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6942            0 :                     switch (TREE_CODE (_q50))
    6943              :                       {
    6944            0 :                       CASE_CONVERT:
    6945            0 :                         {
    6946            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    6947            0 :                           switch (TREE_CODE (_q60))
    6948              :                             {
    6949            0 :                             case LT_EXPR:
    6950            0 :                               {
    6951            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    6952            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    6953            0 :                                 if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
    6954              :                                   {
    6955            0 :                                     if (integer_zerop (_q71))
    6956              :                                       {
    6957            0 :                                         if (integer_onep (_q41))
    6958              :                                           {
    6959            0 :                                             {
    6960            0 :                                               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6961            0 :                                               tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    6962            0 :                                               if (res) return res;
    6963              :                                             }
    6964              :                                           }
    6965              :                                       }
    6966              :                                   }
    6967              :                                 break;
    6968              :                               }
    6969              :                             default:;
    6970              :                             }
    6971              :                           break;
    6972              :                         }
    6973              :                       default:;
    6974              :                       }
    6975              :                     break;
    6976              :                   }
    6977            0 :                 default:;
    6978              :                 }
    6979            0 :             {
    6980            0 :               tree _q40_pops[1];
    6981            0 :               if (tree_nop_convert (_q40, _q40_pops))
    6982              :                 {
    6983            0 :                   tree _q50 = _q40_pops[0];
    6984            0 :                   switch (TREE_CODE (_q50))
    6985              :                     {
    6986            0 :                     case NEGATE_EXPR:
    6987            0 :                       {
    6988            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    6989            0 :                         switch (TREE_CODE (_q60))
    6990              :                           {
    6991            0 :                           CASE_CONVERT:
    6992            0 :                             {
    6993            0 :                               tree _q70 = TREE_OPERAND (_q60, 0);
    6994            0 :                               switch (TREE_CODE (_q70))
    6995              :                                 {
    6996            0 :                                 case LT_EXPR:
    6997            0 :                                   {
    6998            0 :                                     tree _q80 = TREE_OPERAND (_q70, 0);
    6999            0 :                                     tree _q81 = TREE_OPERAND (_q70, 1);
    7000            0 :                                     if ((_q80 == _p0 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _p0, 0) && types_match (_q80, _p0)))
    7001              :                                       {
    7002            0 :                                         if (integer_zerop (_q81))
    7003              :                                           {
    7004            0 :                                             if (integer_onep (_q41))
    7005              :                                               {
    7006            0 :                                                 {
    7007            0 :                                                   tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7008            0 :                                                   tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7009            0 :                                                   if (res) return res;
    7010              :                                                 }
    7011              :                                               }
    7012              :                                           }
    7013              :                                       }
    7014              :                                     break;
    7015              :                                   }
    7016              :                                 default:;
    7017              :                                 }
    7018              :                               break;
    7019              :                             }
    7020              :                           default:;
    7021              :                           }
    7022              :                         break;
    7023              :                       }
    7024              :                     default:;
    7025              :                     }
    7026              :                 }
    7027              :             }
    7028            0 :               break;
    7029              :             }
    7030              :           default:;
    7031              :           }
    7032              :       }
    7033              :   }
    7034     66867726 :   switch (TREE_CODE (_p0))
    7035              :     {
    7036          299 :     case BIT_IOR_EXPR:
    7037          299 :       {
    7038          299 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7039          299 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7040          299 :         switch (TREE_CODE (_q20))
    7041              :           {
    7042            1 :           case NEGATE_EXPR:
    7043            1 :             {
    7044            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7045            1 :               switch (TREE_CODE (_q30))
    7046              :                 {
    7047            0 :                 CASE_CONVERT:
    7048            0 :                   {
    7049            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    7050            0 :                     switch (TREE_CODE (_q40))
    7051              :                       {
    7052            0 :                       case LT_EXPR:
    7053            0 :                         {
    7054            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    7055            0 :                           tree _q51 = TREE_OPERAND (_q40, 1);
    7056            0 :                           if (integer_zerop (_q51))
    7057              :                             {
    7058            0 :                               if (integer_onep (_q21))
    7059              :                                 {
    7060            0 :                                   {
    7061            0 :                                     tree _p1_pops[1];
    7062            0 :                                     if (tree_nop_convert (_p1, _p1_pops))
    7063              :                                       {
    7064            0 :                                         tree _q90 = _p1_pops[0];
    7065            0 :                                         if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
    7066              :                                           {
    7067            0 :                                             {
    7068            0 :                                               tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    7069            0 :                                               tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    7070            0 :                                               if (res) return res;
    7071              :                                             }
    7072              :                                           }
    7073              :                                       }
    7074              :                                   }
    7075            0 :                                   if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    7076              :                                     {
    7077            0 :                                       {
    7078            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    7079            0 :                                         tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    7080            0 :                                         if (res) return res;
    7081              :                                       }
    7082              :                                     }
    7083              :                                 }
    7084              :                             }
    7085              :                           break;
    7086              :                         }
    7087              :                       default:;
    7088              :                       }
    7089              :                     break;
    7090              :                   }
    7091            1 :                 case LT_EXPR:
    7092            1 :                   {
    7093            1 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    7094            1 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    7095            1 :                     if (integer_zerop (_q41))
    7096              :                       {
    7097            1 :                         if (integer_onep (_q21))
    7098              :                           {
    7099            1 :                             {
    7100            1 :                               tree _p1_pops[1];
    7101            1 :                               if (tree_nop_convert (_p1, _p1_pops))
    7102              :                                 {
    7103            0 :                                   tree _q80 = _p1_pops[0];
    7104            0 :                                   if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    7105              :                                     {
    7106            0 :                                       {
    7107            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    7108            0 :                                         tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    7109            0 :                                         if (res) return res;
    7110              :                                       }
    7111              :                                     }
    7112              :                                 }
    7113              :                             }
    7114            1 :                             if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    7115              :                               {
    7116            1 :                                 {
    7117            1 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    7118            1 :                                   tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    7119            1 :                                   if (res) return res;
    7120              :                                 }
    7121              :                               }
    7122              :                           }
    7123              :                       }
    7124              :                     break;
    7125              :                   }
    7126              :                 default:;
    7127              :                 }
    7128              :               break;
    7129              :             }
    7130          298 :           default:;
    7131              :           }
    7132          298 :       {
    7133          298 :         tree _q20_pops[1];
    7134          298 :         if (tree_nop_convert (_q20, _q20_pops))
    7135              :           {
    7136            1 :             tree _q30 = _q20_pops[0];
    7137            1 :             switch (TREE_CODE (_q30))
    7138              :               {
    7139            1 :               case NEGATE_EXPR:
    7140            1 :                 {
    7141            1 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    7142            1 :                   switch (TREE_CODE (_q40))
    7143              :                     {
    7144            0 :                     CASE_CONVERT:
    7145            0 :                       {
    7146            0 :                         tree _q50 = TREE_OPERAND (_q40, 0);
    7147            0 :                         switch (TREE_CODE (_q50))
    7148              :                           {
    7149            0 :                           case LT_EXPR:
    7150            0 :                             {
    7151            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
    7152            0 :                               tree _q61 = TREE_OPERAND (_q50, 1);
    7153            0 :                               if (integer_zerop (_q61))
    7154              :                                 {
    7155            0 :                                   if (integer_onep (_q21))
    7156              :                                     {
    7157            0 :                                       {
    7158            0 :                                         tree _p1_pops[1];
    7159            0 :                                         if (tree_nop_convert (_p1, _p1_pops))
    7160              :                                           {
    7161            0 :                                             tree _q100 = _p1_pops[0];
    7162            0 :                                             if ((_q100 == _q60 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q60, 0) && types_match (_q100, _q60)))
    7163              :                                               {
    7164            0 :                                                 {
    7165            0 :                                                   tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    7166            0 :                                                   tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    7167            0 :                                                   if (res) return res;
    7168              :                                                 }
    7169              :                                               }
    7170              :                                           }
    7171              :                                       }
    7172            0 :                                       if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
    7173              :                                         {
    7174            0 :                                           {
    7175            0 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
    7176            0 :                                             tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    7177            0 :                                             if (res) return res;
    7178              :                                           }
    7179              :                                         }
    7180              :                                     }
    7181              :                                 }
    7182              :                               break;
    7183              :                             }
    7184              :                           default:;
    7185              :                           }
    7186              :                         break;
    7187              :                       }
    7188            1 :                     case LT_EXPR:
    7189            1 :                       {
    7190            1 :                         tree _q50 = TREE_OPERAND (_q40, 0);
    7191            1 :                         tree _q51 = TREE_OPERAND (_q40, 1);
    7192            1 :                         if (integer_zerop (_q51))
    7193              :                           {
    7194            1 :                             if (integer_onep (_q21))
    7195              :                               {
    7196            1 :                                 {
    7197            1 :                                   tree _p1_pops[1];
    7198            1 :                                   if (tree_nop_convert (_p1, _p1_pops))
    7199              :                                     {
    7200            1 :                                       tree _q90 = _p1_pops[0];
    7201            1 :                                       if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
    7202              :                                         {
    7203            1 :                                           {
    7204            1 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    7205            1 :                                             tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    7206            1 :                                             if (res) return res;
    7207              :                                           }
    7208              :                                         }
    7209              :                                     }
    7210              :                                 }
    7211            0 :                                 if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    7212              :                                   {
    7213            0 :                                     {
    7214            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
    7215            0 :                                       tree res = generic_simplify_185 (loc, type, _p0, _p1, captures);
    7216            0 :                                       if (res) return res;
    7217              :                                     }
    7218              :                                   }
    7219              :                               }
    7220              :                           }
    7221              :                         break;
    7222              :                       }
    7223              :                     default:;
    7224              :                     }
    7225              :                   break;
    7226              :                 }
    7227              :               default:;
    7228              :               }
    7229              :           }
    7230              :       }
    7231          297 :         break;
    7232              :       }
    7233     66867724 :     default:;
    7234              :     }
    7235     66867724 :   switch (TREE_CODE (_p1))
    7236              :     {
    7237            0 :     case BIT_IOR_EXPR:
    7238            0 :       {
    7239            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7240            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7241            0 :         switch (TREE_CODE (_q30))
    7242              :           {
    7243            0 :           case NEGATE_EXPR:
    7244            0 :             {
    7245            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7246            0 :               switch (TREE_CODE (_q40))
    7247              :                 {
    7248            0 :                 CASE_CONVERT:
    7249            0 :                   {
    7250            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    7251            0 :                     switch (TREE_CODE (_q50))
    7252              :                       {
    7253            0 :                       case LT_EXPR:
    7254            0 :                         {
    7255            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    7256            0 :                           tree _q61 = TREE_OPERAND (_q50, 1);
    7257            0 :                           if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    7258              :                             {
    7259            0 :                               if (integer_zerop (_q61))
    7260              :                                 {
    7261            0 :                                   if (integer_onep (_q31))
    7262              :                                     {
    7263            0 :                                       {
    7264            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7265            0 :                                         tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7266            0 :                                         if (res) return res;
    7267              :                                       }
    7268              :                                     }
    7269              :                                 }
    7270              :                             }
    7271              :                           break;
    7272              :                         }
    7273              :                       default:;
    7274              :                       }
    7275              :                     break;
    7276              :                   }
    7277            0 :                 case LT_EXPR:
    7278            0 :                   {
    7279            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    7280            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    7281            0 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    7282              :                       {
    7283            0 :                         if (integer_zerop (_q51))
    7284              :                           {
    7285            0 :                             if (integer_onep (_q31))
    7286              :                               {
    7287            0 :                                 {
    7288            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7289            0 :                                   tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7290            0 :                                   if (res) return res;
    7291              :                                 }
    7292              :                               }
    7293              :                           }
    7294              :                       }
    7295              :                     break;
    7296              :                   }
    7297              :                 default:;
    7298              :                 }
    7299              :               break;
    7300              :             }
    7301            0 :           default:;
    7302              :           }
    7303            0 :       {
    7304            0 :         tree _q30_pops[1];
    7305            0 :         if (tree_nop_convert (_q30, _q30_pops))
    7306              :           {
    7307            0 :             tree _q40 = _q30_pops[0];
    7308            0 :             switch (TREE_CODE (_q40))
    7309              :               {
    7310            0 :               case NEGATE_EXPR:
    7311            0 :                 {
    7312            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    7313            0 :                   switch (TREE_CODE (_q50))
    7314              :                     {
    7315            0 :                     CASE_CONVERT:
    7316            0 :                       {
    7317            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    7318            0 :                         switch (TREE_CODE (_q60))
    7319              :                           {
    7320            0 :                           case LT_EXPR:
    7321            0 :                             {
    7322            0 :                               tree _q70 = TREE_OPERAND (_q60, 0);
    7323            0 :                               tree _q71 = TREE_OPERAND (_q60, 1);
    7324            0 :                               if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
    7325              :                                 {
    7326            0 :                                   if (integer_zerop (_q71))
    7327              :                                     {
    7328            0 :                                       if (integer_onep (_q31))
    7329              :                                         {
    7330            0 :                                           {
    7331            0 :                                             tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7332            0 :                                             tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7333            0 :                                             if (res) return res;
    7334              :                                           }
    7335              :                                         }
    7336              :                                     }
    7337              :                                 }
    7338              :                               break;
    7339              :                             }
    7340              :                           default:;
    7341              :                           }
    7342              :                         break;
    7343              :                       }
    7344            0 :                     case LT_EXPR:
    7345            0 :                       {
    7346            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    7347            0 :                         tree _q61 = TREE_OPERAND (_q50, 1);
    7348            0 :                         if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    7349              :                           {
    7350            0 :                             if (integer_zerop (_q61))
    7351              :                               {
    7352            0 :                                 if (integer_onep (_q31))
    7353              :                                   {
    7354            0 :                                     {
    7355            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7356            0 :                                       tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7357            0 :                                       if (res) return res;
    7358              :                                     }
    7359              :                                   }
    7360              :                               }
    7361              :                           }
    7362              :                         break;
    7363              :                       }
    7364              :                     default:;
    7365              :                     }
    7366              :                   break;
    7367              :                 }
    7368              :               default:;
    7369              :               }
    7370              :           }
    7371              :       }
    7372            0 :         break;
    7373              :       }
    7374     66867724 :     default:;
    7375              :     }
    7376     66867724 : {
    7377     66867724 :   tree _p1_pops[1];
    7378     66867724 :   if (tree_nop_convert (_p1, _p1_pops))
    7379              :     {
    7380      6888456 :       tree _q30 = _p1_pops[0];
    7381      6888456 :       switch (TREE_CODE (_q30))
    7382              :         {
    7383            0 :         case BIT_IOR_EXPR:
    7384            0 :           {
    7385            0 :             tree _q40 = TREE_OPERAND (_q30, 0);
    7386            0 :             tree _q41 = TREE_OPERAND (_q30, 1);
    7387            0 :             switch (TREE_CODE (_q40))
    7388              :               {
    7389            0 :               case NEGATE_EXPR:
    7390            0 :                 {
    7391            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    7392            0 :                   switch (TREE_CODE (_q50))
    7393              :                     {
    7394            0 :                     case LT_EXPR:
    7395            0 :                       {
    7396            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    7397            0 :                         tree _q61 = TREE_OPERAND (_q50, 1);
    7398            0 :                         if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    7399              :                           {
    7400            0 :                             if (integer_zerop (_q61))
    7401              :                               {
    7402            0 :                                 if (integer_onep (_q41))
    7403              :                                   {
    7404            0 :                                     {
    7405            0 :                                       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7406            0 :                                       tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7407            0 :                                       if (res) return res;
    7408              :                                     }
    7409              :                                   }
    7410              :                               }
    7411              :                           }
    7412              :                         break;
    7413              :                       }
    7414              :                     default:;
    7415              :                     }
    7416              :                   break;
    7417              :                 }
    7418            0 :               default:;
    7419              :               }
    7420            0 :           {
    7421            0 :             tree _q40_pops[1];
    7422            0 :             if (tree_nop_convert (_q40, _q40_pops))
    7423              :               {
    7424            0 :                 tree _q50 = _q40_pops[0];
    7425            0 :                 switch (TREE_CODE (_q50))
    7426              :                   {
    7427            0 :                   case NEGATE_EXPR:
    7428            0 :                     {
    7429            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    7430            0 :                       switch (TREE_CODE (_q60))
    7431              :                         {
    7432            0 :                         case LT_EXPR:
    7433            0 :                           {
    7434            0 :                             tree _q70 = TREE_OPERAND (_q60, 0);
    7435            0 :                             tree _q71 = TREE_OPERAND (_q60, 1);
    7436            0 :                             if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
    7437              :                               {
    7438            0 :                                 if (integer_zerop (_q71))
    7439              :                                   {
    7440            0 :                                     if (integer_onep (_q41))
    7441              :                                       {
    7442            0 :                                         {
    7443            0 :                                           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7444            0 :                                           tree res = generic_simplify_186 (loc, type, _p0, _p1, captures);
    7445            0 :                                           if (res) return res;
    7446              :                                         }
    7447              :                                       }
    7448              :                                   }
    7449              :                               }
    7450              :                             break;
    7451              :                           }
    7452              :                         default:;
    7453              :                         }
    7454              :                       break;
    7455              :                     }
    7456              :                   default:;
    7457              :                   }
    7458              :               }
    7459              :           }
    7460            0 :             break;
    7461              :           }
    7462              :         default:;
    7463              :         }
    7464              :     }
    7465              : }
    7466     66867724 :   switch (TREE_CODE (_p0))
    7467              :     {
    7468     31919204 :     CASE_CONVERT:
    7469     31919204 :       {
    7470     31919204 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7471     31919204 :         switch (TREE_CODE (_q20))
    7472              :           {
    7473        78658 :           case NEGATE_EXPR:
    7474        78658 :             {
    7475        78658 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7476        78658 :               switch (TREE_CODE (_p1))
    7477              :                 {
    7478          345 :                 CASE_CONVERT:
    7479          345 :                   {
    7480          345 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7481          345 :                     if (tree_negate_expr_p (_q50))
    7482              :                       {
    7483            0 :                         {
    7484            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
    7485            0 :                           tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7486            0 :                           if (res) return res;
    7487              :                         }
    7488              :                       }
    7489              :                     break;
    7490              :                   }
    7491        78658 :                 default:;
    7492              :                 }
    7493        78658 :             if (tree_negate_expr_p (_p1))
    7494              :               {
    7495        78057 :                 {
    7496        78057 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
    7497        78057 :                   tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7498        78057 :                   if (res) return res;
    7499              :                 }
    7500              :               }
    7501              :               break;
    7502              :             }
    7503            4 :           case LT_EXPR:
    7504            4 :             {
    7505            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7506            4 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7507            4 :               {
    7508            4 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7509            4 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, LT_EXPR);
    7510            4 :                 if (res) return res;
    7511              :               }
    7512            4 :               break;
    7513              :             }
    7514            6 :           case LE_EXPR:
    7515            6 :             {
    7516            6 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7517            6 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7518            6 :               {
    7519            6 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7520            6 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, LE_EXPR);
    7521            6 :                 if (res) return res;
    7522              :               }
    7523            6 :               break;
    7524              :             }
    7525            1 :           case EQ_EXPR:
    7526            1 :             {
    7527            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7528            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7529            1 :               {
    7530            1 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7531            1 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7532            1 :                 if (res) return res;
    7533              :               }
    7534            1 :               break;
    7535              :             }
    7536         1157 :           case NE_EXPR:
    7537         1157 :             {
    7538         1157 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7539         1157 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7540         1157 :               {
    7541         1157 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7542         1157 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, NE_EXPR);
    7543         1157 :                 if (res) return res;
    7544              :               }
    7545         1157 :               break;
    7546              :             }
    7547           19 :           case GE_EXPR:
    7548           19 :             {
    7549           19 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7550           19 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7551           19 :               {
    7552           19 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7553           19 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, GE_EXPR);
    7554           19 :                 if (res) return res;
    7555              :               }
    7556           19 :               break;
    7557              :             }
    7558           19 :           case GT_EXPR:
    7559           19 :             {
    7560           19 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7561           19 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7562           19 :               {
    7563           19 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7564           19 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, GT_EXPR);
    7565           19 :                 if (res) return res;
    7566              :               }
    7567           19 :               break;
    7568              :             }
    7569            0 :           case UNORDERED_EXPR:
    7570            0 :             {
    7571            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7572            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7573            0 :               {
    7574            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7575            0 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
    7576            0 :                 if (res) return res;
    7577              :               }
    7578            0 :               break;
    7579              :             }
    7580            0 :           case ORDERED_EXPR:
    7581            0 :             {
    7582            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7583            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7584            0 :               {
    7585            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7586            0 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
    7587            0 :                 if (res) return res;
    7588              :               }
    7589            0 :               break;
    7590              :             }
    7591            0 :           case UNLT_EXPR:
    7592            0 :             {
    7593            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7594            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7595            0 :               {
    7596            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7597            0 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, UNLT_EXPR);
    7598            0 :                 if (res) return res;
    7599              :               }
    7600            0 :               break;
    7601              :             }
    7602            0 :           case UNLE_EXPR:
    7603            0 :             {
    7604            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7605            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7606            0 :               {
    7607            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7608            0 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, UNLE_EXPR);
    7609            0 :                 if (res) return res;
    7610              :               }
    7611            0 :               break;
    7612              :             }
    7613            0 :           case UNGT_EXPR:
    7614            0 :             {
    7615            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7616            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7617            0 :               {
    7618            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7619            0 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, UNGT_EXPR);
    7620            0 :                 if (res) return res;
    7621              :               }
    7622            0 :               break;
    7623              :             }
    7624            0 :           case UNGE_EXPR:
    7625            0 :             {
    7626            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7627            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7628            0 :               {
    7629            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7630            0 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, UNGE_EXPR);
    7631            0 :                 if (res) return res;
    7632              :               }
    7633            0 :               break;
    7634              :             }
    7635            0 :           case UNEQ_EXPR:
    7636            0 :             {
    7637            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7638            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7639            0 :               {
    7640            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7641            0 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
    7642            0 :                 if (res) return res;
    7643              :               }
    7644            0 :               break;
    7645              :             }
    7646            0 :           case LTGT_EXPR:
    7647            0 :             {
    7648            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7649            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7650            0 :               {
    7651            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
    7652            0 :                 tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, LTGT_EXPR);
    7653            0 :                 if (res) return res;
    7654              :               }
    7655            0 :               break;
    7656              :             }
    7657     31909748 :           default:;
    7658              :           }
    7659     31909748 :       if (tree_negate_expr_p (_q20))
    7660              :         {
    7661        85470 :           switch (TREE_CODE (_p1))
    7662              :             {
    7663         2512 :             CASE_CONVERT:
    7664         2512 :               {
    7665         2512 :                 tree _q40 = TREE_OPERAND (_p1, 0);
    7666         2512 :                 switch (TREE_CODE (_q40))
    7667              :                   {
    7668            0 :                   case NEGATE_EXPR:
    7669            0 :                     {
    7670            0 :                       tree _q50 = TREE_OPERAND (_q40, 0);
    7671            0 :                       {
    7672            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
    7673            0 :                         tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7674            0 :                         if (res) return res;
    7675              :                       }
    7676            0 :                       break;
    7677              :                     }
    7678              :                   default:;
    7679              :                   }
    7680              :                 break;
    7681              :               }
    7682            6 :             case NEGATE_EXPR:
    7683            6 :               {
    7684            6 :                 tree _q40 = TREE_OPERAND (_p1, 0);
    7685            6 :                 {
    7686            6 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    7687            6 :                   tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7688            6 :                   if (res) return res;
    7689              :                 }
    7690            0 :                 break;
    7691              :               }
    7692              :             default:;
    7693              :             }
    7694              :         }
    7695              :         break;
    7696              :       }
    7697       415871 :     case NEGATE_EXPR:
    7698       415871 :       {
    7699       415871 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7700       415871 :         switch (TREE_CODE (_p1))
    7701              :           {
    7702       149442 :           CASE_CONVERT:
    7703       149442 :             {
    7704       149442 :               tree _q40 = TREE_OPERAND (_p1, 0);
    7705       149442 :               if (tree_negate_expr_p (_q40))
    7706              :                 {
    7707            0 :                   {
    7708            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    7709            0 :                     tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7710            0 :                     if (res) return res;
    7711              :                   }
    7712              :                 }
    7713              :               break;
    7714              :             }
    7715       415871 :           default:;
    7716              :           }
    7717       415871 :       if (tree_negate_expr_p (_p1))
    7718              :         {
    7719        23838 :           {
    7720        23838 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7721        23838 :             tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7722        23838 :             if (res) return res;
    7723              :           }
    7724              :         }
    7725              :         break;
    7726              :       }
    7727     66834424 :     default:;
    7728              :     }
    7729     66834424 : if (tree_negate_expr_p (_p0))
    7730              :   {
    7731       662810 :     switch (TREE_CODE (_p1))
    7732              :       {
    7733       153817 :       CASE_CONVERT:
    7734       153817 :         {
    7735       153817 :           tree _q30 = TREE_OPERAND (_p1, 0);
    7736       153817 :           switch (TREE_CODE (_q30))
    7737              :             {
    7738            0 :             case NEGATE_EXPR:
    7739            0 :               {
    7740            0 :                 tree _q40 = TREE_OPERAND (_q30, 0);
    7741            0 :                 {
    7742            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    7743            0 :                   tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7744            0 :                   if (res) return res;
    7745              :                 }
    7746            0 :                 break;
    7747              :               }
    7748              :             default:;
    7749              :             }
    7750              :           break;
    7751              :         }
    7752            6 :       case NEGATE_EXPR:
    7753            6 :         {
    7754            6 :           tree _q30 = TREE_OPERAND (_p1, 0);
    7755            6 :           {
    7756            6 :             tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    7757            6 :             tree res = generic_simplify_187 (loc, type, _p0, _p1, captures);
    7758            6 :             if (res) return res;
    7759              :           }
    7760            0 :           break;
    7761              :         }
    7762              :       default:;
    7763              :       }
    7764              :   }
    7765     66834418 : if (tree_zero_one_valued_p (_p0))
    7766              :   {
    7767       193003 :     if (tree_zero_one_valued_p (_p1))
    7768              :       {
    7769        11927 :         {
    7770        11927 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    7771        11927 :           if (INTEGRAL_TYPE_P (type)
    7772              : )
    7773              :             {
    7774        11927 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1403;
    7775        11927 :               {
    7776        11927 :                 tree res_op0;
    7777        11927 :                 res_op0 = captures[0];
    7778        11927 :                 tree res_op1;
    7779        11927 :                 res_op1 = captures[1];
    7780        11927 :                 tree _r;
    7781        11927 :                 _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    7782        11927 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 957, __FILE__, __LINE__, true);
    7783        11927 :                 return _r;
    7784              :               }
    7785            0 : next_after_fail1403:;
    7786              :             }
    7787              :         }
    7788              :       }
    7789              :   }
    7790     66822491 :   switch (TREE_CODE (_p1))
    7791              :     {
    7792      6959541 :     CASE_CONVERT:
    7793      6959541 :       {
    7794      6959541 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7795      6959541 :         switch (TREE_CODE (_q30))
    7796              :           {
    7797            0 :           case LT_EXPR:
    7798            0 :             {
    7799            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7800            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7801            0 :               {
    7802            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7803            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, LT_EXPR);
    7804            0 :                 if (res) return res;
    7805              :               }
    7806            0 :               break;
    7807              :             }
    7808            0 :           case LE_EXPR:
    7809            0 :             {
    7810            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7811            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7812            0 :               {
    7813            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7814            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, LE_EXPR);
    7815            0 :                 if (res) return res;
    7816              :               }
    7817            0 :               break;
    7818              :             }
    7819            0 :           case EQ_EXPR:
    7820            0 :             {
    7821            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7822            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7823            0 :               {
    7824            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7825            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7826            0 :                 if (res) return res;
    7827              :               }
    7828            0 :               break;
    7829              :             }
    7830            0 :           case NE_EXPR:
    7831            0 :             {
    7832            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7833            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7834            0 :               {
    7835            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7836            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, NE_EXPR);
    7837            0 :                 if (res) return res;
    7838              :               }
    7839            0 :               break;
    7840              :             }
    7841            0 :           case GE_EXPR:
    7842            0 :             {
    7843            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7844            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7845            0 :               {
    7846            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7847            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, GE_EXPR);
    7848            0 :                 if (res) return res;
    7849              :               }
    7850            0 :               break;
    7851              :             }
    7852            0 :           case GT_EXPR:
    7853            0 :             {
    7854            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7855            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7856            0 :               {
    7857            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7858            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, GT_EXPR);
    7859            0 :                 if (res) return res;
    7860              :               }
    7861            0 :               break;
    7862              :             }
    7863            0 :           case UNORDERED_EXPR:
    7864            0 :             {
    7865            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7866            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7867            0 :               {
    7868            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7869            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
    7870            0 :                 if (res) return res;
    7871              :               }
    7872            0 :               break;
    7873              :             }
    7874            0 :           case ORDERED_EXPR:
    7875            0 :             {
    7876            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7877            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7878            0 :               {
    7879            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7880            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
    7881            0 :                 if (res) return res;
    7882              :               }
    7883            0 :               break;
    7884              :             }
    7885            0 :           case UNLT_EXPR:
    7886            0 :             {
    7887            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7888            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7889            0 :               {
    7890            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7891            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, UNLT_EXPR);
    7892            0 :                 if (res) return res;
    7893              :               }
    7894            0 :               break;
    7895              :             }
    7896            0 :           case UNLE_EXPR:
    7897            0 :             {
    7898            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7899            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7900            0 :               {
    7901            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7902            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, UNLE_EXPR);
    7903            0 :                 if (res) return res;
    7904              :               }
    7905            0 :               break;
    7906              :             }
    7907            0 :           case UNGT_EXPR:
    7908            0 :             {
    7909            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7910            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7911            0 :               {
    7912            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7913            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, UNGT_EXPR);
    7914            0 :                 if (res) return res;
    7915              :               }
    7916            0 :               break;
    7917              :             }
    7918            0 :           case UNGE_EXPR:
    7919            0 :             {
    7920            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7921            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7922            0 :               {
    7923            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7924            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, UNGE_EXPR);
    7925            0 :                 if (res) return res;
    7926              :               }
    7927            0 :               break;
    7928              :             }
    7929            0 :           case UNEQ_EXPR:
    7930            0 :             {
    7931            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7932            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7933            0 :               {
    7934            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7935            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
    7936            0 :                 if (res) return res;
    7937              :               }
    7938            0 :               break;
    7939              :             }
    7940            0 :           case LTGT_EXPR:
    7941            0 :             {
    7942            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7943            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7944            0 :               {
    7945            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
    7946            0 :                 tree res = generic_simplify_189 (loc, type, _p0, _p1, captures, LTGT_EXPR);
    7947            0 :                 if (res) return res;
    7948              :               }
    7949            0 :               break;
    7950              :             }
    7951              :           default:;
    7952              :           }
    7953              :         break;
    7954              :       }
    7955     66822491 :     default:;
    7956              :     }
    7957     66822491 :   switch (TREE_CODE (_p0))
    7958              :     {
    7959            3 :     case MIN_EXPR:
    7960            3 :       {
    7961            3 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7962            3 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7963            3 :         switch (TREE_CODE (_p1))
    7964              :           {
    7965            0 :           case MAX_EXPR:
    7966            0 :             {
    7967            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7968            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7969            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7970              :                 {
    7971            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7972              :                     {
    7973            0 :                       {
    7974            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7975            0 :                         if (!HONOR_NANS (captures[0])
    7976              : )
    7977              :                           {
    7978            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1404;
    7979            0 :                             {
    7980            0 :                               tree res_op0;
    7981            0 :                               res_op0 = captures[0];
    7982            0 :                               tree res_op1;
    7983            0 :                               res_op1 = captures[1];
    7984            0 :                               tree _r;
    7985            0 :                               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    7986            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
    7987            0 :                               return _r;
    7988              :                             }
    7989            0 : next_after_fail1404:;
    7990              :                           }
    7991              :                       }
    7992              :                     }
    7993              :                 }
    7994            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7995              :                 {
    7996            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7997              :                     {
    7998            0 :                       {
    7999            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8000            0 :                         if (!HONOR_NANS (captures[0])
    8001              : )
    8002              :                           {
    8003            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1405;
    8004            0 :                             {
    8005            0 :                               tree res_op0;
    8006            0 :                               res_op0 = captures[0];
    8007            0 :                               tree res_op1;
    8008            0 :                               res_op1 = captures[1];
    8009            0 :                               tree _r;
    8010            0 :                               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    8011            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
    8012            0 :                               return _r;
    8013              :                             }
    8014            0 : next_after_fail1405:;
    8015              :                           }
    8016              :                       }
    8017              :                     }
    8018              :                 }
    8019              :               break;
    8020              :             }
    8021              :           default:;
    8022              :           }
    8023              :         break;
    8024              :       }
    8025          146 :     case MAX_EXPR:
    8026          146 :       {
    8027          146 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8028          146 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8029          146 :         switch (TREE_CODE (_p1))
    8030              :           {
    8031            0 :           case MIN_EXPR:
    8032            0 :             {
    8033            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8034            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8035            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8036              :                 {
    8037            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8038              :                     {
    8039            0 :                       {
    8040            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8041            0 :                         if (!HONOR_NANS (captures[0])
    8042              : )
    8043              :                           {
    8044            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1406;
    8045            0 :                             {
    8046            0 :                               tree res_op0;
    8047            0 :                               res_op0 = captures[0];
    8048            0 :                               tree res_op1;
    8049            0 :                               res_op1 = captures[1];
    8050            0 :                               tree _r;
    8051            0 :                               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    8052            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
    8053            0 :                               return _r;
    8054              :                             }
    8055            0 : next_after_fail1406:;
    8056              :                           }
    8057              :                       }
    8058              :                     }
    8059              :                 }
    8060            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8061              :                 {
    8062            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8063              :                     {
    8064            0 :                       {
    8065            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8066            0 :                         if (!HONOR_NANS (captures[0])
    8067              : )
    8068              :                           {
    8069            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1407;
    8070            0 :                             {
    8071            0 :                               tree res_op0;
    8072            0 :                               res_op0 = captures[0];
    8073            0 :                               tree res_op1;
    8074            0 :                               res_op1 = captures[1];
    8075            0 :                               tree _r;
    8076            0 :                               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    8077            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
    8078            0 :                               return _r;
    8079              :                             }
    8080            0 : next_after_fail1407:;
    8081              :                           }
    8082              :                       }
    8083              :                     }
    8084              :                 }
    8085              :               break;
    8086              :             }
    8087              :           default:;
    8088              :           }
    8089              :         break;
    8090              :       }
    8091     31897818 :     CASE_CONVERT:
    8092     31897818 :       {
    8093     31897818 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8094     31897818 :         switch (TREE_CODE (_q20))
    8095              :           {
    8096           82 :           case BIT_AND_EXPR:
    8097           82 :             {
    8098           82 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8099           82 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8100           82 :               switch (TREE_CODE (_q30))
    8101              :                 {
    8102            0 :                 CASE_CONVERT:
    8103            0 :                   {
    8104            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8105            0 :                     switch (TREE_CODE (_q40))
    8106              :                       {
    8107            0 :                       case RSHIFT_EXPR:
    8108            0 :                         {
    8109            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    8110            0 :                           tree _q51 = TREE_OPERAND (_q40, 1);
    8111            0 :                           switch (TREE_CODE (_q51))
    8112              :                             {
    8113            0 :                             case INTEGER_CST:
    8114            0 :                               {
    8115            0 :                                 switch (TREE_CODE (_q31))
    8116              :                                   {
    8117            0 :                                   case INTEGER_CST:
    8118            0 :                                     {
    8119            0 :                                       switch (TREE_CODE (_p1))
    8120              :                                         {
    8121            0 :                                         case INTEGER_CST:
    8122            0 :                                           {
    8123            0 :                                             {
    8124            0 :                                               tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _p1 };
    8125            0 :                                               tree res = generic_simplify_190 (loc, type, _p0, _p1, captures);
    8126            0 :                                               if (res) return res;
    8127              :                                             }
    8128            0 :                                             break;
    8129              :                                           }
    8130              :                                         default:;
    8131              :                                         }
    8132              :                                       break;
    8133              :                                     }
    8134              :                                   default:;
    8135              :                                   }
    8136              :                                 break;
    8137              :                               }
    8138              :                             default:;
    8139              :                             }
    8140              :                           break;
    8141              :                         }
    8142              :                       default:;
    8143              :                       }
    8144              :                     break;
    8145              :                   }
    8146              :                 default:;
    8147              :                 }
    8148              :               break;
    8149              :             }
    8150        31607 :           case EXACT_DIV_EXPR:
    8151        31607 :             {
    8152        31607 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8153        31607 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8154        31607 :               switch (TREE_CODE (_p1))
    8155              :                 {
    8156            0 :                 CASE_CONVERT:
    8157            0 :                   {
    8158            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    8159            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
    8160              :                       {
    8161            0 :                         {
    8162            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
    8163            0 :                           tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    8164            0 :                           if (res) return res;
    8165              :                         }
    8166              :                       }
    8167              :                     break;
    8168              :                   }
    8169        31607 :                 default:;
    8170              :                 }
    8171        31607 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
    8172              :                 {
    8173        21862 :                   {
    8174        21862 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
    8175        21862 :                     tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    8176        21862 :                     if (res) return res;
    8177              :                   }
    8178              :                 }
    8179         9745 :               switch (TREE_CODE (_q31))
    8180              :                 {
    8181         9745 :                 case INTEGER_CST:
    8182         9745 :                   {
    8183         9745 :                     if (poly_int_tree_p (_p1))
    8184              :                       {
    8185         9745 :                         {
    8186         9745 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    8187         9745 :                           tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    8188         9745 :                           if (res) return res;
    8189              :                         }
    8190              :                       }
    8191              :                     break;
    8192              :                   }
    8193              :                 default:;
    8194              :                 }
    8195              :               break;
    8196              :             }
    8197      1346700 :           case PLUS_EXPR:
    8198      1346700 :             {
    8199      1346700 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8200      1346700 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8201      1346700 :               switch (TREE_CODE (_q30))
    8202              :                 {
    8203       175949 :                 CASE_CONVERT:
    8204       175949 :                   {
    8205       175949 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8206       175949 :                     switch (TREE_CODE (_q40))
    8207              :                       {
    8208            0 :                       case EXACT_DIV_EXPR:
    8209            0 :                         {
    8210            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    8211            0 :                           tree _q51 = TREE_OPERAND (_q40, 1);
    8212            0 :                           switch (TREE_CODE (_q51))
    8213              :                             {
    8214            0 :                             case INTEGER_CST:
    8215            0 :                               {
    8216            0 :                                 if (poly_int_tree_p (_q31))
    8217              :                                   {
    8218            0 :                                     if (poly_int_tree_p (_p1))
    8219              :                                       {
    8220            0 :                                         {
    8221            0 :                                           tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _p1 };
    8222            0 :                                           tree res = generic_simplify_193 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8223            0 :                                           if (res) return res;
    8224              :                                         }
    8225              :                                       }
    8226              :                                   }
    8227              :                                 break;
    8228              :                               }
    8229              :                             default:;
    8230              :                             }
    8231              :                           break;
    8232              :                         }
    8233              :                       default:;
    8234              :                       }
    8235              :                     break;
    8236              :                   }
    8237          112 :                 case EXACT_DIV_EXPR:
    8238          112 :                   {
    8239          112 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8240          112 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8241          112 :                     switch (TREE_CODE (_q41))
    8242              :                       {
    8243          112 :                       case INTEGER_CST:
    8244          112 :                         {
    8245          112 :                           if (poly_int_tree_p (_q31))
    8246              :                             {
    8247          112 :                               if (poly_int_tree_p (_p1))
    8248              :                                 {
    8249          112 :                                   {
    8250          112 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _p1 };
    8251          112 :                                     tree res = generic_simplify_193 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8252          112 :                                     if (res) return res;
    8253              :                                   }
    8254              :                                 }
    8255              :                             }
    8256              :                           break;
    8257              :                         }
    8258              :                       default:;
    8259              :                       }
    8260              :                     break;
    8261              :                   }
    8262              :                 default:;
    8263              :                 }
    8264              :               break;
    8265              :             }
    8266        99504 :           case MINUS_EXPR:
    8267        99504 :             {
    8268        99504 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8269        99504 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8270        99504 :               switch (TREE_CODE (_q30))
    8271              :                 {
    8272        25519 :                 CASE_CONVERT:
    8273        25519 :                   {
    8274        25519 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8275        25519 :                     switch (TREE_CODE (_q40))
    8276              :                       {
    8277            0 :                       case EXACT_DIV_EXPR:
    8278            0 :                         {
    8279            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    8280            0 :                           tree _q51 = TREE_OPERAND (_q40, 1);
    8281            0 :                           switch (TREE_CODE (_q51))
    8282              :                             {
    8283            0 :                             case INTEGER_CST:
    8284            0 :                               {
    8285            0 :                                 if (poly_int_tree_p (_q31))
    8286              :                                   {
    8287            0 :                                     if (poly_int_tree_p (_p1))
    8288              :                                       {
    8289            0 :                                         {
    8290            0 :                                           tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _p1 };
    8291            0 :                                           tree res = generic_simplify_193 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    8292            0 :                                           if (res) return res;
    8293              :                                         }
    8294              :                                       }
    8295              :                                   }
    8296              :                                 break;
    8297              :                               }
    8298              :                             default:;
    8299              :                             }
    8300              :                           break;
    8301              :                         }
    8302              :                       default:;
    8303              :                       }
    8304              :                     break;
    8305              :                   }
    8306            0 :                 case EXACT_DIV_EXPR:
    8307            0 :                   {
    8308            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8309            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8310            0 :                     switch (TREE_CODE (_q41))
    8311              :                       {
    8312            0 :                       case INTEGER_CST:
    8313            0 :                         {
    8314            0 :                           if (poly_int_tree_p (_q31))
    8315              :                             {
    8316            0 :                               if (poly_int_tree_p (_p1))
    8317              :                                 {
    8318            0 :                                   {
    8319            0 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _p1 };
    8320            0 :                                     tree res = generic_simplify_193 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    8321            0 :                                     if (res) return res;
    8322              :                                   }
    8323              :                                 }
    8324              :                             }
    8325              :                           break;
    8326              :                         }
    8327              :                       default:;
    8328              :                       }
    8329              :                     break;
    8330              :                   }
    8331              :                 default:;
    8332              :                 }
    8333              :               break;
    8334              :             }
    8335              :           default:;
    8336              :           }
    8337              :         break;
    8338              :       }
    8339        63906 :     case BIT_AND_EXPR:
    8340        63906 :       {
    8341        63906 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8342        63906 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8343        63906 :         switch (TREE_CODE (_q20))
    8344              :           {
    8345          275 :           case RSHIFT_EXPR:
    8346          275 :             {
    8347          275 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8348          275 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8349          275 :               switch (TREE_CODE (_q31))
    8350              :                 {
    8351           14 :                 case INTEGER_CST:
    8352           14 :                   {
    8353           14 :                     switch (TREE_CODE (_q21))
    8354              :                       {
    8355           14 :                       case INTEGER_CST:
    8356           14 :                         {
    8357           14 :                           switch (TREE_CODE (_p1))
    8358              :                             {
    8359           14 :                             case INTEGER_CST:
    8360           14 :                               {
    8361           14 :                                 {
    8362           14 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
    8363           14 :                                   tree res = generic_simplify_190 (loc, type, _p0, _p1, captures);
    8364           14 :                                   if (res) return res;
    8365              :                                 }
    8366            8 :                                 break;
    8367              :                               }
    8368              :                             default:;
    8369              :                             }
    8370              :                           break;
    8371              :                         }
    8372              :                       default:;
    8373              :                       }
    8374              :                     break;
    8375              :                   }
    8376              :                 default:;
    8377              :                 }
    8378              :               break;
    8379              :             }
    8380              :           default:;
    8381              :           }
    8382              :         break;
    8383              :       }
    8384       183991 :     case EXACT_DIV_EXPR:
    8385       183991 :       {
    8386       183991 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8387       183991 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8388       183991 :         switch (TREE_CODE (_p1))
    8389              :           {
    8390          104 :           CASE_CONVERT:
    8391          104 :             {
    8392          104 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8393          104 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
    8394              :                 {
    8395            0 :                   {
    8396            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
    8397            0 :                     tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    8398            0 :                     if (res) return res;
    8399              :                   }
    8400              :                 }
    8401              :               break;
    8402              :             }
    8403       183991 :           default:;
    8404              :           }
    8405       183991 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
    8406              :           {
    8407        21948 :             {
    8408        21948 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
    8409        21948 :               tree res = generic_simplify_191 (loc, type, _p0, _p1, captures);
    8410        21948 :               if (res) return res;
    8411              :             }
    8412              :           }
    8413       162043 :         switch (TREE_CODE (_q21))
    8414              :           {
    8415       162043 :           case INTEGER_CST:
    8416       162043 :             {
    8417       162043 :               if (poly_int_tree_p (_p1))
    8418              :                 {
    8419       161939 :                   {
    8420       161939 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8421       161939 :                     tree res = generic_simplify_192 (loc, type, _p0, _p1, captures);
    8422       161939 :                     if (res) return res;
    8423              :                   }
    8424              :                 }
    8425              :               break;
    8426              :             }
    8427              :           default:;
    8428              :           }
    8429              :         break;
    8430              :       }
    8431      7230251 :     case PLUS_EXPR:
    8432      7230251 :       {
    8433      7230251 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8434      7230251 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8435      7230251 :         switch (TREE_CODE (_q20))
    8436              :           {
    8437      3409757 :           CASE_CONVERT:
    8438      3409757 :             {
    8439      3409757 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8440      3409757 :               switch (TREE_CODE (_q30))
    8441              :                 {
    8442         5650 :                 case EXACT_DIV_EXPR:
    8443         5650 :                   {
    8444         5650 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8445         5650 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8446         5650 :                     switch (TREE_CODE (_q41))
    8447              :                       {
    8448         5650 :                       case INTEGER_CST:
    8449         5650 :                         {
    8450         5650 :                           if (poly_int_tree_p (_q21))
    8451              :                             {
    8452         5650 :                               if (poly_int_tree_p (_p1))
    8453              :                                 {
    8454         5650 :                                   {
    8455         5650 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q21, _p1 };
    8456         5650 :                                     tree res = generic_simplify_193 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8457         5650 :                                     if (res) return res;
    8458              :                                   }
    8459              :                                 }
    8460              :                             }
    8461              :                           break;
    8462              :                         }
    8463              :                       default:;
    8464              :                       }
    8465              :                     break;
    8466              :                   }
    8467              :                 default:;
    8468              :                 }
    8469              :               break;
    8470              :             }
    8471            0 :           case EXACT_DIV_EXPR:
    8472            0 :             {
    8473            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8474            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8475            0 :               switch (TREE_CODE (_q31))
    8476              :                 {
    8477            0 :                 case INTEGER_CST:
    8478            0 :                   {
    8479            0 :                     if (poly_int_tree_p (_q21))
    8480              :                       {
    8481            0 :                         if (poly_int_tree_p (_p1))
    8482              :                           {
    8483            0 :                             {
    8484            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
    8485            0 :                               tree res = generic_simplify_193 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8486            0 :                               if (res) return res;
    8487              :                             }
    8488              :                           }
    8489              :                       }
    8490              :                     break;
    8491              :                   }
    8492              :                 default:;
    8493              :                 }
    8494              :               break;
    8495              :             }
    8496              :           default:;
    8497              :           }
    8498              :         break;
    8499              :       }
    8500      1116458 :     case MINUS_EXPR:
    8501      1116458 :       {
    8502      1116458 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8503      1116458 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8504      1116458 :         switch (TREE_CODE (_q20))
    8505              :           {
    8506       264984 :           CASE_CONVERT:
    8507       264984 :             {
    8508       264984 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8509       264984 :               switch (TREE_CODE (_q30))
    8510              :                 {
    8511            0 :                 case EXACT_DIV_EXPR:
    8512            0 :                   {
    8513            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8514            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8515            0 :                     switch (TREE_CODE (_q41))
    8516              :                       {
    8517            0 :                       case INTEGER_CST:
    8518            0 :                         {
    8519            0 :                           if (poly_int_tree_p (_q21))
    8520              :                             {
    8521            0 :                               if (poly_int_tree_p (_p1))
    8522              :                                 {
    8523            0 :                                   {
    8524            0 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q21, _p1 };
    8525            0 :                                     tree res = generic_simplify_193 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    8526            0 :                                     if (res) return res;
    8527              :                                   }
    8528              :                                 }
    8529              :                             }
    8530              :                           break;
    8531              :                         }
    8532              :                       default:;
    8533              :                       }
    8534              :                     break;
    8535              :                   }
    8536              :                 default:;
    8537              :                 }
    8538              :               break;
    8539              :             }
    8540            0 :           case EXACT_DIV_EXPR:
    8541            0 :             {
    8542            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8543            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8544            0 :               switch (TREE_CODE (_q31))
    8545              :                 {
    8546            0 :                 case INTEGER_CST:
    8547            0 :                   {
    8548            0 :                     if (poly_int_tree_p (_q21))
    8549              :                       {
    8550            0 :                         if (poly_int_tree_p (_p1))
    8551              :                           {
    8552            0 :                             {
    8553            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
    8554            0 :                               tree res = generic_simplify_193 (loc, type, _p0, _p1, captures, MINUS_EXPR);
    8555            0 :                               if (res) return res;
    8556              :                             }
    8557              :                           }
    8558              :                       }
    8559              :                     break;
    8560              :                   }
    8561              :                 default:;
    8562              :                 }
    8563              :               break;
    8564              :             }
    8565              :           default:;
    8566              :           }
    8567              :         break;
    8568              :       }
    8569     66721701 :     default:;
    8570              :     }
    8571     66721701 :   if (integer_minus_onep (_p1))
    8572              :     {
    8573       267085 :       {
    8574       267085 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8575       267085 :         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1408;
    8576       267085 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1408;
    8577       267085 :         {
    8578       267085 :           tree res_op0;
    8579       267085 :           res_op0 = captures[0];
    8580       267085 :           tree _r;
    8581       267085 :           _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    8582       267085 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 958, __FILE__, __LINE__, true);
    8583       267085 :           return _r;
    8584              :         }
    8585              : next_after_fail1408:;
    8586              :       }
    8587              :     }
    8588     66454616 :   switch (TREE_CODE (_p0))
    8589              :     {
    8590      4608942 :     case MULT_EXPR:
    8591      4608942 :       {
    8592      4608942 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8593      4608942 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8594      4608942 :         switch (TREE_CODE (_q21))
    8595              :           {
    8596       127841 :           case INTEGER_CST:
    8597       127841 :             {
    8598       127841 :               {
    8599       127841 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8600       127841 :                 tree res = generic_simplify_194 (loc, type, _p0, _p1, captures);
    8601       127841 :                 if (res) return res;
    8602              :               }
    8603           30 :               break;
    8604              :             }
    8605              :           default:;
    8606              :           }
    8607              :         break;
    8608              :       }
    8609     66326805 :     default:;
    8610              :     }
    8611     66326805 :   switch (TREE_CODE (_p1))
    8612              :     {
    8613        23574 :     case MULT_EXPR:
    8614        23574 :       {
    8615        23574 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8616        23574 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8617        23574 :         switch (TREE_CODE (_q31))
    8618              :           {
    8619        17211 :           case INTEGER_CST:
    8620        17211 :             {
    8621        17211 :               {
    8622        17211 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
    8623        17211 :                 tree res = generic_simplify_194 (loc, type, _p0, _p1, captures);
    8624        17211 :                 if (res) return res;
    8625              :               }
    8626            0 :               break;
    8627              :             }
    8628              :           default:;
    8629              :           }
    8630              :         break;
    8631              :       }
    8632     66309594 :     default:;
    8633              :     }
    8634     66309594 :   switch (TREE_CODE (_p0))
    8635              :     {
    8636           36 :     case VEC_COND_EXPR:
    8637           36 :       {
    8638           36 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8639           36 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8640           36 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8641           36 :         switch (TREE_CODE (_p1))
    8642              :           {
    8643            0 :           case VEC_COND_EXPR:
    8644            0 :             {
    8645            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8646            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8647            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8648            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    8649              :                 {
    8650            0 :                   {
    8651            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    8652            0 :                     if (VECTOR_TYPE_P (type)
    8653            0 :  && (TREE_CODE_CLASS (MULT_EXPR) != tcc_comparison
    8654              :  || types_match (type, TREE_TYPE (captures[2]))
    8655              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8656              :  || (optimize_vectors_before_lowering_p ()
    8657              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8658              : )
    8659              :                       {
    8660            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1409;
    8661            0 :                         {
    8662            0 :                           tree res_op0;
    8663            0 :                           res_op0 = captures[1];
    8664            0 :                           tree res_op1;
    8665            0 :                           {
    8666            0 :                             tree _o1[2], _r1;
    8667            0 :                             _o1[0] = captures[2];
    8668            0 :                             _o1[1] = captures[5];
    8669            0 :                             _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8670            0 :                             if (EXPR_P (_r1))
    8671            0 :                               goto next_after_fail1409;
    8672            0 :                             res_op1 = _r1;
    8673              :                           }
    8674            0 :                           tree res_op2;
    8675            0 :                           {
    8676            0 :                             tree _o1[2], _r1;
    8677            0 :                             _o1[0] = captures[3];
    8678            0 :                             _o1[1] = captures[6];
    8679            0 :                             _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8680            0 :                             if (EXPR_P (_r1))
    8681            0 :                               goto next_after_fail1409;
    8682            0 :                             res_op2 = _r1;
    8683              :                           }
    8684            0 :                           tree _r;
    8685            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8686            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
    8687            0 :                           return _r;
    8688              :                         }
    8689            0 : next_after_fail1409:;
    8690              :                       }
    8691              :                   }
    8692              :                 }
    8693              :               break;
    8694              :             }
    8695           36 :           default:;
    8696              :           }
    8697           36 :         {
    8698           36 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    8699           36 :           if (VECTOR_TYPE_P (type)
    8700           36 :  && (TREE_CODE_CLASS (MULT_EXPR) != tcc_comparison
    8701              :  || types_match (type, TREE_TYPE (captures[2]))
    8702              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8703              :  || (optimize_vectors_before_lowering_p ()
    8704              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8705              : )
    8706              :             {
    8707           36 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1410;
    8708           36 :               {
    8709           36 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1410;
    8710            0 :                 tree res_op0;
    8711            0 :                 res_op0 = captures[1];
    8712            0 :                 tree res_op1;
    8713            0 :                 {
    8714            0 :                   tree _o1[2], _r1;
    8715            0 :                   _o1[0] = captures[2];
    8716            0 :                   _o1[1] = unshare_expr (captures[4]);
    8717            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8718            0 :                   if (EXPR_P (_r1))
    8719            0 :                     goto next_after_fail1410;
    8720            0 :                   res_op1 = _r1;
    8721              :                 }
    8722            0 :                 tree res_op2;
    8723            0 :                 {
    8724            0 :                   tree _o1[2], _r1;
    8725            0 :                   _o1[0] = captures[3];
    8726            0 :                   _o1[1] = captures[4];
    8727            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8728            0 :                   if (EXPR_P (_r1))
    8729            0 :                     goto next_after_fail1410;
    8730            0 :                   res_op2 = _r1;
    8731              :                 }
    8732            0 :                 tree _r;
    8733            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8734            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
    8735            0 :                 return _r;
    8736              :               }
    8737           36 : next_after_fail1410:;
    8738              :             }
    8739              :         }
    8740           36 :         break;
    8741              :       }
    8742     66309594 :     default:;
    8743              :     }
    8744     66309594 :   switch (TREE_CODE (_p1))
    8745              :     {
    8746            0 :     case VEC_COND_EXPR:
    8747            0 :       {
    8748            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8749            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8750            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8751            0 :         {
    8752            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8753            0 :           if (VECTOR_TYPE_P (type)
    8754            0 :  && (TREE_CODE_CLASS (MULT_EXPR) != tcc_comparison
    8755              :  || types_match (type, TREE_TYPE (captures[3]))
    8756              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    8757              :  || (optimize_vectors_before_lowering_p ()
    8758              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    8759              : )
    8760              :             {
    8761            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1411;
    8762            0 :               {
    8763            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1411;
    8764            0 :                 tree res_op0;
    8765            0 :                 res_op0 = captures[2];
    8766            0 :                 tree res_op1;
    8767            0 :                 {
    8768            0 :                   tree _o1[2], _r1;
    8769            0 :                   _o1[0] = unshare_expr (captures[0]);
    8770            0 :                   _o1[1] = captures[3];
    8771            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8772            0 :                   if (EXPR_P (_r1))
    8773            0 :                     goto next_after_fail1411;
    8774            0 :                   res_op1 = _r1;
    8775              :                 }
    8776            0 :                 tree res_op2;
    8777            0 :                 {
    8778            0 :                   tree _o1[2], _r1;
    8779            0 :                   _o1[0] = captures[0];
    8780            0 :                   _o1[1] = captures[4];
    8781            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, type, _o1[0], _o1[1]);
    8782            0 :                   if (EXPR_P (_r1))
    8783            0 :                     goto next_after_fail1411;
    8784            0 :                   res_op2 = _r1;
    8785              :                 }
    8786            0 :                 tree _r;
    8787            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8788            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
    8789            0 :                 return _r;
    8790              :               }
    8791            0 : next_after_fail1411:;
    8792              :             }
    8793              :         }
    8794            0 :         break;
    8795              :       }
    8796     66309594 :     default:;
    8797              :     }
    8798     66309594 :   switch (TREE_CODE (_p0))
    8799              :     {
    8800         2384 :     case REAL_CST:
    8801         2384 :       {
    8802         2384 :         switch (TREE_CODE (_p1))
    8803              :           {
    8804            0 :           case CALL_EXPR:
    8805            0 :             switch (get_call_combined_fn (_p1))
    8806              :               {
    8807            0 :               case CFN_BUILT_IN_LDEXPF:
    8808            0 :                 if (call_expr_nargs (_p1) == 2)
    8809              :     {
    8810            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    8811            0 :                     tree _q31 = CALL_EXPR_ARG (_p1, 1);
    8812            0 :                     {
    8813            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    8814            0 :                       tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPF);
    8815            0 :                       if (res) return res;
    8816              :                     }
    8817              :                   }
    8818              :                 break;
    8819            0 :               case CFN_BUILT_IN_LDEXPL:
    8820            0 :                 if (call_expr_nargs (_p1) == 2)
    8821              :     {
    8822            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    8823            0 :                     tree _q31 = CALL_EXPR_ARG (_p1, 1);
    8824            0 :                     {
    8825            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    8826            0 :                       tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPL);
    8827            0 :                       if (res) return res;
    8828              :                     }
    8829              :                   }
    8830              :                 break;
    8831            0 :               case CFN_LDEXP:
    8832            0 :                 if (call_expr_nargs (_p1) == 2)
    8833              :     {
    8834            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    8835            0 :                     tree _q31 = CALL_EXPR_ARG (_p1, 1);
    8836            0 :                     {
    8837            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    8838            0 :                       tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_LDEXP);
    8839            0 :                       if (res) return res;
    8840              :                     }
    8841              :                   }
    8842              :                 break;
    8843            0 :               case CFN_BUILT_IN_LDEXP:
    8844            0 :                 if (call_expr_nargs (_p1) == 2)
    8845              :     {
    8846            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    8847            0 :                     tree _q31 = CALL_EXPR_ARG (_p1, 1);
    8848            0 :                     {
    8849            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    8850            0 :                       tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXP);
    8851            0 :                       if (res) return res;
    8852              :                     }
    8853              :                   }
    8854              :                 break;
    8855              :               default:;
    8856              :               }
    8857              :             break;
    8858              :           default:;
    8859              :           }
    8860              :         break;
    8861              :       }
    8862      2574203 :     case CALL_EXPR:
    8863      2574203 :       switch (get_call_combined_fn (_p0))
    8864              :         {
    8865           55 :         case CFN_BUILT_IN_SQRTF:
    8866           55 :           if (call_expr_nargs (_p0) == 1)
    8867              :     {
    8868           55 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8869           55 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8870              :                 {
    8871            0 :                   {
    8872            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    8873            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF);
    8874            0 :                     if (res) return res;
    8875              :                   }
    8876              :                 }
    8877           55 :               switch (TREE_CODE (_p1))
    8878              :                 {
    8879           13 :                 case CALL_EXPR:
    8880           13 :                   switch (get_call_combined_fn (_p1))
    8881              :                     {
    8882           13 :                     case CFN_BUILT_IN_SQRTF:
    8883           13 :                       if (call_expr_nargs (_p1) == 1)
    8884              :     {
    8885           13 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8886           13 :                           {
    8887           13 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8888           13 :                             if (flag_unsafe_math_optimizations
    8889              : )
    8890              :                               {
    8891           13 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1412;
    8892           13 :                                 {
    8893           13 :                                   tree res_op0;
    8894           13 :                                   {
    8895           13 :                                     tree _o1[2], _r1;
    8896           13 :                                     _o1[0] = captures[1];
    8897           13 :                                     _o1[1] = captures[3];
    8898           13 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8899           13 :                                     res_op0 = _r1;
    8900              :                                   }
    8901           13 :                                   tree _r;
    8902           13 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTF, type, 1, res_op0);
    8903           13 :                                   if (!_r)
    8904            0 :                                     goto next_after_fail1412;
    8905           13 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 959, __FILE__, __LINE__, true);
    8906           13 :                                   return _r;
    8907              :                                 }
    8908            0 : next_after_fail1412:;
    8909              :                               }
    8910              :                           }
    8911              :                         }
    8912              :                       break;
    8913              :                     default:;
    8914              :                     }
    8915              :                   break;
    8916              :                 default:;
    8917              :                 }
    8918              :             }
    8919              :           break;
    8920           48 :         case CFN_BUILT_IN_SQRTL:
    8921           48 :           if (call_expr_nargs (_p0) == 1)
    8922              :     {
    8923           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8924           48 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8925              :                 {
    8926            0 :                   {
    8927            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    8928            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL);
    8929            0 :                     if (res) return res;
    8930              :                   }
    8931              :                 }
    8932           48 :               switch (TREE_CODE (_p1))
    8933              :                 {
    8934           13 :                 case CALL_EXPR:
    8935           13 :                   switch (get_call_combined_fn (_p1))
    8936              :                     {
    8937           13 :                     case CFN_BUILT_IN_SQRTL:
    8938           13 :                       if (call_expr_nargs (_p1) == 1)
    8939              :     {
    8940           13 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8941           13 :                           {
    8942           13 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8943           13 :                             if (flag_unsafe_math_optimizations
    8944              : )
    8945              :                               {
    8946           13 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1413;
    8947           13 :                                 {
    8948           13 :                                   tree res_op0;
    8949           13 :                                   {
    8950           13 :                                     tree _o1[2], _r1;
    8951           13 :                                     _o1[0] = captures[1];
    8952           13 :                                     _o1[1] = captures[3];
    8953           13 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8954           13 :                                     res_op0 = _r1;
    8955              :                                   }
    8956           13 :                                   tree _r;
    8957           13 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTL, type, 1, res_op0);
    8958           13 :                                   if (!_r)
    8959            0 :                                     goto next_after_fail1413;
    8960           13 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 959, __FILE__, __LINE__, true);
    8961           13 :                                   return _r;
    8962              :                                 }
    8963            0 : next_after_fail1413:;
    8964              :                               }
    8965              :                           }
    8966              :                         }
    8967              :                       break;
    8968              :                     default:;
    8969              :                     }
    8970              :                   break;
    8971              :                 default:;
    8972              :                 }
    8973              :             }
    8974              :           break;
    8975          287 :         case CFN_BUILT_IN_EXP:
    8976          287 :           if (call_expr_nargs (_p0) == 1)
    8977              :     {
    8978          287 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8979          287 :               switch (TREE_CODE (_p1))
    8980              :                 {
    8981           81 :                 case CALL_EXPR:
    8982           81 :                   switch (get_call_combined_fn (_p1))
    8983              :                     {
    8984           31 :                     case CFN_BUILT_IN_EXP:
    8985           31 :                       if (call_expr_nargs (_p1) == 1)
    8986              :     {
    8987           31 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8988           31 :                           {
    8989           31 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8990           31 :                             if (flag_unsafe_math_optimizations
    8991              : )
    8992              :                               {
    8993           27 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1414;
    8994           27 :                                 {
    8995           27 :                                   tree res_op0;
    8996           27 :                                   {
    8997           27 :                                     tree _o1[2], _r1;
    8998           27 :                                     _o1[0] = captures[1];
    8999           27 :                                     _o1[1] = captures[3];
    9000           27 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9001           27 :                                     res_op0 = _r1;
    9002              :                                   }
    9003           27 :                                   tree _r;
    9004           27 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, type, 1, res_op0);
    9005           27 :                                   if (!_r)
    9006            0 :                                     goto next_after_fail1414;
    9007           27 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 960, __FILE__, __LINE__, true);
    9008           27 :                                   return _r;
    9009              :                                 }
    9010            4 : next_after_fail1414:;
    9011              :                               }
    9012              :                           }
    9013              :                         }
    9014              :                       break;
    9015            0 :                     case CFN_BUILT_IN_POW:
    9016            0 :                       if (call_expr_nargs (_p1) == 2)
    9017              :     {
    9018            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9019            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9020            0 :                           switch (TREE_CODE (_q40))
    9021              :                             {
    9022            0 :                             case REAL_CST:
    9023            0 :                               {
    9024            0 :                                 {
    9025            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9026            0 :                                   if (flag_unsafe_math_optimizations
    9027              : )
    9028              :                                     {
    9029            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9030            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9031              : )
    9032              :                                         {
    9033            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1415;
    9034            0 :                                           {
    9035            0 :                                             tree res_op0;
    9036            0 :                                             {
    9037            0 :                                               tree _o1[2], _r1;
    9038            0 :                                               {
    9039            0 :                                                 tree _o2[2], _r2;
    9040            0 :                                                 {
    9041            0 :                                                   tree _o3[1], _r3;
    9042            0 :                                                   _o3[0] = captures[1];
    9043            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9044            0 :                                                   if (!_r3)
    9045            0 :                                                     goto next_after_fail1415;
    9046            0 :                                                   _o2[0] = _r3;
    9047              :                                                 }
    9048            0 :                                                 _o2[1] = captures[2];
    9049            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9050            0 :                                                 _o1[0] = _r2;
    9051              :                                               }
    9052            0 :                                               _o1[1] = captures[4];
    9053            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9054            0 :                                               res_op0 = _r1;
    9055              :                                             }
    9056            0 :                                             tree _r;
    9057            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, type, 1, res_op0);
    9058            0 :                                             if (!_r)
    9059            0 :                                               goto next_after_fail1415;
    9060            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    9061            0 :                                             return _r;
    9062              :                                           }
    9063            0 : next_after_fail1415:;
    9064              :                                         }
    9065              :                                     }
    9066              :                                 }
    9067            0 :                                 break;
    9068              :                               }
    9069              :                             default:;
    9070              :                             }
    9071              :                         }
    9072              :                       break;
    9073              :                     default:;
    9074              :                     }
    9075              :                   break;
    9076              :                 default:;
    9077              :                 }
    9078              :             }
    9079              :           break;
    9080          123 :         case CFN_BUILT_IN_POW:
    9081          123 :           if (call_expr_nargs (_p0) == 2)
    9082              :     {
    9083          123 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9084          123 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    9085          123 :               switch (TREE_CODE (_q20))
    9086              :                 {
    9087            1 :                 case REAL_CST:
    9088            1 :                   {
    9089            1 :                     switch (TREE_CODE (_p1))
    9090              :                       {
    9091            1 :                       case CALL_EXPR:
    9092            1 :                         switch (get_call_combined_fn (_p1))
    9093              :                           {
    9094            0 :                           case CFN_BUILT_IN_EXP:
    9095            0 :                             if (call_expr_nargs (_p1) == 1)
    9096              :     {
    9097            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9098            0 :                                 {
    9099            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9100            0 :                                   if (flag_unsafe_math_optimizations
    9101              : )
    9102              :                                     {
    9103            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9104            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9105              : )
    9106              :                                         {
    9107            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1416;
    9108            0 :                                           {
    9109            0 :                                             tree res_op0;
    9110            0 :                                             {
    9111            0 :                                               tree _o1[2], _r1;
    9112            0 :                                               {
    9113            0 :                                                 tree _o2[2], _r2;
    9114            0 :                                                 {
    9115            0 :                                                   tree _o3[1], _r3;
    9116            0 :                                                   _o3[0] = captures[1];
    9117            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9118            0 :                                                   if (!_r3)
    9119            0 :                                                     goto next_after_fail1416;
    9120            0 :                                                   _o2[0] = _r3;
    9121              :                                                 }
    9122            0 :                                                 _o2[1] = captures[2];
    9123            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9124            0 :                                                 _o1[0] = _r2;
    9125              :                                               }
    9126            0 :                                               _o1[1] = captures[4];
    9127            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9128            0 :                                               res_op0 = _r1;
    9129              :                                             }
    9130            0 :                                             tree _r;
    9131            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, type, 1, res_op0);
    9132            0 :                                             if (!_r)
    9133            0 :                                               goto next_after_fail1416;
    9134            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    9135            0 :                                             return _r;
    9136              :                                           }
    9137            0 : next_after_fail1416:;
    9138              :                                         }
    9139              :                                     }
    9140              :                                 }
    9141              :                               }
    9142              :                             break;
    9143            0 :                           case CFN_BUILT_IN_EXP2:
    9144            0 :                             if (call_expr_nargs (_p1) == 1)
    9145              :     {
    9146            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9147            0 :                                 {
    9148            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9149            0 :                                   if (flag_unsafe_math_optimizations
    9150              : )
    9151              :                                     {
    9152            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9153            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9154              : )
    9155              :                                         {
    9156            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1417;
    9157            0 :                                           {
    9158            0 :                                             tree res_op0;
    9159            0 :                                             {
    9160            0 :                                               tree _o1[2], _r1;
    9161            0 :                                               {
    9162            0 :                                                 tree _o2[2], _r2;
    9163            0 :                                                 {
    9164            0 :                                                   tree _o3[1], _r3;
    9165            0 :                                                   _o3[0] = captures[1];
    9166            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9167            0 :                                                   if (!_r3)
    9168            0 :                                                     goto next_after_fail1417;
    9169            0 :                                                   _o2[0] = _r3;
    9170              :                                                 }
    9171            0 :                                                 _o2[1] = captures[2];
    9172            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9173            0 :                                                 _o1[0] = _r2;
    9174              :                                               }
    9175            0 :                                               _o1[1] = captures[4];
    9176            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9177            0 :                                               res_op0 = _r1;
    9178              :                                             }
    9179            0 :                                             tree _r;
    9180            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, type, 1, res_op0);
    9181            0 :                                             if (!_r)
    9182            0 :                                               goto next_after_fail1417;
    9183            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    9184            0 :                                             return _r;
    9185              :                                           }
    9186            0 : next_after_fail1417:;
    9187              :                                         }
    9188              :                                     }
    9189              :                                 }
    9190              :                               }
    9191              :                             break;
    9192            0 :                           case CFN_BUILT_IN_EXP10:
    9193            0 :                             if (call_expr_nargs (_p1) == 1)
    9194              :     {
    9195            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9196            0 :                                 {
    9197            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9198            0 :                                   if (flag_unsafe_math_optimizations
    9199              : )
    9200              :                                     {
    9201            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9202            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9203              : )
    9204              :                                         {
    9205            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1418;
    9206            0 :                                           {
    9207            0 :                                             tree res_op0;
    9208            0 :                                             {
    9209            0 :                                               tree _o1[2], _r1;
    9210            0 :                                               {
    9211            0 :                                                 tree _o2[2], _r2;
    9212            0 :                                                 {
    9213            0 :                                                   tree _o3[1], _r3;
    9214            0 :                                                   _o3[0] = captures[1];
    9215            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9216            0 :                                                   if (!_r3)
    9217            0 :                                                     goto next_after_fail1418;
    9218            0 :                                                   _o2[0] = _r3;
    9219              :                                                 }
    9220            0 :                                                 _o2[1] = captures[2];
    9221            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9222            0 :                                                 _o1[0] = _r2;
    9223              :                                               }
    9224            0 :                                               _o1[1] = captures[4];
    9225            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9226            0 :                                               res_op0 = _r1;
    9227              :                                             }
    9228            0 :                                             tree _r;
    9229            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, type, 1, res_op0);
    9230            0 :                                             if (!_r)
    9231            0 :                                               goto next_after_fail1418;
    9232            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    9233            0 :                                             return _r;
    9234              :                                           }
    9235            0 : next_after_fail1418:;
    9236              :                                         }
    9237              :                                     }
    9238              :                                 }
    9239              :                               }
    9240              :                             break;
    9241            0 :                           case CFN_BUILT_IN_POW10:
    9242            0 :                             if (call_expr_nargs (_p1) == 1)
    9243              :     {
    9244            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9245            0 :                                 {
    9246            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9247            0 :                                   if (flag_unsafe_math_optimizations
    9248              : )
    9249              :                                     {
    9250            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9251            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9252              : )
    9253              :                                         {
    9254            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1419;
    9255            0 :                                           {
    9256            0 :                                             tree res_op0;
    9257            0 :                                             {
    9258            0 :                                               tree _o1[2], _r1;
    9259            0 :                                               {
    9260            0 :                                                 tree _o2[2], _r2;
    9261            0 :                                                 {
    9262            0 :                                                   tree _o3[1], _r3;
    9263            0 :                                                   _o3[0] = captures[1];
    9264            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9265            0 :                                                   if (!_r3)
    9266            0 :                                                     goto next_after_fail1419;
    9267            0 :                                                   _o2[0] = _r3;
    9268              :                                                 }
    9269            0 :                                                 _o2[1] = captures[2];
    9270            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9271            0 :                                                 _o1[0] = _r2;
    9272              :                                               }
    9273            0 :                                               _o1[1] = captures[4];
    9274            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9275            0 :                                               res_op0 = _r1;
    9276              :                                             }
    9277            0 :                                             tree _r;
    9278            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, type, 1, res_op0);
    9279            0 :                                             if (!_r)
    9280            0 :                                               goto next_after_fail1419;
    9281            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    9282            0 :                                             return _r;
    9283              :                                           }
    9284            0 : next_after_fail1419:;
    9285              :                                         }
    9286              :                                     }
    9287              :                                 }
    9288              :                               }
    9289              :                             break;
    9290              :                           default:;
    9291              :                           }
    9292              :                         break;
    9293              :                       default:;
    9294              :                       }
    9295              :                     break;
    9296              :                   }
    9297          123 :                 default:;
    9298              :                 }
    9299          123 :               switch (TREE_CODE (_q21))
    9300              :                 {
    9301           12 :                 case REAL_CST:
    9302           12 :                   {
    9303           12 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9304              :                       {
    9305            8 :                         {
    9306            8 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    9307            8 :                           tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
    9308            8 :                           if (res) return res;
    9309              :                         }
    9310              :                       }
    9311              :                     break;
    9312              :                   }
    9313              :                 default:;
    9314              :                 }
    9315              :             }
    9316              :           break;
    9317           48 :         case CFN_BUILT_IN_EXP10F:
    9318           48 :           if (call_expr_nargs (_p0) == 1)
    9319              :     {
    9320           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9321           48 :               switch (TREE_CODE (_p1))
    9322              :                 {
    9323           24 :                 case CALL_EXPR:
    9324           24 :                   switch (get_call_combined_fn (_p1))
    9325              :                     {
    9326           24 :                     case CFN_BUILT_IN_EXP10F:
    9327           24 :                       if (call_expr_nargs (_p1) == 1)
    9328              :     {
    9329           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9330           24 :                           {
    9331           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9332           24 :                             if (flag_unsafe_math_optimizations
    9333              : )
    9334              :                               {
    9335           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1420;
    9336           24 :                                 {
    9337           24 :                                   tree res_op0;
    9338           24 :                                   {
    9339           24 :                                     tree _o1[2], _r1;
    9340           24 :                                     _o1[0] = captures[1];
    9341           24 :                                     _o1[1] = captures[3];
    9342           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9343           24 :                                     res_op0 = _r1;
    9344              :                                   }
    9345           24 :                                   tree _r;
    9346           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, type, 1, res_op0);
    9347           24 :                                   if (!_r)
    9348            0 :                                     goto next_after_fail1420;
    9349           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 960, __FILE__, __LINE__, true);
    9350           24 :                                   return _r;
    9351              :                                 }
    9352            0 : next_after_fail1420:;
    9353              :                               }
    9354              :                           }
    9355              :                         }
    9356              :                       break;
    9357            0 :                     case CFN_BUILT_IN_POWF:
    9358            0 :                       if (call_expr_nargs (_p1) == 2)
    9359              :     {
    9360            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9361            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9362            0 :                           switch (TREE_CODE (_q40))
    9363              :                             {
    9364            0 :                             case REAL_CST:
    9365            0 :                               {
    9366            0 :                                 {
    9367            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9368            0 :                                   if (flag_unsafe_math_optimizations
    9369              : )
    9370              :                                     {
    9371            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9372            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9373              : )
    9374              :                                         {
    9375            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1421;
    9376            0 :                                           {
    9377            0 :                                             tree res_op0;
    9378            0 :                                             {
    9379            0 :                                               tree _o1[2], _r1;
    9380            0 :                                               {
    9381            0 :                                                 tree _o2[2], _r2;
    9382            0 :                                                 {
    9383            0 :                                                   tree _o3[1], _r3;
    9384            0 :                                                   _o3[0] = captures[1];
    9385            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9386            0 :                                                   if (!_r3)
    9387            0 :                                                     goto next_after_fail1421;
    9388            0 :                                                   _o2[0] = _r3;
    9389              :                                                 }
    9390            0 :                                                 _o2[1] = captures[2];
    9391            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9392            0 :                                                 _o1[0] = _r2;
    9393              :                                               }
    9394            0 :                                               _o1[1] = captures[4];
    9395            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9396            0 :                                               res_op0 = _r1;
    9397              :                                             }
    9398            0 :                                             tree _r;
    9399            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, type, 1, res_op0);
    9400            0 :                                             if (!_r)
    9401            0 :                                               goto next_after_fail1421;
    9402            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    9403            0 :                                             return _r;
    9404              :                                           }
    9405            0 : next_after_fail1421:;
    9406              :                                         }
    9407              :                                     }
    9408              :                                 }
    9409            0 :                                 break;
    9410              :                               }
    9411              :                             default:;
    9412              :                             }
    9413              :                         }
    9414              :                       break;
    9415              :                     default:;
    9416              :                     }
    9417              :                   break;
    9418              :                 default:;
    9419              :                 }
    9420              :             }
    9421              :           break;
    9422           48 :         case CFN_BUILT_IN_EXP10L:
    9423           48 :           if (call_expr_nargs (_p0) == 1)
    9424              :     {
    9425           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9426           48 :               switch (TREE_CODE (_p1))
    9427              :                 {
    9428           24 :                 case CALL_EXPR:
    9429           24 :                   switch (get_call_combined_fn (_p1))
    9430              :                     {
    9431           24 :                     case CFN_BUILT_IN_EXP10L:
    9432           24 :                       if (call_expr_nargs (_p1) == 1)
    9433              :     {
    9434           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9435           24 :                           {
    9436           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9437           24 :                             if (flag_unsafe_math_optimizations
    9438              : )
    9439              :                               {
    9440           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1422;
    9441           24 :                                 {
    9442           24 :                                   tree res_op0;
    9443           24 :                                   {
    9444           24 :                                     tree _o1[2], _r1;
    9445           24 :                                     _o1[0] = captures[1];
    9446           24 :                                     _o1[1] = captures[3];
    9447           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9448           24 :                                     res_op0 = _r1;
    9449              :                                   }
    9450           24 :                                   tree _r;
    9451           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, type, 1, res_op0);
    9452           24 :                                   if (!_r)
    9453            0 :                                     goto next_after_fail1422;
    9454           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 960, __FILE__, __LINE__, true);
    9455           24 :                                   return _r;
    9456              :                                 }
    9457            0 : next_after_fail1422:;
    9458              :                               }
    9459              :                           }
    9460              :                         }
    9461              :                       break;
    9462            0 :                     case CFN_BUILT_IN_POWL:
    9463            0 :                       if (call_expr_nargs (_p1) == 2)
    9464              :     {
    9465            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9466            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9467            0 :                           switch (TREE_CODE (_q40))
    9468              :                             {
    9469            0 :                             case REAL_CST:
    9470            0 :                               {
    9471            0 :                                 {
    9472            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9473            0 :                                   if (flag_unsafe_math_optimizations
    9474              : )
    9475              :                                     {
    9476            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9477            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9478              : )
    9479              :                                         {
    9480            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1423;
    9481            0 :                                           {
    9482            0 :                                             tree res_op0;
    9483            0 :                                             {
    9484            0 :                                               tree _o1[2], _r1;
    9485            0 :                                               {
    9486            0 :                                                 tree _o2[2], _r2;
    9487            0 :                                                 {
    9488            0 :                                                   tree _o3[1], _r3;
    9489            0 :                                                   _o3[0] = captures[1];
    9490            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9491            0 :                                                   if (!_r3)
    9492            0 :                                                     goto next_after_fail1423;
    9493            0 :                                                   _o2[0] = _r3;
    9494              :                                                 }
    9495            0 :                                                 _o2[1] = captures[2];
    9496            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9497            0 :                                                 _o1[0] = _r2;
    9498              :                                               }
    9499            0 :                                               _o1[1] = captures[4];
    9500            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9501            0 :                                               res_op0 = _r1;
    9502              :                                             }
    9503            0 :                                             tree _r;
    9504            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, type, 1, res_op0);
    9505            0 :                                             if (!_r)
    9506            0 :                                               goto next_after_fail1423;
    9507            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    9508            0 :                                             return _r;
    9509              :                                           }
    9510            0 : next_after_fail1423:;
    9511              :                                         }
    9512              :                                     }
    9513              :                                 }
    9514            0 :                                 break;
    9515              :                               }
    9516              :                             default:;
    9517              :                             }
    9518              :                         }
    9519              :                       break;
    9520              :                     default:;
    9521              :                     }
    9522              :                   break;
    9523              :                 default:;
    9524              :                 }
    9525              :             }
    9526              :           break;
    9527           18 :         case CFN_BUILT_IN_CBRT:
    9528           18 :           if (call_expr_nargs (_p0) == 1)
    9529              :     {
    9530           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9531           18 :               switch (TREE_CODE (_p1))
    9532              :                 {
    9533           14 :                 case CALL_EXPR:
    9534           14 :                   switch (get_call_combined_fn (_p1))
    9535              :                     {
    9536           14 :                     case CFN_BUILT_IN_CBRT:
    9537           14 :                       if (call_expr_nargs (_p1) == 1)
    9538              :     {
    9539           14 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9540           14 :                           {
    9541           14 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9542           14 :                             if (flag_unsafe_math_optimizations
    9543              : )
    9544              :                               {
    9545           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1424;
    9546           12 :                                 {
    9547           12 :                                   tree res_op0;
    9548           12 :                                   {
    9549           12 :                                     tree _o1[2], _r1;
    9550           12 :                                     _o1[0] = captures[1];
    9551           12 :                                     _o1[1] = captures[3];
    9552           12 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9553           12 :                                     res_op0 = _r1;
    9554              :                                   }
    9555           12 :                                   tree _r;
    9556           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRT, type, 1, res_op0);
    9557           12 :                                   if (!_r)
    9558            0 :                                     goto next_after_fail1424;
    9559           12 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 959, __FILE__, __LINE__, true);
    9560           12 :                                   return _r;
    9561              :                                 }
    9562            2 : next_after_fail1424:;
    9563              :                               }
    9564              :                           }
    9565              :                         }
    9566              :                       break;
    9567              :                     default:;
    9568              :                     }
    9569              :                   break;
    9570              :                 default:;
    9571              :                 }
    9572              :             }
    9573              :           break;
    9574           48 :         case CFN_BUILT_IN_EXP2:
    9575           48 :           if (call_expr_nargs (_p0) == 1)
    9576              :     {
    9577           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9578           48 :               switch (TREE_CODE (_p1))
    9579              :                 {
    9580           24 :                 case CALL_EXPR:
    9581           24 :                   switch (get_call_combined_fn (_p1))
    9582              :                     {
    9583            0 :                     case CFN_BUILT_IN_POW:
    9584            0 :                       if (call_expr_nargs (_p1) == 2)
    9585              :     {
    9586            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9587            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9588            0 :                           switch (TREE_CODE (_q40))
    9589              :                             {
    9590            0 :                             case REAL_CST:
    9591            0 :                               {
    9592            0 :                                 {
    9593            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9594            0 :                                   if (flag_unsafe_math_optimizations
    9595              : )
    9596              :                                     {
    9597            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9598            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9599              : )
    9600              :                                         {
    9601            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1425;
    9602            0 :                                           {
    9603            0 :                                             tree res_op0;
    9604            0 :                                             {
    9605            0 :                                               tree _o1[2], _r1;
    9606            0 :                                               {
    9607            0 :                                                 tree _o2[2], _r2;
    9608            0 :                                                 {
    9609            0 :                                                   tree _o3[1], _r3;
    9610            0 :                                                   _o3[0] = captures[1];
    9611            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9612            0 :                                                   if (!_r3)
    9613            0 :                                                     goto next_after_fail1425;
    9614            0 :                                                   _o2[0] = _r3;
    9615              :                                                 }
    9616            0 :                                                 _o2[1] = captures[2];
    9617            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9618            0 :                                                 _o1[0] = _r2;
    9619              :                                               }
    9620            0 :                                               _o1[1] = captures[4];
    9621            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9622            0 :                                               res_op0 = _r1;
    9623              :                                             }
    9624            0 :                                             tree _r;
    9625            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, type, 1, res_op0);
    9626            0 :                                             if (!_r)
    9627            0 :                                               goto next_after_fail1425;
    9628            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    9629            0 :                                             return _r;
    9630              :                                           }
    9631            0 : next_after_fail1425:;
    9632              :                                         }
    9633              :                                     }
    9634              :                                 }
    9635            0 :                                 break;
    9636              :                               }
    9637              :                             default:;
    9638              :                             }
    9639              :                         }
    9640              :                       break;
    9641           24 :                     case CFN_BUILT_IN_EXP2:
    9642           24 :                       if (call_expr_nargs (_p1) == 1)
    9643              :     {
    9644           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9645           24 :                           {
    9646           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9647           24 :                             if (flag_unsafe_math_optimizations
    9648              : )
    9649              :                               {
    9650           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1426;
    9651           24 :                                 {
    9652           24 :                                   tree res_op0;
    9653           24 :                                   {
    9654           24 :                                     tree _o1[2], _r1;
    9655           24 :                                     _o1[0] = captures[1];
    9656           24 :                                     _o1[1] = captures[3];
    9657           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9658           24 :                                     res_op0 = _r1;
    9659              :                                   }
    9660           24 :                                   tree _r;
    9661           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, type, 1, res_op0);
    9662           24 :                                   if (!_r)
    9663            0 :                                     goto next_after_fail1426;
    9664           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 960, __FILE__, __LINE__, true);
    9665           24 :                                   return _r;
    9666              :                                 }
    9667            0 : next_after_fail1426:;
    9668              :                               }
    9669              :                           }
    9670              :                         }
    9671              :                       break;
    9672              :                     default:;
    9673              :                     }
    9674              :                   break;
    9675              :                 default:;
    9676              :                 }
    9677              :             }
    9678              :           break;
    9679           66 :         case CFN_BUILT_IN_EXPF:
    9680           66 :           if (call_expr_nargs (_p0) == 1)
    9681              :     {
    9682           66 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9683           66 :               switch (TREE_CODE (_p1))
    9684              :                 {
    9685           36 :                 case CALL_EXPR:
    9686           36 :                   switch (get_call_combined_fn (_p1))
    9687              :                     {
    9688           29 :                     case CFN_BUILT_IN_EXPF:
    9689           29 :                       if (call_expr_nargs (_p1) == 1)
    9690              :     {
    9691           29 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9692           29 :                           {
    9693           29 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9694           29 :                             if (flag_unsafe_math_optimizations
    9695              : )
    9696              :                               {
    9697           25 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1427;
    9698           25 :                                 {
    9699           25 :                                   tree res_op0;
    9700           25 :                                   {
    9701           25 :                                     tree _o1[2], _r1;
    9702           25 :                                     _o1[0] = captures[1];
    9703           25 :                                     _o1[1] = captures[3];
    9704           25 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9705           25 :                                     res_op0 = _r1;
    9706              :                                   }
    9707           25 :                                   tree _r;
    9708           25 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, type, 1, res_op0);
    9709           25 :                                   if (!_r)
    9710            0 :                                     goto next_after_fail1427;
    9711           25 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 960, __FILE__, __LINE__, true);
    9712           25 :                                   return _r;
    9713              :                                 }
    9714            4 : next_after_fail1427:;
    9715              :                               }
    9716              :                           }
    9717              :                         }
    9718              :                       break;
    9719            0 :                     case CFN_BUILT_IN_POWF:
    9720            0 :                       if (call_expr_nargs (_p1) == 2)
    9721              :     {
    9722            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9723            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9724            0 :                           switch (TREE_CODE (_q40))
    9725              :                             {
    9726            0 :                             case REAL_CST:
    9727            0 :                               {
    9728            0 :                                 {
    9729            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9730            0 :                                   if (flag_unsafe_math_optimizations
    9731              : )
    9732              :                                     {
    9733            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9734            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9735              : )
    9736              :                                         {
    9737            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1428;
    9738            0 :                                           {
    9739            0 :                                             tree res_op0;
    9740            0 :                                             {
    9741            0 :                                               tree _o1[2], _r1;
    9742            0 :                                               {
    9743            0 :                                                 tree _o2[2], _r2;
    9744            0 :                                                 {
    9745            0 :                                                   tree _o3[1], _r3;
    9746            0 :                                                   _o3[0] = captures[1];
    9747            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOGF, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9748            0 :                                                   if (!_r3)
    9749            0 :                                                     goto next_after_fail1428;
    9750            0 :                                                   _o2[0] = _r3;
    9751              :                                                 }
    9752            0 :                                                 _o2[1] = captures[2];
    9753            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9754            0 :                                                 _o1[0] = _r2;
    9755              :                                               }
    9756            0 :                                               _o1[1] = captures[4];
    9757            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9758            0 :                                               res_op0 = _r1;
    9759              :                                             }
    9760            0 :                                             tree _r;
    9761            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, type, 1, res_op0);
    9762            0 :                                             if (!_r)
    9763            0 :                                               goto next_after_fail1428;
    9764            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    9765            0 :                                             return _r;
    9766              :                                           }
    9767            0 : next_after_fail1428:;
    9768              :                                         }
    9769              :                                     }
    9770              :                                 }
    9771            0 :                                 break;
    9772              :                               }
    9773              :                             default:;
    9774              :                             }
    9775              :                         }
    9776              :                       break;
    9777              :                     default:;
    9778              :                     }
    9779              :                   break;
    9780              :                 default:;
    9781              :                 }
    9782              :             }
    9783              :           break;
    9784           59 :         case CFN_BUILT_IN_EXPL:
    9785           59 :           if (call_expr_nargs (_p0) == 1)
    9786              :     {
    9787           59 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9788           59 :               switch (TREE_CODE (_p1))
    9789              :                 {
    9790           29 :                 case CALL_EXPR:
    9791           29 :                   switch (get_call_combined_fn (_p1))
    9792              :                     {
    9793           29 :                     case CFN_BUILT_IN_EXPL:
    9794           29 :                       if (call_expr_nargs (_p1) == 1)
    9795              :     {
    9796           29 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9797           29 :                           {
    9798           29 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9799           29 :                             if (flag_unsafe_math_optimizations
    9800              : )
    9801              :                               {
    9802           25 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1429;
    9803           25 :                                 {
    9804           25 :                                   tree res_op0;
    9805           25 :                                   {
    9806           25 :                                     tree _o1[2], _r1;
    9807           25 :                                     _o1[0] = captures[1];
    9808           25 :                                     _o1[1] = captures[3];
    9809           25 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9810           25 :                                     res_op0 = _r1;
    9811              :                                   }
    9812           25 :                                   tree _r;
    9813           25 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, type, 1, res_op0);
    9814           25 :                                   if (!_r)
    9815            0 :                                     goto next_after_fail1429;
    9816           25 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 960, __FILE__, __LINE__, true);
    9817           25 :                                   return _r;
    9818              :                                 }
    9819            4 : next_after_fail1429:;
    9820              :                               }
    9821              :                           }
    9822              :                         }
    9823              :                       break;
    9824            0 :                     case CFN_BUILT_IN_POWL:
    9825            0 :                       if (call_expr_nargs (_p1) == 2)
    9826              :     {
    9827            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9828            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
    9829            0 :                           switch (TREE_CODE (_q40))
    9830              :                             {
    9831            0 :                             case REAL_CST:
    9832            0 :                               {
    9833            0 :                                 {
    9834            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
    9835            0 :                                   if (flag_unsafe_math_optimizations
    9836              : )
    9837              :                                     {
    9838            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9839            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9840              : )
    9841              :                                         {
    9842            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1430;
    9843            0 :                                           {
    9844            0 :                                             tree res_op0;
    9845            0 :                                             {
    9846            0 :                                               tree _o1[2], _r1;
    9847            0 :                                               {
    9848            0 :                                                 tree _o2[2], _r2;
    9849            0 :                                                 {
    9850            0 :                                                   tree _o3[1], _r3;
    9851            0 :                                                   _o3[0] = captures[1];
    9852            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOGL, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9853            0 :                                                   if (!_r3)
    9854            0 :                                                     goto next_after_fail1430;
    9855            0 :                                                   _o2[0] = _r3;
    9856              :                                                 }
    9857            0 :                                                 _o2[1] = captures[2];
    9858            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9859            0 :                                                 _o1[0] = _r2;
    9860              :                                               }
    9861            0 :                                               _o1[1] = captures[4];
    9862            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9863            0 :                                               res_op0 = _r1;
    9864              :                                             }
    9865            0 :                                             tree _r;
    9866            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, type, 1, res_op0);
    9867            0 :                                             if (!_r)
    9868            0 :                                               goto next_after_fail1430;
    9869            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    9870            0 :                                             return _r;
    9871              :                                           }
    9872            0 : next_after_fail1430:;
    9873              :                                         }
    9874              :                                     }
    9875              :                                 }
    9876            0 :                                 break;
    9877              :                               }
    9878              :                             default:;
    9879              :                             }
    9880              :                         }
    9881              :                       break;
    9882              :                     default:;
    9883              :                     }
    9884              :                   break;
    9885              :                 default:;
    9886              :                 }
    9887              :             }
    9888              :           break;
    9889           19 :         case CFN_BUILT_IN_POWF:
    9890           19 :           if (call_expr_nargs (_p0) == 2)
    9891              :     {
    9892           19 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9893           19 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    9894           19 :               switch (TREE_CODE (_q20))
    9895              :                 {
    9896            0 :                 case REAL_CST:
    9897            0 :                   {
    9898            0 :                     switch (TREE_CODE (_p1))
    9899              :                       {
    9900            0 :                       case CALL_EXPR:
    9901            0 :                         switch (get_call_combined_fn (_p1))
    9902              :                           {
    9903            0 :                           case CFN_BUILT_IN_EXP10F:
    9904            0 :                             if (call_expr_nargs (_p1) == 1)
    9905              :     {
    9906            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9907            0 :                                 {
    9908            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9909            0 :                                   if (flag_unsafe_math_optimizations
    9910              : )
    9911              :                                     {
    9912            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9913            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9914              : )
    9915              :                                         {
    9916            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1431;
    9917            0 :                                           {
    9918            0 :                                             tree res_op0;
    9919            0 :                                             {
    9920            0 :                                               tree _o1[2], _r1;
    9921            0 :                                               {
    9922            0 :                                                 tree _o2[2], _r2;
    9923            0 :                                                 {
    9924            0 :                                                   tree _o3[1], _r3;
    9925            0 :                                                   _o3[0] = captures[1];
    9926            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9927            0 :                                                   if (!_r3)
    9928            0 :                                                     goto next_after_fail1431;
    9929            0 :                                                   _o2[0] = _r3;
    9930              :                                                 }
    9931            0 :                                                 _o2[1] = captures[2];
    9932            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9933            0 :                                                 _o1[0] = _r2;
    9934              :                                               }
    9935            0 :                                               _o1[1] = captures[4];
    9936            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9937            0 :                                               res_op0 = _r1;
    9938              :                                             }
    9939            0 :                                             tree _r;
    9940            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, type, 1, res_op0);
    9941            0 :                                             if (!_r)
    9942            0 :                                               goto next_after_fail1431;
    9943            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    9944            0 :                                             return _r;
    9945              :                                           }
    9946            0 : next_after_fail1431:;
    9947              :                                         }
    9948              :                                     }
    9949              :                                 }
    9950              :                               }
    9951              :                             break;
    9952            0 :                           case CFN_BUILT_IN_EXPF:
    9953            0 :                             if (call_expr_nargs (_p1) == 1)
    9954              :     {
    9955            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
    9956            0 :                                 {
    9957            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9958            0 :                                   if (flag_unsafe_math_optimizations
    9959              : )
    9960              :                                     {
    9961            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
    9962            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
    9963              : )
    9964              :                                         {
    9965            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1432;
    9966            0 :                                           {
    9967            0 :                                             tree res_op0;
    9968            0 :                                             {
    9969            0 :                                               tree _o1[2], _r1;
    9970            0 :                                               {
    9971            0 :                                                 tree _o2[2], _r2;
    9972            0 :                                                 {
    9973            0 :                                                   tree _o3[1], _r3;
    9974            0 :                                                   _o3[0] = captures[1];
    9975            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOGF, TREE_TYPE (_o3[0]), 1, _o3[0]);
    9976            0 :                                                   if (!_r3)
    9977            0 :                                                     goto next_after_fail1432;
    9978            0 :                                                   _o2[0] = _r3;
    9979              :                                                 }
    9980            0 :                                                 _o2[1] = captures[2];
    9981            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9982            0 :                                                 _o1[0] = _r2;
    9983              :                                               }
    9984            0 :                                               _o1[1] = captures[4];
    9985            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9986            0 :                                               res_op0 = _r1;
    9987              :                                             }
    9988            0 :                                             tree _r;
    9989            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, type, 1, res_op0);
    9990            0 :                                             if (!_r)
    9991            0 :                                               goto next_after_fail1432;
    9992            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
    9993            0 :                                             return _r;
    9994              :                                           }
    9995            0 : next_after_fail1432:;
    9996              :                                         }
    9997              :                                     }
    9998              :                                 }
    9999              :                               }
   10000              :                             break;
   10001            0 :                           case CFN_BUILT_IN_POW10F:
   10002            0 :                             if (call_expr_nargs (_p1) == 1)
   10003              :     {
   10004            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10005            0 :                                 {
   10006            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10007            0 :                                   if (flag_unsafe_math_optimizations
   10008              : )
   10009              :                                     {
   10010            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10011            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10012              : )
   10013              :                                         {
   10014            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1433;
   10015            0 :                                           {
   10016            0 :                                             tree res_op0;
   10017            0 :                                             {
   10018            0 :                                               tree _o1[2], _r1;
   10019            0 :                                               {
   10020            0 :                                                 tree _o2[2], _r2;
   10021            0 :                                                 {
   10022            0 :                                                   tree _o3[1], _r3;
   10023            0 :                                                   _o3[0] = captures[1];
   10024            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10025            0 :                                                   if (!_r3)
   10026            0 :                                                     goto next_after_fail1433;
   10027            0 :                                                   _o2[0] = _r3;
   10028              :                                                 }
   10029            0 :                                                 _o2[1] = captures[2];
   10030            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10031            0 :                                                 _o1[0] = _r2;
   10032              :                                               }
   10033            0 :                                               _o1[1] = captures[4];
   10034            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10035            0 :                                               res_op0 = _r1;
   10036              :                                             }
   10037            0 :                                             tree _r;
   10038            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, type, 1, res_op0);
   10039            0 :                                             if (!_r)
   10040            0 :                                               goto next_after_fail1433;
   10041            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
   10042            0 :                                             return _r;
   10043              :                                           }
   10044            0 : next_after_fail1433:;
   10045              :                                         }
   10046              :                                     }
   10047              :                                 }
   10048              :                               }
   10049              :                             break;
   10050            0 :                           case CFN_BUILT_IN_EXP2F:
   10051            0 :                             if (call_expr_nargs (_p1) == 1)
   10052              :     {
   10053            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10054            0 :                                 {
   10055            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10056            0 :                                   if (flag_unsafe_math_optimizations
   10057              : )
   10058              :                                     {
   10059            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10060            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10061              : )
   10062              :                                         {
   10063            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1434;
   10064            0 :                                           {
   10065            0 :                                             tree res_op0;
   10066            0 :                                             {
   10067            0 :                                               tree _o1[2], _r1;
   10068            0 :                                               {
   10069            0 :                                                 tree _o2[2], _r2;
   10070            0 :                                                 {
   10071            0 :                                                   tree _o3[1], _r3;
   10072            0 :                                                   _o3[0] = captures[1];
   10073            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2F, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10074            0 :                                                   if (!_r3)
   10075            0 :                                                     goto next_after_fail1434;
   10076            0 :                                                   _o2[0] = _r3;
   10077              :                                                 }
   10078            0 :                                                 _o2[1] = captures[2];
   10079            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10080            0 :                                                 _o1[0] = _r2;
   10081              :                                               }
   10082            0 :                                               _o1[1] = captures[4];
   10083            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10084            0 :                                               res_op0 = _r1;
   10085              :                                             }
   10086            0 :                                             tree _r;
   10087            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, type, 1, res_op0);
   10088            0 :                                             if (!_r)
   10089            0 :                                               goto next_after_fail1434;
   10090            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
   10091            0 :                                             return _r;
   10092              :                                           }
   10093            0 : next_after_fail1434:;
   10094              :                                         }
   10095              :                                     }
   10096              :                                 }
   10097              :                               }
   10098              :                             break;
   10099              :                           default:;
   10100              :                           }
   10101              :                         break;
   10102              :                       default:;
   10103              :                       }
   10104              :                     break;
   10105              :                   }
   10106           19 :                 default:;
   10107              :                 }
   10108           19 :               switch (TREE_CODE (_q21))
   10109              :                 {
   10110            5 :                 case REAL_CST:
   10111            5 :                   {
   10112            5 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10113              :                       {
   10114            0 :                         {
   10115            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
   10116            0 :                           tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
   10117            0 :                           if (res) return res;
   10118              :                         }
   10119              :                       }
   10120              :                     break;
   10121              :                   }
   10122              :                 default:;
   10123              :                 }
   10124              :             }
   10125              :           break;
   10126           12 :         case CFN_BUILT_IN_POWL:
   10127           12 :           if (call_expr_nargs (_p0) == 2)
   10128              :     {
   10129           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10130           12 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10131           12 :               switch (TREE_CODE (_q20))
   10132              :                 {
   10133            0 :                 case REAL_CST:
   10134            0 :                   {
   10135            0 :                     switch (TREE_CODE (_p1))
   10136              :                       {
   10137            0 :                       case CALL_EXPR:
   10138            0 :                         switch (get_call_combined_fn (_p1))
   10139              :                           {
   10140            0 :                           case CFN_BUILT_IN_EXP10L:
   10141            0 :                             if (call_expr_nargs (_p1) == 1)
   10142              :     {
   10143            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10144            0 :                                 {
   10145            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10146            0 :                                   if (flag_unsafe_math_optimizations
   10147              : )
   10148              :                                     {
   10149            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10150            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10151              : )
   10152              :                                         {
   10153            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1435;
   10154            0 :                                           {
   10155            0 :                                             tree res_op0;
   10156            0 :                                             {
   10157            0 :                                               tree _o1[2], _r1;
   10158            0 :                                               {
   10159            0 :                                                 tree _o2[2], _r2;
   10160            0 :                                                 {
   10161            0 :                                                   tree _o3[1], _r3;
   10162            0 :                                                   _o3[0] = captures[1];
   10163            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10164            0 :                                                   if (!_r3)
   10165            0 :                                                     goto next_after_fail1435;
   10166            0 :                                                   _o2[0] = _r3;
   10167              :                                                 }
   10168            0 :                                                 _o2[1] = captures[2];
   10169            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10170            0 :                                                 _o1[0] = _r2;
   10171              :                                               }
   10172            0 :                                               _o1[1] = captures[4];
   10173            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10174            0 :                                               res_op0 = _r1;
   10175              :                                             }
   10176            0 :                                             tree _r;
   10177            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, type, 1, res_op0);
   10178            0 :                                             if (!_r)
   10179            0 :                                               goto next_after_fail1435;
   10180            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
   10181            0 :                                             return _r;
   10182              :                                           }
   10183            0 : next_after_fail1435:;
   10184              :                                         }
   10185              :                                     }
   10186              :                                 }
   10187              :                               }
   10188              :                             break;
   10189            0 :                           case CFN_BUILT_IN_EXPL:
   10190            0 :                             if (call_expr_nargs (_p1) == 1)
   10191              :     {
   10192            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10193            0 :                                 {
   10194            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10195            0 :                                   if (flag_unsafe_math_optimizations
   10196              : )
   10197              :                                     {
   10198            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10199            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10200              : )
   10201              :                                         {
   10202            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1436;
   10203            0 :                                           {
   10204            0 :                                             tree res_op0;
   10205            0 :                                             {
   10206            0 :                                               tree _o1[2], _r1;
   10207            0 :                                               {
   10208            0 :                                                 tree _o2[2], _r2;
   10209            0 :                                                 {
   10210            0 :                                                   tree _o3[1], _r3;
   10211            0 :                                                   _o3[0] = captures[1];
   10212            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOGL, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10213            0 :                                                   if (!_r3)
   10214            0 :                                                     goto next_after_fail1436;
   10215            0 :                                                   _o2[0] = _r3;
   10216              :                                                 }
   10217            0 :                                                 _o2[1] = captures[2];
   10218            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10219            0 :                                                 _o1[0] = _r2;
   10220              :                                               }
   10221            0 :                                               _o1[1] = captures[4];
   10222            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10223            0 :                                               res_op0 = _r1;
   10224              :                                             }
   10225            0 :                                             tree _r;
   10226            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, type, 1, res_op0);
   10227            0 :                                             if (!_r)
   10228            0 :                                               goto next_after_fail1436;
   10229            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
   10230            0 :                                             return _r;
   10231              :                                           }
   10232            0 : next_after_fail1436:;
   10233              :                                         }
   10234              :                                     }
   10235              :                                 }
   10236              :                               }
   10237              :                             break;
   10238            0 :                           case CFN_BUILT_IN_POW10L:
   10239            0 :                             if (call_expr_nargs (_p1) == 1)
   10240              :     {
   10241            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10242            0 :                                 {
   10243            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10244            0 :                                   if (flag_unsafe_math_optimizations
   10245              : )
   10246              :                                     {
   10247            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10248            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10249              : )
   10250              :                                         {
   10251            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1437;
   10252            0 :                                           {
   10253            0 :                                             tree res_op0;
   10254            0 :                                             {
   10255            0 :                                               tree _o1[2], _r1;
   10256            0 :                                               {
   10257            0 :                                                 tree _o2[2], _r2;
   10258            0 :                                                 {
   10259            0 :                                                   tree _o3[1], _r3;
   10260            0 :                                                   _o3[0] = captures[1];
   10261            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10262            0 :                                                   if (!_r3)
   10263            0 :                                                     goto next_after_fail1437;
   10264            0 :                                                   _o2[0] = _r3;
   10265              :                                                 }
   10266            0 :                                                 _o2[1] = captures[2];
   10267            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10268            0 :                                                 _o1[0] = _r2;
   10269              :                                               }
   10270            0 :                                               _o1[1] = captures[4];
   10271            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10272            0 :                                               res_op0 = _r1;
   10273              :                                             }
   10274            0 :                                             tree _r;
   10275            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, type, 1, res_op0);
   10276            0 :                                             if (!_r)
   10277            0 :                                               goto next_after_fail1437;
   10278            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
   10279            0 :                                             return _r;
   10280              :                                           }
   10281            0 : next_after_fail1437:;
   10282              :                                         }
   10283              :                                     }
   10284              :                                 }
   10285              :                               }
   10286              :                             break;
   10287            0 :                           case CFN_BUILT_IN_EXP2L:
   10288            0 :                             if (call_expr_nargs (_p1) == 1)
   10289              :     {
   10290            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10291            0 :                                 {
   10292            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10293            0 :                                   if (flag_unsafe_math_optimizations
   10294              : )
   10295              :                                     {
   10296            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10297            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10298              : )
   10299              :                                         {
   10300            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1438;
   10301            0 :                                           {
   10302            0 :                                             tree res_op0;
   10303            0 :                                             {
   10304            0 :                                               tree _o1[2], _r1;
   10305            0 :                                               {
   10306            0 :                                                 tree _o2[2], _r2;
   10307            0 :                                                 {
   10308            0 :                                                   tree _o3[1], _r3;
   10309            0 :                                                   _o3[0] = captures[1];
   10310            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10311            0 :                                                   if (!_r3)
   10312            0 :                                                     goto next_after_fail1438;
   10313            0 :                                                   _o2[0] = _r3;
   10314              :                                                 }
   10315            0 :                                                 _o2[1] = captures[2];
   10316            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10317            0 :                                                 _o1[0] = _r2;
   10318              :                                               }
   10319            0 :                                               _o1[1] = captures[4];
   10320            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10321            0 :                                               res_op0 = _r1;
   10322              :                                             }
   10323            0 :                                             tree _r;
   10324            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, type, 1, res_op0);
   10325            0 :                                             if (!_r)
   10326            0 :                                               goto next_after_fail1438;
   10327            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
   10328            0 :                                             return _r;
   10329              :                                           }
   10330            0 : next_after_fail1438:;
   10331              :                                         }
   10332              :                                     }
   10333              :                                 }
   10334              :                               }
   10335              :                             break;
   10336              :                           default:;
   10337              :                           }
   10338              :                         break;
   10339              :                       default:;
   10340              :                       }
   10341              :                     break;
   10342              :                   }
   10343           12 :                 default:;
   10344              :                 }
   10345           12 :               switch (TREE_CODE (_q21))
   10346              :                 {
   10347            0 :                 case REAL_CST:
   10348            0 :                   {
   10349            0 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10350              :                       {
   10351            0 :                         {
   10352            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
   10353            0 :                           tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
   10354            0 :                           if (res) return res;
   10355              :                         }
   10356              :                       }
   10357              :                     break;
   10358              :                   }
   10359              :                 default:;
   10360              :                 }
   10361              :             }
   10362              :           break;
   10363        18942 :         case CFN_BUILT_IN_SQRT:
   10364        18942 :           if (call_expr_nargs (_p0) == 1)
   10365              :     {
   10366        18942 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10367        18942 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10368              :                 {
   10369            2 :                   {
   10370            2 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10371            2 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT);
   10372            2 :                     if (res) return res;
   10373              :                   }
   10374              :                 }
   10375        18940 :               switch (TREE_CODE (_p1))
   10376              :                 {
   10377          100 :                 case CALL_EXPR:
   10378          100 :                   switch (get_call_combined_fn (_p1))
   10379              :                     {
   10380           37 :                     case CFN_BUILT_IN_SQRT:
   10381           37 :                       if (call_expr_nargs (_p1) == 1)
   10382              :     {
   10383           37 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10384           37 :                           {
   10385           37 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10386           37 :                             if (flag_unsafe_math_optimizations
   10387              : )
   10388              :                               {
   10389           15 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1439;
   10390           15 :                                 {
   10391           15 :                                   tree res_op0;
   10392           15 :                                   {
   10393           15 :                                     tree _o1[2], _r1;
   10394           15 :                                     _o1[0] = captures[1];
   10395           15 :                                     _o1[1] = captures[3];
   10396           15 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10397           15 :                                     res_op0 = _r1;
   10398              :                                   }
   10399           15 :                                   tree _r;
   10400           15 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRT, type, 1, res_op0);
   10401           15 :                                   if (!_r)
   10402            0 :                                     goto next_after_fail1439;
   10403           15 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 959, __FILE__, __LINE__, true);
   10404           15 :                                   return _r;
   10405              :                                 }
   10406           22 : next_after_fail1439:;
   10407              :                               }
   10408              :                           }
   10409              :                         }
   10410              :                       break;
   10411              :                     default:;
   10412              :                     }
   10413              :                   break;
   10414              :                 default:;
   10415              :                 }
   10416              :             }
   10417              :           break;
   10418            5 :         case CFN_BUILT_IN_LDEXPF:
   10419            5 :           if (call_expr_nargs (_p0) == 2)
   10420              :     {
   10421            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10422            5 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10423            5 :               switch (TREE_CODE (_p1))
   10424              :                 {
   10425            2 :                 case REAL_CST:
   10426            2 :                   {
   10427            2 :                     {
   10428            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   10429            2 :                       tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPF);
   10430            2 :                       if (res) return res;
   10431              :                     }
   10432            1 :                     break;
   10433              :                   }
   10434            4 :                 default:;
   10435              :                 }
   10436            4 :               switch (TREE_CODE (_q20))
   10437              :                 {
   10438            3 :                 case REAL_CST:
   10439            3 :                   {
   10440            3 :                     {
   10441            3 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   10442            3 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPF);
   10443            3 :                       if (res) return res;
   10444              :                     }
   10445            0 :                     break;
   10446              :                   }
   10447              :                 default:;
   10448              :                 }
   10449              :             }
   10450              :           break;
   10451            5 :         case CFN_BUILT_IN_LDEXPL:
   10452            5 :           if (call_expr_nargs (_p0) == 2)
   10453              :     {
   10454            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10455            5 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10456            5 :               switch (TREE_CODE (_p1))
   10457              :                 {
   10458            2 :                 case REAL_CST:
   10459            2 :                   {
   10460            2 :                     {
   10461            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   10462            2 :                       tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPL);
   10463            2 :                       if (res) return res;
   10464              :                     }
   10465            1 :                     break;
   10466              :                   }
   10467            4 :                 default:;
   10468              :                 }
   10469            4 :               switch (TREE_CODE (_q20))
   10470              :                 {
   10471            3 :                 case REAL_CST:
   10472            3 :                   {
   10473            3 :                     {
   10474            3 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   10475            3 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPL);
   10476            3 :                       if (res) return res;
   10477              :                     }
   10478            0 :                     break;
   10479              :                   }
   10480              :                 default:;
   10481              :                 }
   10482              :             }
   10483              :           break;
   10484            4 :         case CFN_BUILT_IN_SQRTF128:
   10485            4 :           if (call_expr_nargs (_p0) == 1)
   10486              :     {
   10487            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10488            4 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10489              :                 {
   10490            0 :                   {
   10491            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10492            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF128);
   10493            0 :                     if (res) return res;
   10494              :                   }
   10495              :                 }
   10496              :             }
   10497              :           break;
   10498            0 :         case CFN_BUILT_IN_SQRTF32X:
   10499            0 :           if (call_expr_nargs (_p0) == 1)
   10500              :     {
   10501            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10502            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10503              :                 {
   10504            0 :                   {
   10505            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10506            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF32X);
   10507            0 :                     if (res) return res;
   10508              :                   }
   10509              :                 }
   10510              :             }
   10511              :           break;
   10512            0 :         case CFN_BUILT_IN_SQRTF64X:
   10513            0 :           if (call_expr_nargs (_p0) == 1)
   10514              :     {
   10515            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10516            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10517              :                 {
   10518            0 :                   {
   10519            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10520            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF64X);
   10521            0 :                     if (res) return res;
   10522              :                   }
   10523              :                 }
   10524              :             }
   10525              :           break;
   10526            0 :         case CFN_BUILT_IN_SQRTF16:
   10527            0 :           if (call_expr_nargs (_p0) == 1)
   10528              :     {
   10529            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10530            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10531              :                 {
   10532            0 :                   {
   10533            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10534            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF16);
   10535            0 :                     if (res) return res;
   10536              :                   }
   10537              :                 }
   10538              :             }
   10539              :           break;
   10540            0 :         case CFN_BUILT_IN_SQRTF32:
   10541            0 :           if (call_expr_nargs (_p0) == 1)
   10542              :     {
   10543            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10544            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10545              :                 {
   10546            0 :                   {
   10547            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10548            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF32);
   10549            0 :                     if (res) return res;
   10550              :                   }
   10551              :                 }
   10552              :             }
   10553              :           break;
   10554            0 :         case CFN_BUILT_IN_SQRTF64:
   10555            0 :           if (call_expr_nargs (_p0) == 1)
   10556              :     {
   10557            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10558            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10559              :                 {
   10560            0 :                   {
   10561            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   10562            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF64);
   10563            0 :                     if (res) return res;
   10564              :                   }
   10565              :                 }
   10566              :             }
   10567              :           break;
   10568            0 :         case CFN_EXP:
   10569            0 :           if (call_expr_nargs (_p0) == 1)
   10570              :     {
   10571            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10572            0 :               switch (TREE_CODE (_p1))
   10573              :                 {
   10574            0 :                 case CALL_EXPR:
   10575            0 :                   switch (get_call_combined_fn (_p1))
   10576              :                     {
   10577            0 :                     case CFN_EXP:
   10578            0 :                       if (call_expr_nargs (_p1) == 1)
   10579              :     {
   10580            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10581            0 :                           {
   10582            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10583            0 :                             if (flag_unsafe_math_optimizations
   10584              : )
   10585              :                               {
   10586            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1440;
   10587            0 :                                 {
   10588            0 :                                   tree res_op0;
   10589            0 :                                   {
   10590            0 :                                     tree _o1[2], _r1;
   10591            0 :                                     _o1[0] = captures[1];
   10592            0 :                                     _o1[1] = captures[3];
   10593            0 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10594            0 :                                     res_op0 = _r1;
   10595              :                                   }
   10596            0 :                                   tree _r;
   10597            0 :                                   _r = maybe_build_call_expr_loc (loc, CFN_EXP, type, 1, res_op0);
   10598            0 :                                   if (!_r)
   10599            0 :                                     goto next_after_fail1440;
   10600            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 960, __FILE__, __LINE__, true);
   10601            0 :                                   return _r;
   10602              :                                 }
   10603            0 : next_after_fail1440:;
   10604              :                               }
   10605              :                           }
   10606              :                         }
   10607              :                       break;
   10608            0 :                     case CFN_POW:
   10609            0 :                       if (call_expr_nargs (_p1) == 2)
   10610              :     {
   10611            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10612            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   10613            0 :                           switch (TREE_CODE (_q40))
   10614              :                             {
   10615            0 :                             case REAL_CST:
   10616            0 :                               {
   10617            0 :                                 {
   10618            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   10619            0 :                                   if (flag_unsafe_math_optimizations
   10620              : )
   10621              :                                     {
   10622            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10623            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10624              : )
   10625              :                                         {
   10626            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1441;
   10627            0 :                                           {
   10628            0 :                                             tree res_op0;
   10629            0 :                                             {
   10630            0 :                                               tree _o1[2], _r1;
   10631            0 :                                               {
   10632            0 :                                                 tree _o2[2], _r2;
   10633            0 :                                                 {
   10634            0 :                                                   tree _o3[1], _r3;
   10635            0 :                                                   _o3[0] = captures[1];
   10636            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10637            0 :                                                   if (!_r3)
   10638            0 :                                                     goto next_after_fail1441;
   10639            0 :                                                   _o2[0] = _r3;
   10640              :                                                 }
   10641            0 :                                                 _o2[1] = captures[2];
   10642            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10643            0 :                                                 _o1[0] = _r2;
   10644              :                                               }
   10645            0 :                                               _o1[1] = captures[4];
   10646            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10647            0 :                                               res_op0 = _r1;
   10648              :                                             }
   10649            0 :                                             tree _r;
   10650            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP, type, 1, res_op0);
   10651            0 :                                             if (!_r)
   10652            0 :                                               goto next_after_fail1441;
   10653            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
   10654            0 :                                             return _r;
   10655              :                                           }
   10656            0 : next_after_fail1441:;
   10657              :                                         }
   10658              :                                     }
   10659              :                                 }
   10660            0 :                                 break;
   10661              :                               }
   10662              :                             default:;
   10663              :                             }
   10664              :                         }
   10665              :                       break;
   10666              :                     default:;
   10667              :                     }
   10668              :                   break;
   10669              :                 default:;
   10670              :                 }
   10671              :             }
   10672              :           break;
   10673            0 :         case CFN_POW:
   10674            0 :           if (call_expr_nargs (_p0) == 2)
   10675              :     {
   10676            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10677            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10678            0 :               switch (TREE_CODE (_q20))
   10679              :                 {
   10680            0 :                 case REAL_CST:
   10681            0 :                   {
   10682            0 :                     switch (TREE_CODE (_p1))
   10683              :                       {
   10684            0 :                       case CALL_EXPR:
   10685            0 :                         switch (get_call_combined_fn (_p1))
   10686              :                           {
   10687            0 :                           case CFN_EXP:
   10688            0 :                             if (call_expr_nargs (_p1) == 1)
   10689              :     {
   10690            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10691            0 :                                 {
   10692            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10693            0 :                                   if (flag_unsafe_math_optimizations
   10694              : )
   10695              :                                     {
   10696            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10697            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10698              : )
   10699              :                                         {
   10700            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1442;
   10701            0 :                                           {
   10702            0 :                                             tree res_op0;
   10703            0 :                                             {
   10704            0 :                                               tree _o1[2], _r1;
   10705            0 :                                               {
   10706            0 :                                                 tree _o2[2], _r2;
   10707            0 :                                                 {
   10708            0 :                                                   tree _o3[1], _r3;
   10709            0 :                                                   _o3[0] = captures[1];
   10710            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10711            0 :                                                   if (!_r3)
   10712            0 :                                                     goto next_after_fail1442;
   10713            0 :                                                   _o2[0] = _r3;
   10714              :                                                 }
   10715            0 :                                                 _o2[1] = captures[2];
   10716            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10717            0 :                                                 _o1[0] = _r2;
   10718              :                                               }
   10719            0 :                                               _o1[1] = captures[4];
   10720            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10721            0 :                                               res_op0 = _r1;
   10722              :                                             }
   10723            0 :                                             tree _r;
   10724            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP, type, 1, res_op0);
   10725            0 :                                             if (!_r)
   10726            0 :                                               goto next_after_fail1442;
   10727            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
   10728            0 :                                             return _r;
   10729              :                                           }
   10730            0 : next_after_fail1442:;
   10731              :                                         }
   10732              :                                     }
   10733              :                                 }
   10734              :                               }
   10735              :                             break;
   10736            0 :                           case CFN_EXP2:
   10737            0 :                             if (call_expr_nargs (_p1) == 1)
   10738              :     {
   10739            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10740            0 :                                 {
   10741            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10742            0 :                                   if (flag_unsafe_math_optimizations
   10743              : )
   10744              :                                     {
   10745            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10746            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10747              : )
   10748              :                                         {
   10749            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1443;
   10750            0 :                                           {
   10751            0 :                                             tree res_op0;
   10752            0 :                                             {
   10753            0 :                                               tree _o1[2], _r1;
   10754            0 :                                               {
   10755            0 :                                                 tree _o2[2], _r2;
   10756            0 :                                                 {
   10757            0 :                                                   tree _o3[1], _r3;
   10758            0 :                                                   _o3[0] = captures[1];
   10759            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10760            0 :                                                   if (!_r3)
   10761            0 :                                                     goto next_after_fail1443;
   10762            0 :                                                   _o2[0] = _r3;
   10763              :                                                 }
   10764            0 :                                                 _o2[1] = captures[2];
   10765            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10766            0 :                                                 _o1[0] = _r2;
   10767              :                                               }
   10768            0 :                                               _o1[1] = captures[4];
   10769            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10770            0 :                                               res_op0 = _r1;
   10771              :                                             }
   10772            0 :                                             tree _r;
   10773            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP2, type, 1, res_op0);
   10774            0 :                                             if (!_r)
   10775            0 :                                               goto next_after_fail1443;
   10776            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
   10777            0 :                                             return _r;
   10778              :                                           }
   10779            0 : next_after_fail1443:;
   10780              :                                         }
   10781              :                                     }
   10782              :                                 }
   10783              :                               }
   10784              :                             break;
   10785            0 :                           case CFN_EXP10:
   10786            0 :                             if (call_expr_nargs (_p1) == 1)
   10787              :     {
   10788            0 :                                 tree _q50 = CALL_EXPR_ARG (_p1, 0);
   10789            0 :                                 {
   10790            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10791            0 :                                   if (flag_unsafe_math_optimizations
   10792              : )
   10793              :                                     {
   10794            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10795            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10796              : )
   10797              :                                         {
   10798            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1444;
   10799            0 :                                           {
   10800            0 :                                             tree res_op0;
   10801            0 :                                             {
   10802            0 :                                               tree _o1[2], _r1;
   10803            0 :                                               {
   10804            0 :                                                 tree _o2[2], _r2;
   10805            0 :                                                 {
   10806            0 :                                                   tree _o3[1], _r3;
   10807            0 :                                                   _o3[0] = captures[1];
   10808            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10809            0 :                                                   if (!_r3)
   10810            0 :                                                     goto next_after_fail1444;
   10811            0 :                                                   _o2[0] = _r3;
   10812              :                                                 }
   10813            0 :                                                 _o2[1] = captures[2];
   10814            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10815            0 :                                                 _o1[0] = _r2;
   10816              :                                               }
   10817            0 :                                               _o1[1] = captures[4];
   10818            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10819            0 :                                               res_op0 = _r1;
   10820              :                                             }
   10821            0 :                                             tree _r;
   10822            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP10, type, 1, res_op0);
   10823            0 :                                             if (!_r)
   10824            0 :                                               goto next_after_fail1444;
   10825            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
   10826            0 :                                             return _r;
   10827              :                                           }
   10828            0 : next_after_fail1444:;
   10829              :                                         }
   10830              :                                     }
   10831              :                                 }
   10832              :                               }
   10833              :                             break;
   10834              :                           default:;
   10835              :                           }
   10836              :                         break;
   10837              :                       default:;
   10838              :                       }
   10839              :                     break;
   10840              :                   }
   10841            0 :                 default:;
   10842              :                 }
   10843            0 :               switch (TREE_CODE (_q21))
   10844              :                 {
   10845            0 :                 case REAL_CST:
   10846            0 :                   {
   10847            0 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10848              :                       {
   10849            0 :                         {
   10850            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
   10851            0 :                           tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_POW);
   10852            0 :                           if (res) return res;
   10853              :                         }
   10854              :                       }
   10855              :                     break;
   10856              :                   }
   10857              :                 default:;
   10858              :                 }
   10859              :             }
   10860              :           break;
   10861           24 :         case CFN_BUILT_IN_POW10F:
   10862           24 :           if (call_expr_nargs (_p0) == 1)
   10863              :     {
   10864           24 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10865           24 :               switch (TREE_CODE (_p1))
   10866              :                 {
   10867           12 :                 case CALL_EXPR:
   10868           12 :                   switch (get_call_combined_fn (_p1))
   10869              :                     {
   10870            0 :                     case CFN_BUILT_IN_POWF:
   10871            0 :                       if (call_expr_nargs (_p1) == 2)
   10872              :     {
   10873            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10874            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   10875            0 :                           switch (TREE_CODE (_q40))
   10876              :                             {
   10877            0 :                             case REAL_CST:
   10878            0 :                               {
   10879            0 :                                 {
   10880            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   10881            0 :                                   if (flag_unsafe_math_optimizations
   10882              : )
   10883              :                                     {
   10884            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10885            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10886              : )
   10887              :                                         {
   10888            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1445;
   10889            0 :                                           {
   10890            0 :                                             tree res_op0;
   10891            0 :                                             {
   10892            0 :                                               tree _o1[2], _r1;
   10893            0 :                                               {
   10894            0 :                                                 tree _o2[2], _r2;
   10895            0 :                                                 {
   10896            0 :                                                   tree _o3[1], _r3;
   10897            0 :                                                   _o3[0] = captures[1];
   10898            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
   10899            0 :                                                   if (!_r3)
   10900            0 :                                                     goto next_after_fail1445;
   10901            0 :                                                   _o2[0] = _r3;
   10902              :                                                 }
   10903            0 :                                                 _o2[1] = captures[2];
   10904            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   10905            0 :                                                 _o1[0] = _r2;
   10906              :                                               }
   10907            0 :                                               _o1[1] = captures[4];
   10908            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10909            0 :                                               res_op0 = _r1;
   10910              :                                             }
   10911            0 :                                             tree _r;
   10912            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, type, 1, res_op0);
   10913            0 :                                             if (!_r)
   10914            0 :                                               goto next_after_fail1445;
   10915            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
   10916            0 :                                             return _r;
   10917              :                                           }
   10918            0 : next_after_fail1445:;
   10919              :                                         }
   10920              :                                     }
   10921              :                                 }
   10922            0 :                                 break;
   10923              :                               }
   10924              :                             default:;
   10925              :                             }
   10926              :                         }
   10927              :                       break;
   10928           12 :                     case CFN_BUILT_IN_POW10F:
   10929           12 :                       if (call_expr_nargs (_p1) == 1)
   10930              :     {
   10931           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10932           12 :                           {
   10933           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10934           12 :                             if (flag_unsafe_math_optimizations
   10935              : )
   10936              :                               {
   10937           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1446;
   10938           12 :                                 {
   10939           12 :                                   tree res_op0;
   10940           12 :                                   {
   10941           12 :                                     tree _o1[2], _r1;
   10942           12 :                                     _o1[0] = captures[1];
   10943           12 :                                     _o1[1] = captures[3];
   10944           12 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   10945           12 :                                     res_op0 = _r1;
   10946              :                                   }
   10947           12 :                                   tree _r;
   10948           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, type, 1, res_op0);
   10949           12 :                                   if (!_r)
   10950           12 :                                     goto next_after_fail1446;
   10951            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 960, __FILE__, __LINE__, true);
   10952            0 :                                   return _r;
   10953              :                                 }
   10954           12 : next_after_fail1446:;
   10955              :                               }
   10956              :                           }
   10957              :                         }
   10958              :                       break;
   10959              :                     default:;
   10960              :                     }
   10961              :                   break;
   10962              :                 default:;
   10963              :                 }
   10964              :             }
   10965              :           break;
   10966           24 :         case CFN_BUILT_IN_POW10L:
   10967           24 :           if (call_expr_nargs (_p0) == 1)
   10968              :     {
   10969           24 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10970           24 :               switch (TREE_CODE (_p1))
   10971              :                 {
   10972           12 :                 case CALL_EXPR:
   10973           12 :                   switch (get_call_combined_fn (_p1))
   10974              :                     {
   10975            0 :                     case CFN_BUILT_IN_POWL:
   10976            0 :                       if (call_expr_nargs (_p1) == 2)
   10977              :     {
   10978            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10979            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   10980            0 :                           switch (TREE_CODE (_q40))
   10981              :                             {
   10982            0 :                             case REAL_CST:
   10983            0 :                               {
   10984            0 :                                 {
   10985            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   10986            0 :                                   if (flag_unsafe_math_optimizations
   10987              : )
   10988              :                                     {
   10989            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   10990            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   10991              : )
   10992              :                                         {
   10993            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1447;
   10994            0 :                                           {
   10995            0 :                                             tree res_op0;
   10996            0 :                                             {
   10997            0 :                                               tree _o1[2], _r1;
   10998            0 :                                               {
   10999            0 :                                                 tree _o2[2], _r2;
   11000            0 :                                                 {
   11001            0 :                                                   tree _o3[1], _r3;
   11002            0 :                                                   _o3[0] = captures[1];
   11003            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11004            0 :                                                   if (!_r3)
   11005            0 :                                                     goto next_after_fail1447;
   11006            0 :                                                   _o2[0] = _r3;
   11007              :                                                 }
   11008            0 :                                                 _o2[1] = captures[2];
   11009            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11010            0 :                                                 _o1[0] = _r2;
   11011              :                                               }
   11012            0 :                                               _o1[1] = captures[4];
   11013            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11014            0 :                                               res_op0 = _r1;
   11015              :                                             }
   11016            0 :                                             tree _r;
   11017            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, type, 1, res_op0);
   11018            0 :                                             if (!_r)
   11019            0 :                                               goto next_after_fail1447;
   11020            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
   11021            0 :                                             return _r;
   11022              :                                           }
   11023            0 : next_after_fail1447:;
   11024              :                                         }
   11025              :                                     }
   11026              :                                 }
   11027            0 :                                 break;
   11028              :                               }
   11029              :                             default:;
   11030              :                             }
   11031              :                         }
   11032              :                       break;
   11033           12 :                     case CFN_BUILT_IN_POW10L:
   11034           12 :                       if (call_expr_nargs (_p1) == 1)
   11035              :     {
   11036           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11037           12 :                           {
   11038           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11039           12 :                             if (flag_unsafe_math_optimizations
   11040              : )
   11041              :                               {
   11042           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1448;
   11043           12 :                                 {
   11044           12 :                                   tree res_op0;
   11045           12 :                                   {
   11046           12 :                                     tree _o1[2], _r1;
   11047           12 :                                     _o1[0] = captures[1];
   11048           12 :                                     _o1[1] = captures[3];
   11049           12 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11050           12 :                                     res_op0 = _r1;
   11051              :                                   }
   11052           12 :                                   tree _r;
   11053           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, type, 1, res_op0);
   11054           12 :                                   if (!_r)
   11055           12 :                                     goto next_after_fail1448;
   11056            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 960, __FILE__, __LINE__, true);
   11057            0 :                                   return _r;
   11058              :                                 }
   11059           12 : next_after_fail1448:;
   11060              :                               }
   11061              :                           }
   11062              :                         }
   11063              :                       break;
   11064              :                     default:;
   11065              :                     }
   11066              :                   break;
   11067              :                 default:;
   11068              :                 }
   11069              :             }
   11070              :           break;
   11071            0 :         case CFN_BUILT_IN_SQRTF128X:
   11072            0 :           if (call_expr_nargs (_p0) == 1)
   11073              :     {
   11074            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11075            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11076              :                 {
   11077            0 :                   {
   11078            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   11079            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF128X);
   11080            0 :                     if (res) return res;
   11081              :                   }
   11082              :                 }
   11083              :             }
   11084              :           break;
   11085            0 :         case CFN_EXP2:
   11086            0 :           if (call_expr_nargs (_p0) == 1)
   11087              :     {
   11088            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11089            0 :               switch (TREE_CODE (_p1))
   11090              :                 {
   11091            0 :                 case CALL_EXPR:
   11092            0 :                   switch (get_call_combined_fn (_p1))
   11093              :                     {
   11094            0 :                     case CFN_POW:
   11095            0 :                       if (call_expr_nargs (_p1) == 2)
   11096              :     {
   11097            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11098            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11099            0 :                           switch (TREE_CODE (_q40))
   11100              :                             {
   11101            0 :                             case REAL_CST:
   11102            0 :                               {
   11103            0 :                                 {
   11104            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11105            0 :                                   if (flag_unsafe_math_optimizations
   11106              : )
   11107              :                                     {
   11108            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11109            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11110              : )
   11111              :                                         {
   11112            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1449;
   11113            0 :                                           {
   11114            0 :                                             tree res_op0;
   11115            0 :                                             {
   11116            0 :                                               tree _o1[2], _r1;
   11117            0 :                                               {
   11118            0 :                                                 tree _o2[2], _r2;
   11119            0 :                                                 {
   11120            0 :                                                   tree _o3[1], _r3;
   11121            0 :                                                   _o3[0] = captures[1];
   11122            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11123            0 :                                                   if (!_r3)
   11124            0 :                                                     goto next_after_fail1449;
   11125            0 :                                                   _o2[0] = _r3;
   11126              :                                                 }
   11127            0 :                                                 _o2[1] = captures[2];
   11128            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11129            0 :                                                 _o1[0] = _r2;
   11130              :                                               }
   11131            0 :                                               _o1[1] = captures[4];
   11132            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11133            0 :                                               res_op0 = _r1;
   11134              :                                             }
   11135            0 :                                             tree _r;
   11136            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP2, type, 1, res_op0);
   11137            0 :                                             if (!_r)
   11138            0 :                                               goto next_after_fail1449;
   11139            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
   11140            0 :                                             return _r;
   11141              :                                           }
   11142            0 : next_after_fail1449:;
   11143              :                                         }
   11144              :                                     }
   11145              :                                 }
   11146            0 :                                 break;
   11147              :                               }
   11148              :                             default:;
   11149              :                             }
   11150              :                         }
   11151              :                       break;
   11152            0 :                     case CFN_EXP2:
   11153            0 :                       if (call_expr_nargs (_p1) == 1)
   11154              :     {
   11155            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11156            0 :                           {
   11157            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11158            0 :                             if (flag_unsafe_math_optimizations
   11159              : )
   11160              :                               {
   11161            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1450;
   11162            0 :                                 {
   11163            0 :                                   tree res_op0;
   11164            0 :                                   {
   11165            0 :                                     tree _o1[2], _r1;
   11166            0 :                                     _o1[0] = captures[1];
   11167            0 :                                     _o1[1] = captures[3];
   11168            0 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11169            0 :                                     res_op0 = _r1;
   11170              :                                   }
   11171            0 :                                   tree _r;
   11172            0 :                                   _r = maybe_build_call_expr_loc (loc, CFN_EXP2, type, 1, res_op0);
   11173            0 :                                   if (!_r)
   11174            0 :                                     goto next_after_fail1450;
   11175            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 960, __FILE__, __LINE__, true);
   11176            0 :                                   return _r;
   11177              :                                 }
   11178            0 : next_after_fail1450:;
   11179              :                               }
   11180              :                           }
   11181              :                         }
   11182              :                       break;
   11183              :                     default:;
   11184              :                     }
   11185              :                   break;
   11186              :                 default:;
   11187              :                 }
   11188              :             }
   11189              :           break;
   11190            0 :         case CFN_SQRT:
   11191            0 :           if (call_expr_nargs (_p0) == 1)
   11192              :     {
   11193            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11194            0 :               if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11195              :                 {
   11196            0 :                   {
   11197            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
   11198            0 :                     tree res = generic_simplify_195 (loc, type, _p0, _p1, captures, CFN_SQRT);
   11199            0 :                     if (res) return res;
   11200              :                   }
   11201              :                 }
   11202            0 :               switch (TREE_CODE (_p1))
   11203              :                 {
   11204            0 :                 case CALL_EXPR:
   11205            0 :                   switch (get_call_combined_fn (_p1))
   11206              :                     {
   11207            0 :                     case CFN_SQRT:
   11208            0 :                       if (call_expr_nargs (_p1) == 1)
   11209              :     {
   11210            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11211            0 :                           {
   11212            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11213            0 :                             if (flag_unsafe_math_optimizations
   11214              : )
   11215              :                               {
   11216            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1451;
   11217            0 :                                 {
   11218            0 :                                   tree res_op0;
   11219            0 :                                   {
   11220            0 :                                     tree _o1[2], _r1;
   11221            0 :                                     _o1[0] = captures[1];
   11222            0 :                                     _o1[1] = captures[3];
   11223            0 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11224            0 :                                     res_op0 = _r1;
   11225              :                                   }
   11226            0 :                                   tree _r;
   11227            0 :                                   _r = maybe_build_call_expr_loc (loc, CFN_SQRT, type, 1, res_op0);
   11228            0 :                                   if (!_r)
   11229            0 :                                     goto next_after_fail1451;
   11230            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 959, __FILE__, __LINE__, true);
   11231            0 :                                   return _r;
   11232              :                                 }
   11233            0 : next_after_fail1451:;
   11234              :                               }
   11235              :                           }
   11236              :                         }
   11237              :                       break;
   11238              :                     default:;
   11239              :                     }
   11240              :                   break;
   11241              :                 default:;
   11242              :                 }
   11243              :             }
   11244              :           break;
   11245            0 :         case CFN_EXP10:
   11246            0 :           if (call_expr_nargs (_p0) == 1)
   11247              :     {
   11248            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11249            0 :               switch (TREE_CODE (_p1))
   11250              :                 {
   11251            0 :                 case CALL_EXPR:
   11252            0 :                   switch (get_call_combined_fn (_p1))
   11253              :                     {
   11254            0 :                     case CFN_POW:
   11255            0 :                       if (call_expr_nargs (_p1) == 2)
   11256              :     {
   11257            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11258            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11259            0 :                           switch (TREE_CODE (_q40))
   11260              :                             {
   11261            0 :                             case REAL_CST:
   11262            0 :                               {
   11263            0 :                                 {
   11264            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11265            0 :                                   if (flag_unsafe_math_optimizations
   11266              : )
   11267              :                                     {
   11268            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11269            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11270              : )
   11271              :                                         {
   11272            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1452;
   11273            0 :                                           {
   11274            0 :                                             tree res_op0;
   11275            0 :                                             {
   11276            0 :                                               tree _o1[2], _r1;
   11277            0 :                                               {
   11278            0 :                                                 tree _o2[2], _r2;
   11279            0 :                                                 {
   11280            0 :                                                   tree _o3[1], _r3;
   11281            0 :                                                   _o3[0] = captures[1];
   11282            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11283            0 :                                                   if (!_r3)
   11284            0 :                                                     goto next_after_fail1452;
   11285            0 :                                                   _o2[0] = _r3;
   11286              :                                                 }
   11287            0 :                                                 _o2[1] = captures[2];
   11288            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11289            0 :                                                 _o1[0] = _r2;
   11290              :                                               }
   11291            0 :                                               _o1[1] = captures[4];
   11292            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11293            0 :                                               res_op0 = _r1;
   11294              :                                             }
   11295            0 :                                             tree _r;
   11296            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_EXP10, type, 1, res_op0);
   11297            0 :                                             if (!_r)
   11298            0 :                                               goto next_after_fail1452;
   11299            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
   11300            0 :                                             return _r;
   11301              :                                           }
   11302            0 : next_after_fail1452:;
   11303              :                                         }
   11304              :                                     }
   11305              :                                 }
   11306            0 :                                 break;
   11307              :                               }
   11308              :                             default:;
   11309              :                             }
   11310              :                         }
   11311              :                       break;
   11312            0 :                     case CFN_EXP10:
   11313            0 :                       if (call_expr_nargs (_p1) == 1)
   11314              :     {
   11315            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11316            0 :                           {
   11317            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11318            0 :                             if (flag_unsafe_math_optimizations
   11319              : )
   11320              :                               {
   11321            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1453;
   11322            0 :                                 {
   11323            0 :                                   tree res_op0;
   11324            0 :                                   {
   11325            0 :                                     tree _o1[2], _r1;
   11326            0 :                                     _o1[0] = captures[1];
   11327            0 :                                     _o1[1] = captures[3];
   11328            0 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11329            0 :                                     res_op0 = _r1;
   11330              :                                   }
   11331            0 :                                   tree _r;
   11332            0 :                                   _r = maybe_build_call_expr_loc (loc, CFN_EXP10, type, 1, res_op0);
   11333            0 :                                   if (!_r)
   11334            0 :                                     goto next_after_fail1453;
   11335            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 960, __FILE__, __LINE__, true);
   11336            0 :                                   return _r;
   11337              :                                 }
   11338            0 : next_after_fail1453:;
   11339              :                               }
   11340              :                           }
   11341              :                         }
   11342              :                       break;
   11343              :                     default:;
   11344              :                     }
   11345              :                   break;
   11346              :                 default:;
   11347              :                 }
   11348              :             }
   11349              :           break;
   11350           12 :         case CFN_BUILT_IN_CBRTF:
   11351           12 :           if (call_expr_nargs (_p0) == 1)
   11352              :     {
   11353           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11354           12 :               switch (TREE_CODE (_p1))
   11355              :                 {
   11356           12 :                 case CALL_EXPR:
   11357           12 :                   switch (get_call_combined_fn (_p1))
   11358              :                     {
   11359           12 :                     case CFN_BUILT_IN_CBRTF:
   11360           12 :                       if (call_expr_nargs (_p1) == 1)
   11361              :     {
   11362           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11363           12 :                           {
   11364           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11365           12 :                             if (flag_unsafe_math_optimizations
   11366              : )
   11367              :                               {
   11368           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1454;
   11369           12 :                                 {
   11370           12 :                                   tree res_op0;
   11371           12 :                                   {
   11372           12 :                                     tree _o1[2], _r1;
   11373           12 :                                     _o1[0] = captures[1];
   11374           12 :                                     _o1[1] = captures[3];
   11375           12 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11376           12 :                                     res_op0 = _r1;
   11377              :                                   }
   11378           12 :                                   tree _r;
   11379           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTF, type, 1, res_op0);
   11380           12 :                                   if (!_r)
   11381            0 :                                     goto next_after_fail1454;
   11382           12 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 959, __FILE__, __LINE__, true);
   11383           12 :                                   return _r;
   11384              :                                 }
   11385            0 : next_after_fail1454:;
   11386              :                               }
   11387              :                           }
   11388              :                         }
   11389              :                       break;
   11390              :                     default:;
   11391              :                     }
   11392              :                   break;
   11393              :                 default:;
   11394              :                 }
   11395              :             }
   11396              :           break;
   11397           12 :         case CFN_BUILT_IN_CBRTL:
   11398           12 :           if (call_expr_nargs (_p0) == 1)
   11399              :     {
   11400           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11401           12 :               switch (TREE_CODE (_p1))
   11402              :                 {
   11403           12 :                 case CALL_EXPR:
   11404           12 :                   switch (get_call_combined_fn (_p1))
   11405              :                     {
   11406           12 :                     case CFN_BUILT_IN_CBRTL:
   11407           12 :                       if (call_expr_nargs (_p1) == 1)
   11408              :     {
   11409           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11410           12 :                           {
   11411           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11412           12 :                             if (flag_unsafe_math_optimizations
   11413              : )
   11414              :                               {
   11415           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1455;
   11416           12 :                                 {
   11417           12 :                                   tree res_op0;
   11418           12 :                                   {
   11419           12 :                                     tree _o1[2], _r1;
   11420           12 :                                     _o1[0] = captures[1];
   11421           12 :                                     _o1[1] = captures[3];
   11422           12 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11423           12 :                                     res_op0 = _r1;
   11424              :                                   }
   11425           12 :                                   tree _r;
   11426           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTL, type, 1, res_op0);
   11427           12 :                                   if (!_r)
   11428            0 :                                     goto next_after_fail1455;
   11429           12 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 959, __FILE__, __LINE__, true);
   11430           12 :                                   return _r;
   11431              :                                 }
   11432            0 : next_after_fail1455:;
   11433              :                               }
   11434              :                           }
   11435              :                         }
   11436              :                       break;
   11437              :                     default:;
   11438              :                     }
   11439              :                   break;
   11440              :                 default:;
   11441              :                 }
   11442              :             }
   11443              :           break;
   11444            0 :         case CFN_LDEXP:
   11445            0 :           if (call_expr_nargs (_p0) == 2)
   11446              :     {
   11447            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11448            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   11449            0 :               switch (TREE_CODE (_p1))
   11450              :                 {
   11451            0 :                 case REAL_CST:
   11452            0 :                   {
   11453            0 :                     {
   11454            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   11455            0 :                       tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_LDEXP);
   11456            0 :                       if (res) return res;
   11457              :                     }
   11458            0 :                     break;
   11459              :                   }
   11460            0 :                 default:;
   11461              :                 }
   11462            0 :               switch (TREE_CODE (_q20))
   11463              :                 {
   11464            0 :                 case REAL_CST:
   11465            0 :                   {
   11466            0 :                     {
   11467            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   11468            0 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_LDEXP);
   11469            0 :                       if (res) return res;
   11470              :                     }
   11471            0 :                     break;
   11472              :                   }
   11473              :                 default:;
   11474              :                 }
   11475              :             }
   11476              :           break;
   11477           48 :         case CFN_BUILT_IN_EXP10:
   11478           48 :           if (call_expr_nargs (_p0) == 1)
   11479              :     {
   11480           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11481           48 :               switch (TREE_CODE (_p1))
   11482              :                 {
   11483           24 :                 case CALL_EXPR:
   11484           24 :                   switch (get_call_combined_fn (_p1))
   11485              :                     {
   11486            0 :                     case CFN_BUILT_IN_POW:
   11487            0 :                       if (call_expr_nargs (_p1) == 2)
   11488              :     {
   11489            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11490            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11491            0 :                           switch (TREE_CODE (_q40))
   11492              :                             {
   11493            0 :                             case REAL_CST:
   11494            0 :                               {
   11495            0 :                                 {
   11496            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11497            0 :                                   if (flag_unsafe_math_optimizations
   11498              : )
   11499              :                                     {
   11500            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11501            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11502              : )
   11503              :                                         {
   11504            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1456;
   11505            0 :                                           {
   11506            0 :                                             tree res_op0;
   11507            0 :                                             {
   11508            0 :                                               tree _o1[2], _r1;
   11509            0 :                                               {
   11510            0 :                                                 tree _o2[2], _r2;
   11511            0 :                                                 {
   11512            0 :                                                   tree _o3[1], _r3;
   11513            0 :                                                   _o3[0] = captures[1];
   11514            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11515            0 :                                                   if (!_r3)
   11516            0 :                                                     goto next_after_fail1456;
   11517            0 :                                                   _o2[0] = _r3;
   11518              :                                                 }
   11519            0 :                                                 _o2[1] = captures[2];
   11520            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11521            0 :                                                 _o1[0] = _r2;
   11522              :                                               }
   11523            0 :                                               _o1[1] = captures[4];
   11524            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11525            0 :                                               res_op0 = _r1;
   11526              :                                             }
   11527            0 :                                             tree _r;
   11528            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, type, 1, res_op0);
   11529            0 :                                             if (!_r)
   11530            0 :                                               goto next_after_fail1456;
   11531            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
   11532            0 :                                             return _r;
   11533              :                                           }
   11534            0 : next_after_fail1456:;
   11535              :                                         }
   11536              :                                     }
   11537              :                                 }
   11538            0 :                                 break;
   11539              :                               }
   11540              :                             default:;
   11541              :                             }
   11542              :                         }
   11543              :                       break;
   11544           24 :                     case CFN_BUILT_IN_EXP10:
   11545           24 :                       if (call_expr_nargs (_p1) == 1)
   11546              :     {
   11547           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11548           24 :                           {
   11549           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11550           24 :                             if (flag_unsafe_math_optimizations
   11551              : )
   11552              :                               {
   11553           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1457;
   11554           24 :                                 {
   11555           24 :                                   tree res_op0;
   11556           24 :                                   {
   11557           24 :                                     tree _o1[2], _r1;
   11558           24 :                                     _o1[0] = captures[1];
   11559           24 :                                     _o1[1] = captures[3];
   11560           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11561           24 :                                     res_op0 = _r1;
   11562              :                                   }
   11563           24 :                                   tree _r;
   11564           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, type, 1, res_op0);
   11565           24 :                                   if (!_r)
   11566            0 :                                     goto next_after_fail1457;
   11567           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 960, __FILE__, __LINE__, true);
   11568           24 :                                   return _r;
   11569              :                                 }
   11570            0 : next_after_fail1457:;
   11571              :                               }
   11572              :                           }
   11573              :                         }
   11574              :                       break;
   11575              :                     default:;
   11576              :                     }
   11577              :                   break;
   11578              :                 default:;
   11579              :                 }
   11580              :             }
   11581              :           break;
   11582           48 :         case CFN_BUILT_IN_EXP2F:
   11583           48 :           if (call_expr_nargs (_p0) == 1)
   11584              :     {
   11585           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11586           48 :               switch (TREE_CODE (_p1))
   11587              :                 {
   11588           24 :                 case CALL_EXPR:
   11589           24 :                   switch (get_call_combined_fn (_p1))
   11590              :                     {
   11591            0 :                     case CFN_BUILT_IN_POWF:
   11592            0 :                       if (call_expr_nargs (_p1) == 2)
   11593              :     {
   11594            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11595            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11596            0 :                           switch (TREE_CODE (_q40))
   11597              :                             {
   11598            0 :                             case REAL_CST:
   11599            0 :                               {
   11600            0 :                                 {
   11601            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11602            0 :                                   if (flag_unsafe_math_optimizations
   11603              : )
   11604              :                                     {
   11605            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11606            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11607              : )
   11608              :                                         {
   11609            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1458;
   11610            0 :                                           {
   11611            0 :                                             tree res_op0;
   11612            0 :                                             {
   11613            0 :                                               tree _o1[2], _r1;
   11614            0 :                                               {
   11615            0 :                                                 tree _o2[2], _r2;
   11616            0 :                                                 {
   11617            0 :                                                   tree _o3[1], _r3;
   11618            0 :                                                   _o3[0] = captures[1];
   11619            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2F, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11620            0 :                                                   if (!_r3)
   11621            0 :                                                     goto next_after_fail1458;
   11622            0 :                                                   _o2[0] = _r3;
   11623              :                                                 }
   11624            0 :                                                 _o2[1] = captures[2];
   11625            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11626            0 :                                                 _o1[0] = _r2;
   11627              :                                               }
   11628            0 :                                               _o1[1] = captures[4];
   11629            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11630            0 :                                               res_op0 = _r1;
   11631              :                                             }
   11632            0 :                                             tree _r;
   11633            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, type, 1, res_op0);
   11634            0 :                                             if (!_r)
   11635            0 :                                               goto next_after_fail1458;
   11636            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
   11637            0 :                                             return _r;
   11638              :                                           }
   11639            0 : next_after_fail1458:;
   11640              :                                         }
   11641              :                                     }
   11642              :                                 }
   11643            0 :                                 break;
   11644              :                               }
   11645              :                             default:;
   11646              :                             }
   11647              :                         }
   11648              :                       break;
   11649           24 :                     case CFN_BUILT_IN_EXP2F:
   11650           24 :                       if (call_expr_nargs (_p1) == 1)
   11651              :     {
   11652           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11653           24 :                           {
   11654           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11655           24 :                             if (flag_unsafe_math_optimizations
   11656              : )
   11657              :                               {
   11658           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1459;
   11659           24 :                                 {
   11660           24 :                                   tree res_op0;
   11661           24 :                                   {
   11662           24 :                                     tree _o1[2], _r1;
   11663           24 :                                     _o1[0] = captures[1];
   11664           24 :                                     _o1[1] = captures[3];
   11665           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11666           24 :                                     res_op0 = _r1;
   11667              :                                   }
   11668           24 :                                   tree _r;
   11669           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, type, 1, res_op0);
   11670           24 :                                   if (!_r)
   11671            0 :                                     goto next_after_fail1459;
   11672           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 960, __FILE__, __LINE__, true);
   11673           24 :                                   return _r;
   11674              :                                 }
   11675            0 : next_after_fail1459:;
   11676              :                               }
   11677              :                           }
   11678              :                         }
   11679              :                       break;
   11680              :                     default:;
   11681              :                     }
   11682              :                   break;
   11683              :                 default:;
   11684              :                 }
   11685              :             }
   11686              :           break;
   11687           48 :         case CFN_BUILT_IN_EXP2L:
   11688           48 :           if (call_expr_nargs (_p0) == 1)
   11689              :     {
   11690           48 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11691           48 :               switch (TREE_CODE (_p1))
   11692              :                 {
   11693           24 :                 case CALL_EXPR:
   11694           24 :                   switch (get_call_combined_fn (_p1))
   11695              :                     {
   11696            0 :                     case CFN_BUILT_IN_POWL:
   11697            0 :                       if (call_expr_nargs (_p1) == 2)
   11698              :     {
   11699            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11700            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11701            0 :                           switch (TREE_CODE (_q40))
   11702              :                             {
   11703            0 :                             case REAL_CST:
   11704            0 :                               {
   11705            0 :                                 {
   11706            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11707            0 :                                   if (flag_unsafe_math_optimizations
   11708              : )
   11709              :                                     {
   11710            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11711            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11712              : )
   11713              :                                         {
   11714            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1460;
   11715            0 :                                           {
   11716            0 :                                             tree res_op0;
   11717            0 :                                             {
   11718            0 :                                               tree _o1[2], _r1;
   11719            0 :                                               {
   11720            0 :                                                 tree _o2[2], _r2;
   11721            0 :                                                 {
   11722            0 :                                                   tree _o3[1], _r3;
   11723            0 :                                                   _o3[0] = captures[1];
   11724            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2L, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11725            0 :                                                   if (!_r3)
   11726            0 :                                                     goto next_after_fail1460;
   11727            0 :                                                   _o2[0] = _r3;
   11728              :                                                 }
   11729            0 :                                                 _o2[1] = captures[2];
   11730            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11731            0 :                                                 _o1[0] = _r2;
   11732              :                                               }
   11733            0 :                                               _o1[1] = captures[4];
   11734            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11735            0 :                                               res_op0 = _r1;
   11736              :                                             }
   11737            0 :                                             tree _r;
   11738            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, type, 1, res_op0);
   11739            0 :                                             if (!_r)
   11740            0 :                                               goto next_after_fail1460;
   11741            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
   11742            0 :                                             return _r;
   11743              :                                           }
   11744            0 : next_after_fail1460:;
   11745              :                                         }
   11746              :                                     }
   11747              :                                 }
   11748            0 :                                 break;
   11749              :                               }
   11750              :                             default:;
   11751              :                             }
   11752              :                         }
   11753              :                       break;
   11754           24 :                     case CFN_BUILT_IN_EXP2L:
   11755           24 :                       if (call_expr_nargs (_p1) == 1)
   11756              :     {
   11757           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11758           24 :                           {
   11759           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11760           24 :                             if (flag_unsafe_math_optimizations
   11761              : )
   11762              :                               {
   11763           24 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1461;
   11764           24 :                                 {
   11765           24 :                                   tree res_op0;
   11766           24 :                                   {
   11767           24 :                                     tree _o1[2], _r1;
   11768           24 :                                     _o1[0] = captures[1];
   11769           24 :                                     _o1[1] = captures[3];
   11770           24 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11771           24 :                                     res_op0 = _r1;
   11772              :                                   }
   11773           24 :                                   tree _r;
   11774           24 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, type, 1, res_op0);
   11775           24 :                                   if (!_r)
   11776            0 :                                     goto next_after_fail1461;
   11777           24 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 960, __FILE__, __LINE__, true);
   11778           24 :                                   return _r;
   11779              :                                 }
   11780            0 : next_after_fail1461:;
   11781              :                               }
   11782              :                           }
   11783              :                         }
   11784              :                       break;
   11785              :                     default:;
   11786              :                     }
   11787              :                   break;
   11788              :                 default:;
   11789              :                 }
   11790              :             }
   11791              :           break;
   11792            5 :         case CFN_BUILT_IN_LDEXP:
   11793            5 :           if (call_expr_nargs (_p0) == 2)
   11794              :     {
   11795            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11796            5 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   11797            5 :               switch (TREE_CODE (_p1))
   11798              :                 {
   11799            2 :                 case REAL_CST:
   11800            2 :                   {
   11801            2 :                     {
   11802            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   11803            2 :                       tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXP);
   11804            2 :                       if (res) return res;
   11805              :                     }
   11806            1 :                     break;
   11807              :                   }
   11808            4 :                 default:;
   11809              :                 }
   11810            4 :               switch (TREE_CODE (_q20))
   11811              :                 {
   11812            3 :                 case REAL_CST:
   11813            3 :                   {
   11814            3 :                     {
   11815            3 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
   11816            3 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXP);
   11817            3 :                       if (res) return res;
   11818              :                     }
   11819            0 :                     break;
   11820              :                   }
   11821              :                 default:;
   11822              :                 }
   11823              :             }
   11824              :           break;
   11825           24 :         case CFN_BUILT_IN_POW10:
   11826           24 :           if (call_expr_nargs (_p0) == 1)
   11827              :     {
   11828           24 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11829           24 :               switch (TREE_CODE (_p1))
   11830              :                 {
   11831           12 :                 case CALL_EXPR:
   11832           12 :                   switch (get_call_combined_fn (_p1))
   11833              :                     {
   11834            0 :                     case CFN_BUILT_IN_POW:
   11835            0 :                       if (call_expr_nargs (_p1) == 2)
   11836              :     {
   11837            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11838            0 :                           tree _q41 = CALL_EXPR_ARG (_p1, 1);
   11839            0 :                           switch (TREE_CODE (_q40))
   11840              :                             {
   11841            0 :                             case REAL_CST:
   11842            0 :                               {
   11843            0 :                                 {
   11844            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
   11845            0 :                                   if (flag_unsafe_math_optimizations
   11846              : )
   11847              :                                     {
   11848            0 :                                       if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
   11849            0 :  && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
   11850              : )
   11851              :                                         {
   11852            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1462;
   11853            0 :                                           {
   11854            0 :                                             tree res_op0;
   11855            0 :                                             {
   11856            0 :                                               tree _o1[2], _r1;
   11857            0 :                                               {
   11858            0 :                                                 tree _o2[2], _r2;
   11859            0 :                                                 {
   11860            0 :                                                   tree _o3[1], _r3;
   11861            0 :                                                   _o3[0] = captures[1];
   11862            0 :                                                   _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
   11863            0 :                                                   if (!_r3)
   11864            0 :                                                     goto next_after_fail1462;
   11865            0 :                                                   _o2[0] = _r3;
   11866              :                                                 }
   11867            0 :                                                 _o2[1] = captures[2];
   11868            0 :                                                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   11869            0 :                                                 _o1[0] = _r2;
   11870              :                                               }
   11871            0 :                                               _o1[1] = captures[4];
   11872            0 :                                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11873            0 :                                               res_op0 = _r1;
   11874              :                                             }
   11875            0 :                                             tree _r;
   11876            0 :                                             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, type, 1, res_op0);
   11877            0 :                                             if (!_r)
   11878            0 :                                               goto next_after_fail1462;
   11879            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 961, __FILE__, __LINE__, true);
   11880            0 :                                             return _r;
   11881              :                                           }
   11882            0 : next_after_fail1462:;
   11883              :                                         }
   11884              :                                     }
   11885              :                                 }
   11886            0 :                                 break;
   11887              :                               }
   11888              :                             default:;
   11889              :                             }
   11890              :                         }
   11891              :                       break;
   11892           12 :                     case CFN_BUILT_IN_POW10:
   11893           12 :                       if (call_expr_nargs (_p1) == 1)
   11894              :     {
   11895           12 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   11896           12 :                           {
   11897           12 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11898           12 :                             if (flag_unsafe_math_optimizations
   11899              : )
   11900              :                               {
   11901           12 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1463;
   11902           12 :                                 {
   11903           12 :                                   tree res_op0;
   11904           12 :                                   {
   11905           12 :                                     tree _o1[2], _r1;
   11906           12 :                                     _o1[0] = captures[1];
   11907           12 :                                     _o1[1] = captures[3];
   11908           12 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11909           12 :                                     res_op0 = _r1;
   11910              :                                   }
   11911           12 :                                   tree _r;
   11912           12 :                                   _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, type, 1, res_op0);
   11913           12 :                                   if (!_r)
   11914           12 :                                     goto next_after_fail1463;
   11915            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 960, __FILE__, __LINE__, true);
   11916            0 :                                   return _r;
   11917              :                                 }
   11918           12 : next_after_fail1463:;
   11919              :                               }
   11920              :                           }
   11921              :                         }
   11922              :                       break;
   11923              :                     default:;
   11924              :                     }
   11925              :                   break;
   11926              :                 default:;
   11927              :                 }
   11928              :             }
   11929              :           break;
   11930              :         default:;
   11931              :         }
   11932              :       break;
   11933     66309274 :     default:;
   11934              :     }
   11935     66309274 :   switch (TREE_CODE (_p1))
   11936              :     {
   11937       862104 :     case CALL_EXPR:
   11938       862104 :       switch (get_call_combined_fn (_p1))
   11939              :         {
   11940            0 :         case CFN_BUILT_IN_LDEXPF:
   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_198 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPF);
   11952            0 :                       if (res) return res;
   11953              :                     }
   11954            0 :                     break;
   11955              :                   }
   11956              :                 default:;
   11957              :                 }
   11958              :             }
   11959              :           break;
   11960            0 :         case CFN_BUILT_IN_LDEXPL:
   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_198 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXPL);
   11972            0 :                       if (res) return res;
   11973              :                     }
   11974            0 :                     break;
   11975              :                   }
   11976              :                 default:;
   11977              :                 }
   11978              :             }
   11979              :           break;
   11980            0 :         case CFN_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_198 (loc, type, _p0, _p1, captures, CFN_LDEXP);
   11992            0 :                       if (res) return res;
   11993              :                     }
   11994            0 :                     break;
   11995              :                   }
   11996              :                 default:;
   11997              :                 }
   11998              :             }
   11999              :           break;
   12000            0 :         case CFN_BUILT_IN_LDEXP:
   12001            0 :           if (call_expr_nargs (_p1) == 2)
   12002              :     {
   12003            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12004            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12005            0 :               switch (TREE_CODE (_q30))
   12006              :                 {
   12007            0 :                 case REAL_CST:
   12008            0 :                   {
   12009            0 :                     {
   12010            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
   12011            0 :                       tree res = generic_simplify_198 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LDEXP);
   12012            0 :                       if (res) return res;
   12013              :                     }
   12014            0 :                     break;
   12015              :                   }
   12016              :                 default:;
   12017              :                 }
   12018              :             }
   12019              :           break;
   12020              :         default:;
   12021              :         }
   12022              :       break;
   12023     66309274 :     default:;
   12024              :     }
   12025     66309274 :   switch (TREE_CODE (_p0))
   12026              :     {
   12027      2573883 :     case CALL_EXPR:
   12028      2573883 :       switch (get_call_combined_fn (_p0))
   12029              :         {
   12030           29 :         case CFN_BUILT_IN_COS:
   12031           29 :           if (call_expr_nargs (_p0) == 1)
   12032              :     {
   12033           29 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12034           29 :               switch (TREE_CODE (_p1))
   12035              :                 {
   12036            4 :                 case CALL_EXPR:
   12037            4 :                   switch (get_call_combined_fn (_p1))
   12038              :                     {
   12039            2 :                     case CFN_BUILT_IN_TAN:
   12040            2 :                       if (call_expr_nargs (_p1) == 1)
   12041              :     {
   12042            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12043            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12044              :                             {
   12045            2 :                               {
   12046            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
   12047            2 :                                 tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_COS, CFN_BUILT_IN_SIN);
   12048            2 :                                 if (res) return res;
   12049              :                               }
   12050              :                             }
   12051              :                         }
   12052              :                       break;
   12053              :                     default:;
   12054              :                     }
   12055              :                   break;
   12056              :                 default:;
   12057              :                 }
   12058              :             }
   12059              :           break;
   12060            2 :         case CFN_BUILT_IN_TAN:
   12061            2 :           if (call_expr_nargs (_p0) == 1)
   12062              :     {
   12063            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12064            2 :               switch (TREE_CODE (_p1))
   12065              :                 {
   12066            2 :                 case CALL_EXPR:
   12067            2 :                   switch (get_call_combined_fn (_p1))
   12068              :                     {
   12069            2 :                     case CFN_BUILT_IN_COS:
   12070            2 :                       if (call_expr_nargs (_p1) == 1)
   12071              :     {
   12072            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12073            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12074              :                             {
   12075            2 :                               {
   12076            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   12077            2 :                                 tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_COS, CFN_BUILT_IN_SIN);
   12078            2 :                                 if (res) return res;
   12079              :                               }
   12080              :                             }
   12081              :                         }
   12082              :                       break;
   12083              :                     default:;
   12084              :                     }
   12085              :                   break;
   12086              :                 default:;
   12087              :                 }
   12088              :             }
   12089              :           break;
   12090           18 :         case CFN_BUILT_IN_COSF:
   12091           18 :           if (call_expr_nargs (_p0) == 1)
   12092              :     {
   12093           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12094           18 :               switch (TREE_CODE (_p1))
   12095              :                 {
   12096            9 :                 case CALL_EXPR:
   12097            9 :                   switch (get_call_combined_fn (_p1))
   12098              :                     {
   12099            2 :                     case CFN_BUILT_IN_TANF:
   12100            2 :                       if (call_expr_nargs (_p1) == 1)
   12101              :     {
   12102            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12103            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12104              :                             {
   12105            2 :                               {
   12106            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
   12107            2 :                                 tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_SINF);
   12108            2 :                                 if (res) return res;
   12109              :                               }
   12110              :                             }
   12111              :                         }
   12112              :                       break;
   12113              :                     default:;
   12114              :                     }
   12115              :                   break;
   12116              :                 default:;
   12117              :                 }
   12118              :             }
   12119              :           break;
   12120            2 :         case CFN_BUILT_IN_COSL:
   12121            2 :           if (call_expr_nargs (_p0) == 1)
   12122              :     {
   12123            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12124            2 :               switch (TREE_CODE (_p1))
   12125              :                 {
   12126            2 :                 case CALL_EXPR:
   12127            2 :                   switch (get_call_combined_fn (_p1))
   12128              :                     {
   12129            2 :                     case CFN_BUILT_IN_TANL:
   12130            2 :                       if (call_expr_nargs (_p1) == 1)
   12131              :     {
   12132            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12133            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12134              :                             {
   12135            2 :                               {
   12136            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
   12137            2 :                                 tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_SINL);
   12138            2 :                                 if (res) return res;
   12139              :                               }
   12140              :                             }
   12141              :                         }
   12142              :                       break;
   12143              :                     default:;
   12144              :                     }
   12145              :                   break;
   12146              :                 default:;
   12147              :                 }
   12148              :             }
   12149              :           break;
   12150            2 :         case CFN_BUILT_IN_TANF:
   12151            2 :           if (call_expr_nargs (_p0) == 1)
   12152              :     {
   12153            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12154            2 :               switch (TREE_CODE (_p1))
   12155              :                 {
   12156            2 :                 case CALL_EXPR:
   12157            2 :                   switch (get_call_combined_fn (_p1))
   12158              :                     {
   12159            2 :                     case CFN_BUILT_IN_COSF:
   12160            2 :                       if (call_expr_nargs (_p1) == 1)
   12161              :     {
   12162            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12163            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12164              :                             {
   12165            2 :                               {
   12166            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   12167            2 :                                 tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_SINF);
   12168            2 :                                 if (res) return res;
   12169              :                               }
   12170              :                             }
   12171              :                         }
   12172              :                       break;
   12173              :                     default:;
   12174              :                     }
   12175              :                   break;
   12176              :                 default:;
   12177              :                 }
   12178              :             }
   12179              :           break;
   12180            2 :         case CFN_BUILT_IN_TANL:
   12181            2 :           if (call_expr_nargs (_p0) == 1)
   12182              :     {
   12183            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12184            2 :               switch (TREE_CODE (_p1))
   12185              :                 {
   12186            2 :                 case CALL_EXPR:
   12187            2 :                   switch (get_call_combined_fn (_p1))
   12188              :                     {
   12189            2 :                     case CFN_BUILT_IN_COSL:
   12190            2 :                       if (call_expr_nargs (_p1) == 1)
   12191              :     {
   12192            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12193            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12194              :                             {
   12195            2 :                               {
   12196            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   12197            2 :                                 tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_SINL);
   12198            2 :                                 if (res) return res;
   12199              :                               }
   12200              :                             }
   12201              :                         }
   12202              :                       break;
   12203              :                     default:;
   12204              :                     }
   12205              :                   break;
   12206              :                 default:;
   12207              :                 }
   12208              :             }
   12209              :           break;
   12210            0 :         case CFN_COS:
   12211            0 :           if (call_expr_nargs (_p0) == 1)
   12212              :     {
   12213            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12214            0 :               switch (TREE_CODE (_p1))
   12215              :                 {
   12216            0 :                 case CALL_EXPR:
   12217            0 :                   switch (get_call_combined_fn (_p1))
   12218              :                     {
   12219            0 :                     case CFN_TAN:
   12220            0 :                       if (call_expr_nargs (_p1) == 1)
   12221              :     {
   12222            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12223            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12224              :                             {
   12225            0 :                               {
   12226            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
   12227            0 :                                 tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_TAN, CFN_COS, CFN_SIN);
   12228            0 :                                 if (res) return res;
   12229              :                               }
   12230              :                             }
   12231              :                         }
   12232              :                       break;
   12233              :                     default:;
   12234              :                     }
   12235              :                   break;
   12236              :                 default:;
   12237              :                 }
   12238              :             }
   12239              :           break;
   12240            0 :         case CFN_TAN:
   12241            0 :           if (call_expr_nargs (_p0) == 1)
   12242              :     {
   12243            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12244            0 :               switch (TREE_CODE (_p1))
   12245              :                 {
   12246            0 :                 case CALL_EXPR:
   12247            0 :                   switch (get_call_combined_fn (_p1))
   12248              :                     {
   12249            0 :                     case CFN_COS:
   12250            0 :                       if (call_expr_nargs (_p1) == 1)
   12251              :     {
   12252            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12253            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   12254              :                             {
   12255            0 :                               {
   12256            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   12257            0 :                                 tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, CFN_TAN, CFN_COS, CFN_SIN);
   12258            0 :                                 if (res) return res;
   12259              :                               }
   12260              :                             }
   12261              :                         }
   12262              :                       break;
   12263              :                     default:;
   12264              :                     }
   12265              :                   break;
   12266              :                 default:;
   12267              :                 }
   12268              :             }
   12269              :           break;
   12270              :         default:;
   12271              :         }
   12272              :       break;
   12273     66309262 :     default:;
   12274              :     }
   12275     66309262 :   switch (TREE_CODE (_p1))
   12276              :     {
   12277       862092 :     case CALL_EXPR:
   12278       862092 :       switch (get_call_combined_fn (_p1))
   12279              :         {
   12280           60 :         case CFN_BUILT_IN_POW:
   12281           60 :           if (call_expr_nargs (_p1) == 2)
   12282              :     {
   12283           60 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12284           60 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12285           60 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12286              :                 {
   12287            0 :                   switch (TREE_CODE (_q31))
   12288              :                     {
   12289            0 :                     case REAL_CST:
   12290            0 :                       {
   12291            0 :                         {
   12292            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   12293            0 :                           tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
   12294            0 :                           if (res) return res;
   12295              :                         }
   12296            0 :                         break;
   12297              :                       }
   12298              :                     default:;
   12299              :                     }
   12300              :                 }
   12301              :             }
   12302              :           break;
   12303           23 :         case CFN_BUILT_IN_POWF:
   12304           23 :           if (call_expr_nargs (_p1) == 2)
   12305              :     {
   12306           23 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12307           23 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12308           23 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12309              :                 {
   12310            0 :                   switch (TREE_CODE (_q31))
   12311              :                     {
   12312            0 :                     case REAL_CST:
   12313            0 :                       {
   12314            0 :                         {
   12315            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   12316            0 :                           tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
   12317            0 :                           if (res) return res;
   12318              :                         }
   12319            0 :                         break;
   12320              :                       }
   12321              :                     default:;
   12322              :                     }
   12323              :                 }
   12324              :             }
   12325              :           break;
   12326           12 :         case CFN_BUILT_IN_POWL:
   12327           12 :           if (call_expr_nargs (_p1) == 2)
   12328              :     {
   12329           12 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12330           12 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12331           12 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12332              :                 {
   12333            0 :                   switch (TREE_CODE (_q31))
   12334              :                     {
   12335            0 :                     case REAL_CST:
   12336            0 :                       {
   12337            0 :                         {
   12338            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   12339            0 :                           tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
   12340            0 :                           if (res) return res;
   12341              :                         }
   12342            0 :                         break;
   12343              :                       }
   12344              :                     default:;
   12345              :                     }
   12346              :                 }
   12347              :             }
   12348              :           break;
   12349            0 :         case CFN_POW:
   12350            0 :           if (call_expr_nargs (_p1) == 2)
   12351              :     {
   12352            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   12353            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   12354            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12355              :                 {
   12356            0 :                   switch (TREE_CODE (_q31))
   12357              :                     {
   12358            0 :                     case REAL_CST:
   12359            0 :                       {
   12360            0 :                         {
   12361            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   12362            0 :                           tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, CFN_POW);
   12363            0 :                           if (res) return res;
   12364              :                         }
   12365            0 :                         break;
   12366              :                       }
   12367              :                     default:;
   12368              :                     }
   12369              :                 }
   12370              :             }
   12371              :           break;
   12372              :         default:;
   12373              :         }
   12374              :       break;
   12375     66309262 :     default:;
   12376              :     }
   12377     66309262 :   switch (TREE_CODE (_p0))
   12378              :     {
   12379            1 :     case VEC_PERM_EXPR:
   12380            1 :       {
   12381            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12382            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12383            1 :         tree _q22 = TREE_OPERAND (_p0, 2);
   12384            1 :         if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
   12385              :           {
   12386            1 :             switch (TREE_CODE (_p1))
   12387              :               {
   12388            0 :               case VEC_PERM_EXPR:
   12389            0 :                 {
   12390            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
   12391            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
   12392            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
   12393            0 :                   if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
   12394              :                     {
   12395            0 :                       if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
   12396              :                         {
   12397            0 :                           {
   12398            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
   12399            0 :                             if (VECTOR_INTEGER_TYPE_P (type)
   12400              : )
   12401              :                               {
   12402            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1464;
   12403            0 :                                 {
   12404            0 :                                   tree res_op0;
   12405            0 :                                   {
   12406            0 :                                     tree _o1[2], _r1;
   12407            0 :                                     _o1[0] = captures[0];
   12408            0 :                                     _o1[1] = captures[2];
   12409            0 :                                     _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12410            0 :                                     captures[3] = _r1;
   12411              :                                   }
   12412            0 :                                   res_op0 = unshare_expr (captures[3]);
   12413            0 :                                   tree res_op1;
   12414            0 :                                   res_op1 = captures[3];
   12415            0 :                                   tree res_op2;
   12416            0 :                                   res_op2 = captures[1];
   12417            0 :                                   tree _r;
   12418            0 :                                   _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
   12419            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 879, __FILE__, __LINE__, true);
   12420            0 :                                   return _r;
   12421              :                                 }
   12422            0 : next_after_fail1464:;
   12423              :                               }
   12424              :                           }
   12425              :                         }
   12426              :                     }
   12427              :                   break;
   12428              :                 }
   12429            1 :               default:;
   12430              :               }
   12431            1 :             switch (TREE_CODE (_q22))
   12432              :               {
   12433            0 :               case VECTOR_CST:
   12434            0 :                 {
   12435            0 :                   switch (TREE_CODE (_p1))
   12436              :                     {
   12437            0 :                     case VEC_PERM_EXPR:
   12438            0 :                       {
   12439            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   12440            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   12441            0 :                         tree _q62 = TREE_OPERAND (_p1, 2);
   12442            0 :                         if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
   12443              :                           {
   12444            0 :                             if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
   12445              :                               {
   12446            0 :                                 switch (TREE_CODE (_q62))
   12447              :                                   {
   12448            0 :                                   case VECTOR_CST:
   12449            0 :                                     {
   12450            0 :                                       {
   12451            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
   12452            0 :                                         tree res = generic_simplify_39 (loc, type, _p0, _p1, captures, MULT_EXPR);
   12453            0 :                                         if (res) return res;
   12454              :                                       }
   12455            0 :                                       break;
   12456              :                                     }
   12457              :                                   default:;
   12458              :                                   }
   12459              :                               }
   12460              :                           }
   12461              :                         break;
   12462              :                       }
   12463              :                     default:;
   12464              :                     }
   12465              :                   break;
   12466              :                 }
   12467              :               default:;
   12468              :               }
   12469              :           }
   12470              :         break;
   12471              :       }
   12472      2573871 :     case CALL_EXPR:
   12473      2573871 :       switch (get_call_combined_fn (_p0))
   12474              :         {
   12475          115 :         case CFN_BUILT_IN_POW:
   12476          115 :           if (call_expr_nargs (_p0) == 2)
   12477              :     {
   12478          115 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12479          115 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12480          115 :               switch (TREE_CODE (_p1))
   12481              :                 {
   12482           80 :                 case CALL_EXPR:
   12483           80 :                   switch (get_call_combined_fn (_p1))
   12484              :                     {
   12485           20 :                     case CFN_BUILT_IN_POW:
   12486           20 :                       if (call_expr_nargs (_p1) == 2)
   12487              :     {
   12488           20 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12489           20 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12490           20 :                           if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12491              :                             {
   12492           14 :                               {
   12493           14 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   12494           14 :                                 tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
   12495           14 :                                 if (res) return res;
   12496              :                               }
   12497              :                             }
   12498            6 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12499              :                             {
   12500            2 :                               {
   12501            2 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12502            2 :                                 tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
   12503            2 :                                 if (res) return res;
   12504              :                               }
   12505              :                             }
   12506              :                         }
   12507              :                       break;
   12508              :                     default:;
   12509              :                     }
   12510              :                   break;
   12511              :                 default:;
   12512              :                 }
   12513              :             }
   12514              :           break;
   12515           19 :         case CFN_BUILT_IN_POWF:
   12516           19 :           if (call_expr_nargs (_p0) == 2)
   12517              :     {
   12518           19 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12519           19 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12520           19 :               switch (TREE_CODE (_p1))
   12521              :                 {
   12522           13 :                 case CALL_EXPR:
   12523           13 :                   switch (get_call_combined_fn (_p1))
   12524              :                     {
   12525           13 :                     case CFN_BUILT_IN_POWF:
   12526           13 :                       if (call_expr_nargs (_p1) == 2)
   12527              :     {
   12528           13 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12529           13 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12530           13 :                           if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12531              :                             {
   12532           12 :                               {
   12533           12 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   12534           12 :                                 tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
   12535           12 :                                 if (res) return res;
   12536              :                               }
   12537              :                             }
   12538            1 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12539              :                             {
   12540            0 :                               {
   12541            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12542            0 :                                 tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
   12543            0 :                                 if (res) return res;
   12544              :                               }
   12545              :                             }
   12546              :                         }
   12547              :                       break;
   12548              :                     default:;
   12549              :                     }
   12550              :                   break;
   12551              :                 default:;
   12552              :                 }
   12553              :             }
   12554              :           break;
   12555           35 :         case CFN_BUILT_IN_POWI:
   12556           35 :           if (call_expr_nargs (_p0) == 2)
   12557              :     {
   12558           35 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12559           35 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12560           35 :               switch (TREE_CODE (_p1))
   12561              :                 {
   12562            0 :                 case CALL_EXPR:
   12563            0 :                   switch (get_call_combined_fn (_p1))
   12564              :                     {
   12565            0 :                     case CFN_BUILT_IN_POWI:
   12566            0 :                       if (call_expr_nargs (_p1) == 2)
   12567              :     {
   12568            0 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12569            0 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12570            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12571              :                             {
   12572            0 :                               {
   12573            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12574            0 :                                 if (flag_unsafe_math_optimizations && canonicalize_math_p ()
   12575              : )
   12576              :                                   {
   12577            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1465;
   12578            0 :                                     {
   12579            0 :                                       tree res_op0;
   12580            0 :                                       {
   12581            0 :                                         tree _o1[2], _r1;
   12582            0 :                                         _o1[0] = captures[1];
   12583            0 :                                         _o1[1] = captures[4];
   12584            0 :                                         _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12585            0 :                                         res_op0 = _r1;
   12586              :                                       }
   12587            0 :                                       tree res_op1;
   12588            0 :                                       res_op1 = captures[2];
   12589            0 :                                       tree _r;
   12590            0 :                                       _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POWI, type, 2, res_op0, res_op1);
   12591            0 :                                       if (!_r)
   12592            0 :                                         goto next_after_fail1465;
   12593            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 962, __FILE__, __LINE__, true);
   12594            0 :                                       return _r;
   12595              :                                     }
   12596            0 : next_after_fail1465:;
   12597              :                                   }
   12598              :                               }
   12599              :                             }
   12600              :                         }
   12601              :                       break;
   12602              :                     default:;
   12603              :                     }
   12604              :                   break;
   12605              :                 default:;
   12606              :                 }
   12607              :             }
   12608              :           break;
   12609           12 :         case CFN_BUILT_IN_POWL:
   12610           12 :           if (call_expr_nargs (_p0) == 2)
   12611              :     {
   12612           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12613           12 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12614           12 :               switch (TREE_CODE (_p1))
   12615              :                 {
   12616           12 :                 case CALL_EXPR:
   12617           12 :                   switch (get_call_combined_fn (_p1))
   12618              :                     {
   12619           12 :                     case CFN_BUILT_IN_POWL:
   12620           12 :                       if (call_expr_nargs (_p1) == 2)
   12621              :     {
   12622           12 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12623           12 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12624           12 :                           if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12625              :                             {
   12626           12 :                               {
   12627           12 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   12628           12 :                                 tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
   12629           12 :                                 if (res) return res;
   12630              :                               }
   12631              :                             }
   12632            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12633              :                             {
   12634            0 :                               {
   12635            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12636            0 :                                 tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
   12637            0 :                                 if (res) return res;
   12638              :                               }
   12639              :                             }
   12640              :                         }
   12641              :                       break;
   12642              :                     default:;
   12643              :                     }
   12644              :                   break;
   12645              :                 default:;
   12646              :                 }
   12647              :             }
   12648              :           break;
   12649            0 :         case CFN_POW:
   12650            0 :           if (call_expr_nargs (_p0) == 2)
   12651              :     {
   12652            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12653            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12654            0 :               switch (TREE_CODE (_p1))
   12655              :                 {
   12656            0 :                 case CALL_EXPR:
   12657            0 :                   switch (get_call_combined_fn (_p1))
   12658              :                     {
   12659            0 :                     case CFN_POW:
   12660            0 :                       if (call_expr_nargs (_p1) == 2)
   12661              :     {
   12662            0 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12663            0 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12664            0 :                           if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12665              :                             {
   12666            0 :                               {
   12667            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   12668            0 :                                 tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_POW);
   12669            0 :                                 if (res) return res;
   12670              :                               }
   12671              :                             }
   12672            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12673              :                             {
   12674            0 :                               {
   12675            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12676            0 :                                 tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, CFN_POW);
   12677            0 :                                 if (res) return res;
   12678              :                               }
   12679              :                             }
   12680              :                         }
   12681              :                       break;
   12682              :                     default:;
   12683              :                     }
   12684              :                   break;
   12685              :                 default:;
   12686              :                 }
   12687              :             }
   12688              :           break;
   12689           14 :         case CFN_BUILT_IN_POWIF:
   12690           14 :           if (call_expr_nargs (_p0) == 2)
   12691              :     {
   12692           14 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12693           14 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12694           14 :               switch (TREE_CODE (_p1))
   12695              :                 {
   12696            0 :                 case CALL_EXPR:
   12697            0 :                   switch (get_call_combined_fn (_p1))
   12698              :                     {
   12699            0 :                     case CFN_BUILT_IN_POWIF:
   12700            0 :                       if (call_expr_nargs (_p1) == 2)
   12701              :     {
   12702            0 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12703            0 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12704            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12705              :                             {
   12706            0 :                               {
   12707            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12708            0 :                                 if (flag_unsafe_math_optimizations && canonicalize_math_p ()
   12709              : )
   12710              :                                   {
   12711            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1466;
   12712            0 :                                     {
   12713            0 :                                       tree res_op0;
   12714            0 :                                       {
   12715            0 :                                         tree _o1[2], _r1;
   12716            0 :                                         _o1[0] = captures[1];
   12717            0 :                                         _o1[1] = captures[4];
   12718            0 :                                         _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12719            0 :                                         res_op0 = _r1;
   12720              :                                       }
   12721            0 :                                       tree res_op1;
   12722            0 :                                       res_op1 = captures[2];
   12723            0 :                                       tree _r;
   12724            0 :                                       _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POWIF, type, 2, res_op0, res_op1);
   12725            0 :                                       if (!_r)
   12726            0 :                                         goto next_after_fail1466;
   12727            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 962, __FILE__, __LINE__, true);
   12728            0 :                                       return _r;
   12729              :                                     }
   12730            0 : next_after_fail1466:;
   12731              :                                   }
   12732              :                               }
   12733              :                             }
   12734              :                         }
   12735              :                       break;
   12736              :                     default:;
   12737              :                     }
   12738              :                   break;
   12739              :                 default:;
   12740              :                 }
   12741              :             }
   12742              :           break;
   12743            5 :         case CFN_BUILT_IN_POWIL:
   12744            5 :           if (call_expr_nargs (_p0) == 2)
   12745              :     {
   12746            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12747            5 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   12748            5 :               switch (TREE_CODE (_p1))
   12749              :                 {
   12750            0 :                 case CALL_EXPR:
   12751            0 :                   switch (get_call_combined_fn (_p1))
   12752              :                     {
   12753            0 :                     case CFN_BUILT_IN_POWIL:
   12754            0 :                       if (call_expr_nargs (_p1) == 2)
   12755              :     {
   12756            0 :                           tree _q50 = CALL_EXPR_ARG (_p1, 0);
   12757            0 :                           tree _q51 = CALL_EXPR_ARG (_p1, 1);
   12758            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12759              :                             {
   12760            0 :                               {
   12761            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12762            0 :                                 if (flag_unsafe_math_optimizations && canonicalize_math_p ()
   12763              : )
   12764              :                                   {
   12765            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1467;
   12766            0 :                                     {
   12767            0 :                                       tree res_op0;
   12768            0 :                                       {
   12769            0 :                                         tree _o1[2], _r1;
   12770            0 :                                         _o1[0] = captures[1];
   12771            0 :                                         _o1[1] = captures[4];
   12772            0 :                                         _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12773            0 :                                         res_op0 = _r1;
   12774              :                                       }
   12775            0 :                                       tree res_op1;
   12776            0 :                                       res_op1 = captures[2];
   12777            0 :                                       tree _r;
   12778            0 :                                       _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POWIL, type, 2, res_op0, res_op1);
   12779            0 :                                       if (!_r)
   12780            0 :                                         goto next_after_fail1467;
   12781            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 962, __FILE__, __LINE__, true);
   12782            0 :                                       return _r;
   12783              :                                     }
   12784            0 : next_after_fail1467:;
   12785              :                                   }
   12786              :                               }
   12787              :                             }
   12788              :                         }
   12789              :                       break;
   12790              :                     default:;
   12791              :                     }
   12792              :                   break;
   12793              :                 default:;
   12794              :                 }
   12795              :             }
   12796              :           break;
   12797              :         default:;
   12798              :         }
   12799              :       break;
   12800              :     default:;
   12801              :     }
   12802              :   return NULL_TREE;
   12803              : }
   12804              : #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.