LCOV - code coverage report
Current view: top level - languages - kraaij_pohlmann.cc (source / functions) Hit Total Coverage
Test: Test Coverage for xapian-core r Lines: 817 846 96.6 %
Date: 2011-08-21 Functions: 20 23 87.0 %
Branches: 553 752 73.5 %

           Branch data     Line data    Source code
       1                 :            : /* This file was generated automatically by the Snowball to ISO C++ compiler */
       2                 :            : 
       3                 :            : #include <limits.h>
       4                 :            : #include "kraaij_pohlmann.h"
       5                 :            : 
       6                 :            : static const symbol s_pool[] = {
       7                 :            : #define s_0_0 0
       8                 :            : 'n', 'd', 'e',
       9                 :            : #define s_0_1 3
      10                 :            : 'e', 'n',
      11                 :            : #define s_0_2 (s_0_3 + 1)
      12                 :            : #define s_0_3 5
      13                 :            : '\'', 's',
      14                 :            : #define s_0_4 (s_0_5 + 1)
      15                 :            : #define s_0_5 7
      16                 :            : 'i', 'e', 's',
      17                 :            : #define s_0_6 10
      18                 :            : 'a', 'u', 's',
      19                 :            : #define s_1_0 13
      20                 :            : 'd', 'e',
      21                 :            : #define s_1_1 15
      22                 :            : 'g', 'e',
      23                 :            : #define s_1_2 17
      24                 :            : 'i', 's', 'c', 'h', 'e',
      25                 :            : #define s_1_3 22
      26                 :            : 'j', 'e',
      27                 :            : #define s_1_4 24
      28                 :            : 'l', 'i', 'j', 'k', 'e',
      29                 :            : #define s_1_5 29
      30                 :            : 'l', 'e',
      31                 :            : #define s_1_6 31
      32                 :            : 'e', 'n', 'e',
      33                 :            : #define s_1_7 34
      34                 :            : 'r', 'e',
      35                 :            : #define s_1_8 36
      36                 :            : 's', 'e',
      37                 :            : #define s_1_9 38
      38                 :            : 't', 'e',
      39                 :            : #define s_1_10 40
      40                 :            : 'i', 'e', 'v', 'e',
      41                 :            : #define s_2_0 44
      42                 :            : 'h', 'e', 'i', 'd',
      43                 :            : #define s_2_1 48
      44                 :            : 'f', 'i', 'e',
      45                 :            : #define s_2_2 51
      46                 :            : 'g', 'i', 'e',
      47                 :            : #define s_2_3 54
      48                 :            : 'a', 't', 'i', 'e',
      49                 :            : #define s_2_4 58
      50                 :            : 'i', 's', 'm', 'e',
      51                 :            : #define s_2_5 62
      52                 :            : 'i', 'n', 'g',
      53                 :            : #define s_2_6 65
      54                 :            : 'a', 'r', 'i', 'j',
      55                 :            : #define s_2_7 69
      56                 :            : 'e', 'r', 'i', 'j',
      57                 :            : #define s_2_8 73
      58                 :            : 's', 'e', 'l',
      59                 :            : #define s_2_9 76
      60                 :            : 'r', 'd', 'e', 'r',
      61                 :            : #define s_2_10 80
      62                 :            : 's', 't', 'e', 'r',
      63                 :            : #define s_2_11 84
      64                 :            : 'i', 't', 'e', 'i', 't',
      65                 :            : #define s_2_12 89
      66                 :            : 'd', 's', 't',
      67                 :            : #define s_2_13 92
      68                 :            : 't', 's', 't',
      69                 :            : #define s_3_0 95
      70                 :            : 'e', 'n', 'd',
      71                 :            : #define s_3_1 98
      72                 :            : 'a', 't', 'i', 'e', 'f',
      73                 :            : #define s_3_2 s_3_9
      74                 :            : #define s_3_3 s_3_10
      75                 :            : #define s_3_4 103
      76                 :            : 'i', 'o', 'n', 'e', 'e', 'l',
      77                 :            : #define s_3_5 109
      78                 :            : 'b', 'a', 'a', 'r',
      79                 :            : #define s_3_6 113
      80                 :            : 'l', 'a', 'a', 'r',
      81                 :            : #define s_3_7 117
      82                 :            : 'n', 'a', 'a', 'r',
      83                 :            : #define s_3_8 121
      84                 :            : 'r', 'a', 'a', 'r',
      85                 :            : #define s_3_9 125
      86                 :            : 'e', 'r', 'i', 'g', 'e', 'r',
      87                 :            : #define s_3_10 131
      88                 :            : 'a', 'c', 'h', 't', 'i', 'g', 'e', 'r',
      89                 :            : #define s_3_11 139
      90                 :            : 'l', 'i', 'j', 'k', 'e', 'r',
      91                 :            : #define s_3_12 145
      92                 :            : 't', 'a', 'n', 't',
      93                 :            : #define s_3_13 149
      94                 :            : 'e', 'r', 'i', 'g', 's', 't',
      95                 :            : #define s_3_14 155
      96                 :            : 'a', 'c', 'h', 't', 'i', 'g', 's', 't',
      97                 :            : #define s_3_15 163
      98                 :            : 'l', 'i', 'j', 'k', 's', 't',
      99                 :            : #define s_4_0 s_4_1
     100                 :            : #define s_4_1 169
     101                 :            : 'i', 'g', 'e', 'r',
     102                 :            : #define s_4_2 173
     103                 :            : 'i', 'g', 's', 't',
     104                 :            : #define s_5_0 177
     105                 :            : 'f', 't',
     106                 :            : #define s_5_1 179
     107                 :            : 'k', 't',
     108                 :            : #define s_5_2 181
     109                 :            : 'p', 't',
     110                 :            : #define s_6_0 183
     111                 :            : 'b', 'b',
     112                 :            : #define s_6_1 185
     113                 :            : 'c', 'c',
     114                 :            : #define s_6_2 187
     115                 :            : 'd', 'd',
     116                 :            : #define s_6_3 189
     117                 :            : 'f', 'f',
     118                 :            : #define s_6_4 191
     119                 :            : 'g', 'g',
     120                 :            : #define s_6_5 193
     121                 :            : 'h', 'h',
     122                 :            : #define s_6_6 195
     123                 :            : 'j', 'j',
     124                 :            : #define s_6_7 197
     125                 :            : 'k', 'k',
     126                 :            : #define s_6_8 199
     127                 :            : 'l', 'l',
     128                 :            : #define s_6_9 201
     129                 :            : 'm', 'm',
     130                 :            : #define s_6_10 203
     131                 :            : 'n', 'n',
     132                 :            : #define s_6_11 205
     133                 :            : 'p', 'p',
     134                 :            : #define s_6_12 207
     135                 :            : 'q', 'q',
     136                 :            : #define s_6_13 209
     137                 :            : 'r', 'r',
     138                 :            : #define s_6_14 211
     139                 :            : 's', 's',
     140                 :            : #define s_6_15 213
     141                 :            : 't', 't',
     142                 :            : #define s_6_16 (s_6_17 + 1)
     143                 :            : #define s_6_17 215
     144                 :            : 'v', 'v',
     145                 :            : #define s_6_18 217
     146                 :            : 'w', 'w',
     147                 :            : #define s_6_19 219
     148                 :            : 'x', 'x',
     149                 :            : #define s_6_20 (s_6_21 + 1)
     150                 :            : #define s_6_21 221
     151                 :            : 'z', 'z',
     152                 :            : #define s_7_0 223
     153                 :            : 'd',
     154                 :            : #define s_7_1 224
     155                 :            : 't',
     156                 :            : };
     157                 :            : 
     158                 :            : 
     159                 :            : static const struct among a_0[7] =
     160                 :            : {
     161                 :            : /*  0 */ { 3, s_0_0, -1, 7},
     162                 :            : /*  1 */ { 2, s_0_1, -1, 6},
     163                 :            : /*  2 */ { 1, s_0_2, -1, 2},
     164                 :            : /*  3 */ { 2, s_0_3, 2, 1},
     165                 :            : /*  4 */ { 2, s_0_4, 2, 4},
     166                 :            : /*  5 */ { 3, s_0_5, 4, 3},
     167                 :            : /*  6 */ { 3, s_0_6, 2, 5}
     168                 :            : };
     169                 :            : 
     170                 :            : 
     171                 :            : static const struct among a_1[11] =
     172                 :            : {
     173                 :            : /*  0 */ { 2, s_1_0, -1, 5},
     174                 :            : /*  1 */ { 2, s_1_1, -1, 2},
     175                 :            : /*  2 */ { 5, s_1_2, -1, 4},
     176                 :            : /*  3 */ { 2, s_1_3, -1, 1},
     177                 :            : /*  4 */ { 5, s_1_4, -1, 3},
     178                 :            : /*  5 */ { 2, s_1_5, -1, 9},
     179                 :            : /*  6 */ { 3, s_1_6, -1, 10},
     180                 :            : /*  7 */ { 2, s_1_7, -1, 8},
     181                 :            : /*  8 */ { 2, s_1_8, -1, 7},
     182                 :            : /*  9 */ { 2, s_1_9, -1, 6},
     183                 :            : /* 10 */ { 4, s_1_10, -1, 11}
     184                 :            : };
     185                 :            : 
     186                 :            : 
     187                 :            : static const struct among a_2[14] =
     188                 :            : {
     189                 :            : /*  0 */ { 4, s_2_0, -1, 3},
     190                 :            : /*  1 */ { 3, s_2_1, -1, 7},
     191                 :            : /*  2 */ { 3, s_2_2, -1, 8},
     192                 :            : /*  3 */ { 4, s_2_3, -1, 1},
     193                 :            : /*  4 */ { 4, s_2_4, -1, 5},
     194                 :            : /*  5 */ { 3, s_2_5, -1, 5},
     195                 :            : /*  6 */ { 4, s_2_6, -1, 6},
     196                 :            : /*  7 */ { 4, s_2_7, -1, 5},
     197                 :            : /*  8 */ { 3, s_2_8, -1, 3},
     198                 :            : /*  9 */ { 4, s_2_9, -1, 4},
     199                 :            : /* 10 */ { 4, s_2_10, -1, 3},
     200                 :            : /* 11 */ { 5, s_2_11, -1, 2},
     201                 :            : /* 12 */ { 3, s_2_12, -1, 10},
     202                 :            : /* 13 */ { 3, s_2_13, -1, 9}
     203                 :            : };
     204                 :            : 
     205                 :            : 
     206                 :            : static const struct among a_3[16] =
     207                 :            : {
     208                 :            : /*  0 */ { 3, s_3_0, -1, 10},
     209                 :            : /*  1 */ { 5, s_3_1, -1, 2},
     210                 :            : /*  2 */ { 4, s_3_2, -1, 10},
     211                 :            : /*  3 */ { 6, s_3_3, -1, 9},
     212                 :            : /*  4 */ { 6, s_3_4, -1, 1},
     213                 :            : /*  5 */ { 4, s_3_5, -1, 3},
     214                 :            : /*  6 */ { 4, s_3_6, -1, 5},
     215                 :            : /*  7 */ { 4, s_3_7, -1, 4},
     216                 :            : /*  8 */ { 4, s_3_8, -1, 6},
     217                 :            : /*  9 */ { 6, s_3_9, -1, 10},
     218                 :            : /* 10 */ { 8, s_3_10, -1, 9},
     219                 :            : /* 11 */ { 6, s_3_11, -1, 8},
     220                 :            : /* 12 */ { 4, s_3_12, -1, 7},
     221                 :            : /* 13 */ { 6, s_3_13, -1, 10},
     222                 :            : /* 14 */ { 8, s_3_14, -1, 9},
     223                 :            : /* 15 */ { 6, s_3_15, -1, 8}
     224                 :            : };
     225                 :            : 
     226                 :            : 
     227                 :            : static const struct among a_4[3] =
     228                 :            : {
     229                 :            : /*  0 */ { 2, s_4_0, -1, 1},
     230                 :            : /*  1 */ { 4, s_4_1, -1, 1},
     231                 :            : /*  2 */ { 4, s_4_2, -1, 1}
     232                 :            : };
     233                 :            : 
     234                 :            : 
     235                 :            : static const struct among a_5[3] =
     236                 :            : {
     237                 :            : /*  0 */ { 2, s_5_0, -1, 2},
     238                 :            : /*  1 */ { 2, s_5_1, -1, 1},
     239                 :            : /*  2 */ { 2, s_5_2, -1, 3}
     240                 :            : };
     241                 :            : 
     242                 :            : 
     243                 :            : static const struct among a_6[22] =
     244                 :            : {
     245                 :            : /*  0 */ { 2, s_6_0, -1, 1},
     246                 :            : /*  1 */ { 2, s_6_1, -1, 2},
     247                 :            : /*  2 */ { 2, s_6_2, -1, 3},
     248                 :            : /*  3 */ { 2, s_6_3, -1, 4},
     249                 :            : /*  4 */ { 2, s_6_4, -1, 5},
     250                 :            : /*  5 */ { 2, s_6_5, -1, 6},
     251                 :            : /*  6 */ { 2, s_6_6, -1, 7},
     252                 :            : /*  7 */ { 2, s_6_7, -1, 8},
     253                 :            : /*  8 */ { 2, s_6_8, -1, 9},
     254                 :            : /*  9 */ { 2, s_6_9, -1, 10},
     255                 :            : /* 10 */ { 2, s_6_10, -1, 11},
     256                 :            : /* 11 */ { 2, s_6_11, -1, 12},
     257                 :            : /* 12 */ { 2, s_6_12, -1, 13},
     258                 :            : /* 13 */ { 2, s_6_13, -1, 14},
     259                 :            : /* 14 */ { 2, s_6_14, -1, 15},
     260                 :            : /* 15 */ { 2, s_6_15, -1, 16},
     261                 :            : /* 16 */ { 1, s_6_16, -1, 21},
     262                 :            : /* 17 */ { 2, s_6_17, 16, 17},
     263                 :            : /* 18 */ { 2, s_6_18, -1, 18},
     264                 :            : /* 19 */ { 2, s_6_19, -1, 19},
     265                 :            : /* 20 */ { 1, s_6_20, -1, 22},
     266                 :            : /* 21 */ { 2, s_6_21, 20, 20}
     267                 :            : };
     268                 :            : 
     269                 :            : 
     270                 :            : static const struct among a_7[2] =
     271                 :            : {
     272                 :            : /*  0 */ { 1, s_7_0, -1, 1},
     273                 :            : /*  1 */ { 1, s_7_1, -1, 2}
     274                 :            : };
     275                 :            : 
     276                 :            : static const unsigned char g_v[] = { 17, 65, 16, 1 };
     277                 :            : 
     278                 :            : static const unsigned char g_v_WX[] = { 17, 65, 208, 1 };
     279                 :            : 
     280                 :            : static const unsigned char g_AOU[] = { 1, 64, 16 };
     281                 :            : 
     282                 :            : static const unsigned char g_AIOU[] = { 1, 65, 16 };
     283                 :            : 
     284                 :            : static const symbol s_0[] = { 'i', 'j' };
     285                 :            : static const symbol s_1[] = { 'i', 'j' };
     286                 :            : static const symbol s_2[] = { 'i', 'j' };
     287                 :            : static const symbol s_3[] = { 'i', 'e' };
     288                 :            : static const symbol s_4[] = { 'a', 'r' };
     289                 :            : static const symbol s_5[] = { 'e', 'r' };
     290                 :            : static const symbol s_6[] = { 'e' };
     291                 :            : static const symbol s_7[] = { 'a', 'u' };
     292                 :            : static const symbol s_8[] = { 'h', 'e', 'd' };
     293                 :            : static const symbol s_9[] = { 'h', 'e', 'i', 'd' };
     294                 :            : static const symbol s_10[] = { 'n', 'd' };
     295                 :            : static const symbol s_11[] = { 'n', 'd' };
     296                 :            : static const symbol s_12[] = { '\'', 't' };
     297                 :            : static const symbol s_13[] = { 'e', 't' };
     298                 :            : static const symbol s_14[] = { 'r', 'n', 't' };
     299                 :            : static const symbol s_15[] = { 'r', 'n' };
     300                 :            : static const symbol s_16[] = { 'i', 'n', 'k' };
     301                 :            : static const symbol s_17[] = { 'i', 'n', 'g' };
     302                 :            : static const symbol s_18[] = { 'm', 'p' };
     303                 :            : static const symbol s_19[] = { 'm' };
     304                 :            : static const symbol s_20[] = { 'g' };
     305                 :            : static const symbol s_21[] = { 'l', 'i', 'j', 'k' };
     306                 :            : static const symbol s_22[] = { 'i', 's', 'c', 'h' };
     307                 :            : static const symbol s_23[] = { 't' };
     308                 :            : static const symbol s_24[] = { 's' };
     309                 :            : static const symbol s_25[] = { 'r' };
     310                 :            : static const symbol s_26[] = { 'l' };
     311                 :            : static const symbol s_27[] = { 'e', 'n' };
     312                 :            : static const symbol s_28[] = { 'i', 'e', 'f' };
     313                 :            : static const symbol s_29[] = { 'e', 'e', 'r' };
     314                 :            : static const symbol s_30[] = { 'r' };
     315                 :            : static const symbol s_31[] = { 'a', 'a', 'r' };
     316                 :            : static const symbol s_32[] = { 'f' };
     317                 :            : static const symbol s_33[] = { 'g' };
     318                 :            : static const symbol s_34[] = { 't' };
     319                 :            : static const symbol s_35[] = { 'd' };
     320                 :            : static const symbol s_36[] = { 'i', 'e' };
     321                 :            : static const symbol s_37[] = { 'e', 'e', 'r' };
     322                 :            : static const symbol s_38[] = { 'n' };
     323                 :            : static const symbol s_39[] = { 'l' };
     324                 :            : static const symbol s_40[] = { 'r' };
     325                 :            : static const symbol s_41[] = { 't', 'e', 'e', 'r' };
     326                 :            : static const symbol s_42[] = { 'l', 'i', 'j', 'k' };
     327                 :            : static const symbol s_43[] = { 'k' };
     328                 :            : static const symbol s_44[] = { 'f' };
     329                 :            : static const symbol s_45[] = { 'p' };
     330                 :            : static const symbol s_46[] = { 'b' };
     331                 :            : static const symbol s_47[] = { 'c' };
     332                 :            : static const symbol s_48[] = { 'd' };
     333                 :            : static const symbol s_49[] = { 'f' };
     334                 :            : static const symbol s_50[] = { 'g' };
     335                 :            : static const symbol s_51[] = { 'h' };
     336                 :            : static const symbol s_52[] = { 'j' };
     337                 :            : static const symbol s_53[] = { 'k' };
     338                 :            : static const symbol s_54[] = { 'l' };
     339                 :            : static const symbol s_55[] = { 'm' };
     340                 :            : static const symbol s_56[] = { 'n' };
     341                 :            : static const symbol s_57[] = { 'p' };
     342                 :            : static const symbol s_58[] = { 'q' };
     343                 :            : static const symbol s_59[] = { 'r' };
     344                 :            : static const symbol s_60[] = { 's' };
     345                 :            : static const symbol s_61[] = { 't' };
     346                 :            : static const symbol s_62[] = { 'v' };
     347                 :            : static const symbol s_63[] = { 'w' };
     348                 :            : static const symbol s_64[] = { 'x' };
     349                 :            : static const symbol s_65[] = { 'z' };
     350                 :            : static const symbol s_66[] = { 'f' };
     351                 :            : static const symbol s_67[] = { 's' };
     352                 :            : static const symbol s_68[] = { 'g', 'e' };
     353                 :            : static const symbol s_69[] = { 'g', 'e' };
     354                 :            : static const symbol s_70[] = { 'i', 'j' };
     355                 :            : static const symbol s_71[] = { 'i', 'j' };
     356                 :            : static const symbol s_72[] = { 'Y' };
     357                 :            : static const symbol s_73[] = { 'Y' };
     358                 :            : static const symbol s_74[] = { 'y' };
     359                 :            : 
     360                 :      33661 : int Xapian::InternalStemKraaij_pohlmann::r_R1() { /* backwardmode */
     361                 :      33661 :     I_x = c; /* setmark x, line 32 */
     362         [ +  + ]:      33661 :     if (!(I_x >= I_p1)) return 0; /* x >= <integer expression>, line 32 */
     363                 :      33661 :     return 1;
     364                 :            : }
     365                 :            : 
     366                 :        116 : int Xapian::InternalStemKraaij_pohlmann::r_R2() { /* backwardmode */
     367                 :        116 :     I_x = c; /* setmark x, line 33 */
     368         [ +  + ]:        116 :     if (!(I_x >= I_p2)) return 0; /* x >= <integer expression>, line 33 */
     369                 :        116 :     return 1;
     370                 :            : }
     371                 :            : 
     372                 :        370 : int Xapian::InternalStemKraaij_pohlmann::r_V() { /* backwardmode */
     373                 :        370 :     {   int m_test1 = l - c; /* test, line 35 */
     374                 :        370 :         {   int m2 = l - c; (void)m2; /* or, line 35 */
     375         [ +  + ]:        370 :             if (in_grouping_b_U(g_v, 97, 121, 0)) goto lab1; /* grouping v, line 35 */
     376                 :        273 :             goto lab0;
     377                 :            :         lab1:
     378                 :         97 :             c = l - m2;
     379         [ +  - ]:         97 :             if (!(eq_s_b(2, s_0))) return 0; /* literal, line 35 */
     380                 :            :         }
     381                 :            :     lab0:
     382                 :        273 :         c = l - m_test1;
     383                 :            :     }
     384                 :        370 :     return 1;
     385                 :            : }
     386                 :            : 
     387                 :        250 : int Xapian::InternalStemKraaij_pohlmann::r_VX() { /* backwardmode */
     388                 :        250 :     {   int m_test1 = l - c; /* test, line 36 */
     389                 :        250 :         {   int ret = skip_utf8(p, c, lb, 0, -1);
     390         [ -  + ]:        250 :             if (ret < 0) return 0;
     391                 :        250 :             c = ret; /* next, line 36 */
     392                 :            :         }
     393                 :        250 :         {   int m2 = l - c; (void)m2; /* or, line 36 */
     394         [ +  + ]:        250 :             if (in_grouping_b_U(g_v, 97, 121, 0)) goto lab1; /* grouping v, line 36 */
     395                 :        221 :             goto lab0;
     396                 :            :         lab1:
     397                 :         29 :             c = l - m2;
     398         [ +  + ]:         29 :             if (!(eq_s_b(2, s_1))) return 0; /* literal, line 36 */
     399                 :            :         }
     400                 :            :     lab0:
     401                 :        227 :         c = l - m_test1;
     402                 :            :     }
     403                 :        250 :     return 1;
     404                 :            : }
     405                 :            : 
     406                 :      21513 : int Xapian::InternalStemKraaij_pohlmann::r_C() { /* backwardmode */
     407                 :      21513 :     {   int m_test1 = l - c; /* test, line 37 */
     408                 :      21513 :         {   int m2 = l - c; (void)m2; /* not, line 37 */
     409         [ +  + ]:      21513 :             if (!(eq_s_b(2, s_2))) goto lab0; /* literal, line 37 */
     410                 :        130 :             return 0;
     411                 :            :         lab0:
     412                 :      21383 :             c = l - m2;
     413                 :            :         }
     414         [ +  + ]:      21383 :         if (out_grouping_b_U(g_v, 97, 121, 0)) return 0; /* non v, line 37 */
     415                 :      19237 :         c = l - m_test1;
     416                 :            :     }
     417                 :      21513 :     return 1;
     418                 :            : }
     419                 :            : 
     420                 :      14904 : int Xapian::InternalStemKraaij_pohlmann::r_lengthen_V() { /* backwardmode */
     421                 :      14904 :     {   int m1 = l - c; (void)m1; /* do, line 39 */
     422         [ +  + ]:      14904 :         if (out_grouping_b_U(g_v_WX, 97, 121, 0)) goto lab0; /* non v_WX, line 40 */
     423                 :      14747 :         ket = c; /* [, line 40 */
     424                 :      14747 :         {   int m2 = l - c; (void)m2; /* or, line 40 */
     425         [ +  + ]:      14747 :             if (in_grouping_b_U(g_AOU, 97, 117, 0)) goto lab2; /* grouping AOU, line 40 */
     426                 :       2922 :             bra = c; /* ], line 40 */
     427                 :       2922 :             {   int m_test3 = l - c; /* test, line 40 */
     428                 :       2922 :                 {   int m4 = l - c; (void)m4; /* or, line 40 */
     429         [ +  + ]:       2922 :                     if (out_grouping_b_U(g_v, 97, 121, 0)) goto lab4; /* non v, line 40 */
     430                 :       2498 :                     goto lab3;
     431                 :            :                 lab4:
     432                 :        424 :                     c = l - m4;
     433         [ +  + ]:        424 :                     if (c > lb) goto lab2; /* atlimit, line 40 */
     434                 :            :                 }
     435                 :            :             lab3:
     436                 :       2514 :                 c = l - m_test3;
     437                 :            :             }
     438                 :       2514 :             goto lab1;
     439                 :            :         lab2:
     440                 :      12233 :             c = l - m2;
     441 [ +  - ][ +  + ]:      12233 :             if (c <= lb || p[c - 1] != 'e') goto lab0;
     442                 :       3880 :             c--;
     443                 :       3880 :             bra = c; /* ], line 41 */
     444                 :       3880 :             {   int m_test5 = l - c; /* test, line 41 */
     445                 :       3880 :                 {   int m6 = l - c; (void)m6; /* or, line 41 */
     446         [ +  + ]:       3880 :                     if (out_grouping_b_U(g_v, 97, 121, 0)) goto lab6; /* non v, line 41 */
     447                 :       2972 :                     goto lab5;
     448                 :            :                 lab6:
     449                 :        908 :                     c = l - m6;
     450         [ +  + ]:        908 :                     if (c > lb) goto lab0; /* atlimit, line 41 */
     451                 :            :                 }
     452                 :            :             lab5:
     453                 :       2978 :                 {   int m7 = l - c; (void)m7; /* not, line 42 */
     454         [ +  + ]:       2978 :                     if (in_grouping_b_U(g_AIOU, 97, 117, 0)) goto lab7; /* grouping AIOU, line 42 */
     455                 :        584 :                     goto lab0;
     456                 :            :                 lab7:
     457                 :       2394 :                     c = l - m7;
     458                 :            :                 }
     459                 :       2394 :                 {   int m8 = l - c; (void)m8; /* not, line 43 */
     460                 :       2394 :                     {   int ret = skip_utf8(p, c, lb, 0, -1);
     461         [ +  + ]:       2394 :                         if (ret < 0) goto lab8;
     462                 :       2244 :                         c = ret; /* next, line 43 */
     463                 :            :                     }
     464         [ +  + ]:       2244 :                     if (in_grouping_b_U(g_AIOU, 97, 117, 0)) goto lab8; /* grouping AIOU, line 43 */
     465         [ +  + ]:        897 :                     if (out_grouping_b_U(g_v, 97, 121, 0)) goto lab8; /* non v, line 43 */
     466                 :        718 :                     goto lab0;
     467                 :            :                 lab8:
     468                 :       1676 :                     c = l - m8;
     469                 :            :                 }
     470                 :       1676 :                 c = l - m_test5;
     471                 :            :             }
     472                 :            :         }
     473                 :            :     lab1:
     474                 :       4190 :         {   symbol * ret = slice_to(S_ch); /* -> ch, line 44 */
     475         [ -  + ]:       4190 :             if (ret == 0) return -1;
     476                 :       4190 :             S_ch = ret;
     477                 :            :         }
     478                 :       4190 :         {   int saved_c = c;
     479                 :       4190 :             insert_v(c, c, S_ch); /* <+ ch, line 44 */
     480                 :       4190 :             c = saved_c;
     481                 :            :         }
     482                 :            :     lab0:
     483                 :      14904 :         c = l - m1;
     484                 :            :     }
     485                 :      14904 :     return 1;
     486                 :            : }
     487                 :            : 
     488                 :     116285 : int Xapian::InternalStemKraaij_pohlmann::r_Step_1() { /* backwardmode */
     489                 :            :     int among_var;
     490                 :     116285 :     ket = c; /* [, line 49 */
     491 [ +  - ][ +  + ]:     116285 :     if (c <= lb || p[c - 1] >> 5 != 3 || !((540704 >> (p[c - 1] & 0x1f)) & 1)) return 0; /* among, line 49 */
                 [ +  + ]
     492                 :      29468 :     among_var = find_among_b(s_pool, a_0, 7, 0, 0);
     493         [ +  + ]:      29468 :     if (!(among_var)) return 0;
     494                 :      16720 :     bra = c; /* ], line 49 */
     495 [ -  +  +  +  + :      16720 :     switch(among_var) { /* among, line 49 */
             +  +  +  - ]
     496                 :          0 :         case 0: return 0;
     497                 :            :         case 1:
     498         [ -  + ]:          1 :             if (slice_del() == -1) return -1; /* delete, line 51 */
     499                 :          1 :             break;
     500                 :            :         case 2:
     501                 :       4898 :             {   int ret = r_R1(); /* call R1, line 52 */
     502         [ +  + ]:       4898 :                 if (ret <= 0) return ret;
     503                 :            :             }
     504                 :       4379 :             {   int m1 = l - c; (void)m1; /* not, line 52 */
     505 [ +  - ][ +  + ]:       4379 :                 if (c <= lb || p[c - 1] != 't') goto lab0;
     506                 :        238 :                 c--;
     507                 :        238 :                 {   int ret = r_R1(); /* call R1, line 52 */
     508         [ +  + ]:        238 :                     if (ret == 0) goto lab0;
     509         [ -  + ]:        209 :                     if (ret < 0) return ret;
     510                 :            :                 }
     511                 :        209 :                 return 0;
     512                 :            :             lab0:
     513                 :       4170 :                 c = l - m1;
     514                 :            :             }
     515                 :       4170 :             {   int ret = r_C(); /* call C, line 52 */
     516         [ +  + ]:       4170 :                 if (ret <= 0) return ret;
     517                 :            :             }
     518         [ -  + ]:       3384 :             if (slice_del() == -1) return -1; /* delete, line 52 */
     519                 :       3384 :             break;
     520                 :            :         case 3:
     521                 :        456 :             {   int ret = r_R1(); /* call R1, line 53 */
     522         [ +  + ]:        456 :                 if (ret <= 0) return ret;
     523                 :            :             }
     524                 :        448 :             {   int ret = slice_from_s(2, s_3); /* <-, line 53 */
     525         [ -  + ]:        448 :                 if (ret < 0) return ret;
     526                 :            :             }
     527                 :        448 :             break;
     528                 :            :         case 4:
     529                 :        868 :             {   int m2 = l - c; (void)m2; /* or, line 55 */
     530         [ +  + ]:        868 :                 if (!(eq_s_b(2, s_4))) goto lab2; /* literal, line 55 */
     531                 :          2 :                 {   int ret = r_R1(); /* call R1, line 55 */
     532         [ -  + ]:          2 :                     if (ret == 0) goto lab2;
     533         [ -  + ]:          2 :                     if (ret < 0) return ret;
     534                 :            :                 }
     535                 :          2 :                 {   int ret = r_C(); /* call C, line 55 */
     536         [ -  + ]:          2 :                     if (ret == 0) goto lab2;
     537         [ -  + ]:          2 :                     if (ret < 0) return ret;
     538                 :            :                 }
     539                 :          2 :                 bra = c; /* ], line 55 */
     540         [ -  + ]:          2 :                 if (slice_del() == -1) return -1; /* delete, line 55 */
     541                 :          2 :                 {   int ret = r_lengthen_V(); /* call lengthen_V, line 55 */
     542         [ -  + ]:          2 :                     if (ret == 0) goto lab2;
     543         [ -  + ]:          2 :                     if (ret < 0) return ret;
     544                 :            :                 }
     545                 :          2 :                 goto lab1;
     546                 :            :             lab2:
     547                 :        866 :                 c = l - m2;
     548         [ +  + ]:        866 :                 if (!(eq_s_b(2, s_5))) goto lab3; /* literal, line 56 */
     549                 :          7 :                 {   int ret = r_R1(); /* call R1, line 56 */
     550         [ -  + ]:          7 :                     if (ret == 0) goto lab3;
     551         [ -  + ]:          7 :                     if (ret < 0) return ret;
     552                 :            :                 }
     553                 :          7 :                 {   int ret = r_C(); /* call C, line 56 */
     554         [ -  + ]:          7 :                     if (ret == 0) goto lab3;
     555         [ -  + ]:          7 :                     if (ret < 0) return ret;
     556                 :            :                 }
     557                 :          7 :                 bra = c; /* ], line 56 */
     558         [ -  + ]:          7 :                 if (slice_del() == -1) return -1; /* delete, line 56 */
     559                 :          7 :                 goto lab1;
     560                 :            :             lab3:
     561                 :        859 :                 c = l - m2;
     562                 :        859 :                 {   int ret = r_R1(); /* call R1, line 57 */
     563         [ +  + ]:        859 :                     if (ret <= 0) return ret;
     564                 :            :                 }
     565                 :        818 :                 {   int ret = r_C(); /* call C, line 57 */
     566         [ +  + ]:        818 :                     if (ret <= 0) return ret;
     567                 :            :                 }
     568                 :        785 :                 {   int ret = slice_from_s(1, s_6); /* <-, line 57 */
     569         [ -  + ]:        785 :                     if (ret < 0) return ret;
     570                 :            :                 }
     571                 :            :             }
     572                 :            :         lab1:
     573                 :        794 :             break;
     574                 :            :         case 5:
     575                 :         24 :             {   int ret = r_R1(); /* call R1, line 59 */
     576         [ +  + ]:         24 :                 if (ret <= 0) return ret;
     577                 :            :             }
     578                 :         21 :             {   int ret = r_V(); /* call V, line 59 */
     579         [ +  + ]:         21 :                 if (ret <= 0) return ret;
     580                 :            :             }
     581                 :         16 :             {   int ret = slice_from_s(2, s_7); /* <-, line 59 */
     582         [ -  + ]:         16 :                 if (ret < 0) return ret;
     583                 :            :             }
     584                 :         16 :             break;
     585                 :            :         case 6:
     586                 :       9362 :             {   int m3 = l - c; (void)m3; /* or, line 60 */
     587         [ +  + ]:       9362 :                 if (!(eq_s_b(3, s_8))) goto lab5; /* literal, line 60 */
     588                 :        139 :                 {   int ret = r_R1(); /* call R1, line 60 */
     589         [ +  + ]:        139 :                     if (ret == 0) goto lab5;
     590         [ -  + ]:        137 :                     if (ret < 0) return ret;
     591                 :            :                 }
     592                 :        137 :                 bra = c; /* ], line 60 */
     593                 :        137 :                 {   int ret = slice_from_s(4, s_9); /* <-, line 60 */
     594         [ -  + ]:        137 :                     if (ret < 0) return ret;
     595                 :            :                 }
     596                 :        137 :                 goto lab4;
     597                 :            :             lab5:
     598                 :       9225 :                 c = l - m3;
     599         [ +  + ]:       9225 :                 if (!(eq_s_b(2, s_10))) goto lab6; /* literal, line 61 */
     600         [ -  + ]:        237 :                 if (slice_del() == -1) return -1; /* delete, line 61 */
     601                 :        237 :                 goto lab4;
     602                 :            :             lab6:
     603                 :       8988 :                 c = l - m3;
     604 [ +  + ][ +  + ]:       8988 :                 if (c <= lb || p[c - 1] != 'd') goto lab7;
     605                 :        922 :                 c--;
     606                 :        922 :                 {   int ret = r_R1(); /* call R1, line 62 */
     607         [ +  + ]:        922 :                     if (ret == 0) goto lab7;
     608         [ -  + ]:        837 :                     if (ret < 0) return ret;
     609                 :            :                 }
     610                 :        837 :                 {   int ret = r_C(); /* call C, line 62 */
     611         [ +  + ]:        837 :                     if (ret == 0) goto lab7;
     612         [ -  + ]:        487 :                     if (ret < 0) return ret;
     613                 :            :                 }
     614                 :        487 :                 bra = c; /* ], line 62 */
     615         [ -  + ]:        487 :                 if (slice_del() == -1) return -1; /* delete, line 62 */
     616                 :        487 :                 goto lab4;
     617                 :            :             lab7:
     618                 :       8501 :                 c = l - m3;
     619                 :       8501 :                 {   int m4 = l - c; (void)m4; /* or, line 63 */
     620 [ +  + ][ +  + ]:       8501 :                     if (c <= lb || p[c - 1] != 'i') goto lab10;
     621                 :        131 :                     c--;
     622                 :        131 :                     goto lab9;
     623                 :            :                 lab10:
     624                 :       8370 :                     c = l - m4;
     625 [ +  + ][ +  + ]:       8370 :                     if (c <= lb || p[c - 1] != 'j') goto lab8;
     626                 :         68 :                     c--;
     627                 :            :                 }
     628                 :            :             lab9:
     629                 :        199 :                 {   int ret = r_V(); /* call V, line 63 */
     630         [ +  + ]:        199 :                     if (ret == 0) goto lab8;
     631         [ -  + ]:        147 :                     if (ret < 0) return ret;
     632                 :            :                 }
     633         [ -  + ]:        147 :                 if (slice_del() == -1) return -1; /* delete, line 63 */
     634                 :        147 :                 goto lab4;
     635                 :            :             lab8:
     636                 :       8354 :                 c = l - m3;
     637                 :       8354 :                 {   int ret = r_R1(); /* call R1, line 64 */
     638         [ +  + ]:       8354 :                     if (ret <= 0) return ret;
     639                 :            :                 }
     640                 :       8254 :                 {   int ret = r_C(); /* call C, line 64 */
     641         [ +  + ]:       8254 :                     if (ret <= 0) return ret;
     642                 :            :                 }
     643         [ -  + ]:       8060 :                 if (slice_del() == -1) return -1; /* delete, line 64 */
     644                 :       8060 :                 {   int ret = r_lengthen_V(); /* call lengthen_V, line 64 */
     645         [ -  + ]:       8060 :                     if (ret <= 0) return ret;
     646                 :            :                 }
     647                 :            :             }
     648                 :            :         lab4:
     649                 :       9068 :             break;
     650                 :            :         case 7:
     651                 :       1111 :             {   int ret = slice_from_s(2, s_11); /* <-, line 65 */
     652         [ -  + ]:       1111 :                 if (ret < 0) return ret;
     653                 :            :             }
     654                 :            :             break;
     655                 :            :     }
     656                 :     116285 :     return 1;
     657                 :            : }
     658                 :            : 
     659                 :     116285 : int Xapian::InternalStemKraaij_pohlmann::r_Step_2() { /* backwardmode */
     660                 :            :     int among_var;
     661                 :     116285 :     ket = c; /* [, line 71 */
     662 [ +  + ][ +  + ]:     116285 :     if (c - 1 <= lb || p[c - 1] != 101) return 0; /* among, line 71 */
     663                 :      10635 :     among_var = find_among_b(s_pool, a_1, 11, 0, 0);
     664         [ +  + ]:      10635 :     if (!(among_var)) return 0;
     665                 :       6169 :     bra = c; /* ], line 71 */
     666 [ -  +  +  +  + :       6169 :     switch(among_var) { /* among, line 71 */
          +  +  +  +  +  
                +  +  - ]
     667                 :          0 :         case 0: return 0;
     668                 :            :         case 1:
     669                 :        735 :             {   int m1 = l - c; (void)m1; /* or, line 72 */
     670         [ +  - ]:        735 :                 if (!(eq_s_b(2, s_12))) goto lab1; /* literal, line 72 */
     671                 :          0 :                 bra = c; /* ], line 72 */
     672         [ #  # ]:          0 :                 if (slice_del() == -1) return -1; /* delete, line 72 */
     673                 :          0 :                 goto lab0;
     674                 :            :             lab1:
     675                 :        735 :                 c = l - m1;
     676         [ +  + ]:        735 :                 if (!(eq_s_b(2, s_13))) goto lab2; /* literal, line 73 */
     677                 :         85 :                 bra = c; /* ], line 73 */
     678                 :         85 :                 {   int ret = r_R1(); /* call R1, line 73 */
     679         [ +  + ]:         85 :                     if (ret == 0) goto lab2;
     680         [ -  + ]:         76 :                     if (ret < 0) return ret;
     681                 :            :                 }
     682                 :         76 :                 {   int ret = r_C(); /* call C, line 73 */
     683         [ +  + ]:         76 :                     if (ret == 0) goto lab2;
     684         [ -  + ]:         67 :                     if (ret < 0) return ret;
     685                 :            :                 }
     686         [ -  + ]:         67 :                 if (slice_del() == -1) return -1; /* delete, line 73 */
     687                 :         67 :                 goto lab0;
     688                 :            :             lab2:
     689                 :        668 :                 c = l - m1;
     690         [ +  - ]:        668 :                 if (!(eq_s_b(3, s_14))) goto lab3; /* literal, line 74 */
     691                 :          0 :                 bra = c; /* ], line 74 */
     692                 :          0 :                 {   int ret = slice_from_s(2, s_15); /* <-, line 74 */
     693         [ #  # ]:          0 :                     if (ret < 0) return ret;
     694                 :            :                 }
     695                 :          0 :                 goto lab0;
     696                 :            :             lab3:
     697                 :        668 :                 c = l - m1;
     698 [ +  + ][ +  + ]:        668 :                 if (c <= lb || p[c - 1] != 't') goto lab4;
     699                 :        288 :                 c--;
     700                 :        288 :                 bra = c; /* ], line 75 */
     701                 :        288 :                 {   int ret = r_R1(); /* call R1, line 75 */
     702         [ +  + ]:        288 :                     if (ret == 0) goto lab4;
     703         [ -  + ]:        250 :                     if (ret < 0) return ret;
     704                 :            :                 }
     705                 :        250 :                 {   int ret = r_VX(); /* call VX, line 75 */
     706         [ +  + ]:        250 :                     if (ret == 0) goto lab4;
     707         [ -  + ]:        227 :                     if (ret < 0) return ret;
     708                 :            :                 }
     709         [ -  + ]:        227 :                 if (slice_del() == -1) return -1; /* delete, line 75 */
     710                 :        227 :                 goto lab0;
     711                 :            :             lab4:
     712                 :        441 :                 c = l - m1;
     713         [ +  + ]:        441 :                 if (!(eq_s_b(3, s_16))) goto lab5; /* literal, line 76 */
     714                 :          1 :                 bra = c; /* ], line 76 */
     715                 :          1 :                 {   int ret = slice_from_s(3, s_17); /* <-, line 76 */
     716         [ -  + ]:          1 :                     if (ret < 0) return ret;
     717                 :            :                 }
     718                 :          1 :                 goto lab0;
     719                 :            :             lab5:
     720                 :        440 :                 c = l - m1;
     721         [ +  + ]:        440 :                 if (!(eq_s_b(2, s_18))) goto lab6; /* literal, line 77 */
     722                 :          9 :                 bra = c; /* ], line 77 */
     723                 :          9 :                 {   int ret = slice_from_s(1, s_19); /* <-, line 77 */
     724         [ -  + ]:          9 :                     if (ret < 0) return ret;
     725                 :            :                 }
     726                 :          9 :                 goto lab0;
     727                 :            :             lab6:
     728                 :        431 :                 c = l - m1;
     729 [ +  + ][ -  + ]:        431 :                 if (c <= lb || p[c - 1] != 39) goto lab7;
     730                 :          0 :                 c--;
     731                 :          0 :                 bra = c; /* ], line 78 */
     732                 :          0 :                 {   int ret = r_R1(); /* call R1, line 78 */
     733         [ #  # ]:          0 :                     if (ret == 0) goto lab7;
     734         [ #  # ]:          0 :                     if (ret < 0) return ret;
     735                 :            :                 }
     736         [ #  # ]:          0 :                 if (slice_del() == -1) return -1; /* delete, line 78 */
     737                 :          0 :                 goto lab0;
     738                 :            :             lab7:
     739                 :        431 :                 c = l - m1;
     740                 :        431 :                 bra = c; /* ], line 79 */
     741                 :        431 :                 {   int ret = r_R1(); /* call R1, line 79 */
     742         [ +  + ]:        431 :                     if (ret <= 0) return ret;
     743                 :            :                 }
     744                 :        417 :                 {   int ret = r_C(); /* call C, line 79 */
     745         [ +  + ]:        417 :                     if (ret <= 0) return ret;
     746                 :            :                 }
     747         [ -  + ]:        383 :                 if (slice_del() == -1) return -1; /* delete, line 79 */
     748                 :            :             }
     749                 :            :         lab0:
     750                 :        687 :             break;
     751                 :            :         case 2:
     752                 :        662 :             {   int ret = r_R1(); /* call R1, line 80 */
     753         [ +  + ]:        662 :                 if (ret <= 0) return ret;
     754                 :            :             }
     755                 :        634 :             {   int ret = slice_from_s(1, s_20); /* <-, line 80 */
     756         [ -  + ]:        634 :                 if (ret < 0) return ret;
     757                 :            :             }
     758                 :        634 :             break;
     759                 :            :         case 3:
     760                 :        204 :             {   int ret = r_R1(); /* call R1, line 81 */
     761         [ +  + ]:        204 :                 if (ret <= 0) return ret;
     762                 :            :             }
     763                 :        198 :             {   int ret = slice_from_s(4, s_21); /* <-, line 81 */
     764         [ -  + ]:        198 :                 if (ret < 0) return ret;
     765                 :            :             }
     766                 :        198 :             break;
     767                 :            :         case 4:
     768                 :        242 :             {   int ret = r_R1(); /* call R1, line 82 */
     769         [ +  + ]:        242 :                 if (ret <= 0) return ret;
     770                 :            :             }
     771                 :        241 :             {   int ret = slice_from_s(4, s_22); /* <-, line 82 */
     772         [ -  + ]:        241 :                 if (ret < 0) return ret;
     773                 :            :             }
     774                 :        241 :             break;
     775                 :            :         case 5:
     776                 :       1540 :             {   int ret = r_R1(); /* call R1, line 83 */
     777         [ +  + ]:       1540 :                 if (ret <= 0) return ret;
     778                 :            :             }
     779                 :       1451 :             {   int ret = r_C(); /* call C, line 83 */
     780         [ +  + ]:       1451 :                 if (ret <= 0) return ret;
     781                 :            :             }
     782         [ -  + ]:       1157 :             if (slice_del() == -1) return -1; /* delete, line 83 */
     783                 :       1157 :             break;
     784                 :            :         case 6:
     785                 :       1218 :             {   int ret = r_R1(); /* call R1, line 84 */
     786         [ +  + ]:       1218 :                 if (ret <= 0) return ret;
     787                 :            :             }
     788                 :       1174 :             {   int ret = slice_from_s(1, s_23); /* <-, line 84 */
     789         [ -  + ]:       1174 :                 if (ret < 0) return ret;
     790                 :            :             }
     791                 :       1174 :             break;
     792                 :            :         case 7:
     793                 :        496 :             {   int ret = r_R1(); /* call R1, line 85 */
     794         [ +  + ]:        496 :                 if (ret <= 0) return ret;
     795                 :            :             }
     796                 :        457 :             {   int ret = slice_from_s(1, s_24); /* <-, line 85 */
     797         [ -  + ]:        457 :                 if (ret < 0) return ret;
     798                 :            :             }
     799                 :        457 :             break;
     800                 :            :         case 8:
     801                 :        501 :             {   int ret = r_R1(); /* call R1, line 86 */
     802         [ +  + ]:        501 :                 if (ret <= 0) return ret;
     803                 :            :             }
     804                 :        457 :             {   int ret = slice_from_s(1, s_25); /* <-, line 86 */
     805         [ -  + ]:        457 :                 if (ret < 0) return ret;
     806                 :            :             }
     807                 :        457 :             break;
     808                 :            :         case 9:
     809                 :        465 :             {   int ret = r_R1(); /* call R1, line 87 */
     810         [ +  + ]:        465 :                 if (ret <= 0) return ret;
     811                 :            :             }
     812         [ -  + ]:        412 :             if (slice_del() == -1) return -1; /* delete, line 87 */
     813                 :        412 :             insert_s(c, c, 1, s_26); /* attach, line 87 */
     814                 :        412 :             {   int ret = r_lengthen_V(); /* call lengthen_V, line 87 */
     815         [ -  + ]:        412 :                 if (ret <= 0) return ret;
     816                 :            :             }
     817                 :        412 :             break;
     818                 :            :         case 10:
     819                 :         43 :             {   int ret = r_R1(); /* call R1, line 88 */
     820         [ +  + ]:         43 :                 if (ret <= 0) return ret;
     821                 :            :             }
     822                 :         38 :             {   int ret = r_C(); /* call C, line 88 */
     823         [ +  + ]:         38 :                 if (ret <= 0) return ret;
     824                 :            :             }
     825         [ -  + ]:         29 :             if (slice_del() == -1) return -1; /* delete, line 88 */
     826                 :         29 :             insert_s(c, c, 2, s_27); /* attach, line 88 */
     827                 :         29 :             {   int ret = r_lengthen_V(); /* call lengthen_V, line 88 */
     828         [ -  + ]:         29 :                 if (ret <= 0) return ret;
     829                 :            :             }
     830                 :         29 :             break;
     831                 :            :         case 11:
     832                 :         63 :             {   int ret = r_R1(); /* call R1, line 89 */
     833         [ +  + ]:         63 :                 if (ret <= 0) return ret;
     834                 :            :             }
     835                 :         60 :             {   int ret = r_C(); /* call C, line 89 */
     836         [ -  + ]:         60 :                 if (ret <= 0) return ret;
     837                 :            :             }
     838                 :         60 :             {   int ret = slice_from_s(3, s_28); /* <-, line 89 */
     839         [ -  + ]:         60 :                 if (ret < 0) return ret;
     840                 :            :             }
     841                 :            :             break;
     842                 :            :     }
     843                 :     116285 :     return 1;
     844                 :            : }
     845                 :            : 
     846                 :     116285 : int Xapian::InternalStemKraaij_pohlmann::r_Step_3() { /* backwardmode */
     847                 :            :     int among_var;
     848                 :     116285 :     ket = c; /* [, line 95 */
     849 [ +  + ][ +  + ]:     116285 :     if (c - 2 <= lb || p[c - 1] >> 5 != 3 || !((1316016 >> (p[c - 1] & 0x1f)) & 1)) return 0; /* among, line 95 */
                 [ +  + ]
     850                 :      44563 :     among_var = find_among_b(s_pool, a_2, 14, 0, 0);
     851         [ +  + ]:      44563 :     if (!(among_var)) return 0;
     852                 :       5310 :     bra = c; /* ], line 95 */
     853 [ -  +  +  +  + :       5310 :     switch(among_var) { /* among, line 95 */
          +  -  +  +  +  
                   +  - ]
     854                 :          0 :         case 0: return 0;
     855                 :            :         case 1:
     856                 :        662 :             {   int ret = r_R1(); /* call R1, line 96 */
     857         [ +  + ]:        662 :                 if (ret <= 0) return ret;
     858                 :            :             }
     859                 :        658 :             {   int ret = slice_from_s(3, s_29); /* <-, line 96 */
     860         [ -  + ]:        658 :                 if (ret < 0) return ret;
     861                 :            :             }
     862                 :        658 :             break;
     863                 :            :         case 2:
     864                 :        186 :             {   int ret = r_R1(); /* call R1, line 97 */
     865         [ -  + ]:        186 :                 if (ret <= 0) return ret;
     866                 :            :             }
     867         [ -  + ]:        186 :             if (slice_del() == -1) return -1; /* delete, line 97 */
     868                 :        186 :             {   int ret = r_lengthen_V(); /* call lengthen_V, line 97 */
     869         [ -  + ]:        186 :                 if (ret <= 0) return ret;
     870                 :            :             }
     871                 :        186 :             break;
     872                 :            :         case 3:
     873                 :        984 :             {   int ret = r_R1(); /* call R1, line 100 */
     874         [ +  + ]:        984 :                 if (ret <= 0) return ret;
     875                 :            :             }
     876         [ -  + ]:        930 :             if (slice_del() == -1) return -1; /* delete, line 100 */
     877                 :        930 :             break;
     878                 :            :         case 4:
     879                 :         89 :             {   int ret = slice_from_s(1, s_30); /* <-, line 101 */
     880         [ -  + ]:         89 :                 if (ret < 0) return ret;
     881                 :            :             }
     882                 :         89 :             break;
     883                 :            :         case 5:
     884                 :       3178 :             {   int ret = r_R1(); /* call R1, line 104 */
     885         [ +  + ]:       3178 :                 if (ret <= 0) return ret;
     886                 :            :             }
     887         [ -  + ]:       3138 :             if (slice_del() == -1) return -1; /* delete, line 104 */
     888                 :       3138 :             {   int ret = r_lengthen_V(); /* call lengthen_V, line 104 */
     889         [ -  + ]:       3138 :                 if (ret <= 0) return ret;
     890                 :            :             }
     891                 :       3138 :             break;
     892                 :            :         case 6:
     893                 :          0 :             {   int ret = r_R1(); /* call R1, line 105 */
     894         [ #  # ]:          0 :                 if (ret <= 0) return ret;
     895                 :            :             }
     896                 :          0 :             {   int ret = r_C(); /* call C, line 105 */
     897         [ #  # ]:          0 :                 if (ret <= 0) return ret;
     898                 :            :             }
     899                 :          0 :             {   int ret = slice_from_s(3, s_31); /* <-, line 105 */
     900         [ #  # ]:          0 :                 if (ret < 0) return ret;
     901                 :            :             }
     902                 :          0 :             break;
     903                 :            :         case 7:
     904                 :         14 :             {   int ret = r_R2(); /* call R2, line 106 */
     905         [ +  + ]:         14 :                 if (ret <= 0) return ret;
     906                 :            :             }
     907         [ -  + ]:         12 :             if (slice_del() == -1) return -1; /* delete, line 106 */
     908                 :         12 :             insert_s(c, c, 1, s_32); /* attach, line 106 */
     909                 :         12 :             {   int ret = r_lengthen_V(); /* call lengthen_V, line 106 */
     910         [ -  + ]:         12 :                 if (ret <= 0) return ret;
     911                 :            :             }
     912                 :         12 :             break;
     913                 :            :         case 8:
     914                 :        102 :             {   int ret = r_R2(); /* call R2, line 107 */
     915         [ +  + ]:        102 :                 if (ret <= 0) return ret;
     916                 :            :             }
     917         [ -  + ]:         93 :             if (slice_del() == -1) return -1; /* delete, line 107 */
     918                 :         93 :             insert_s(c, c, 1, s_33); /* attach, line 107 */
     919                 :         93 :             {   int ret = r_lengthen_V(); /* call lengthen_V, line 107 */
     920         [ -  + ]:         93 :                 if (ret <= 0) return ret;
     921                 :            :             }
     922                 :         93 :             break;
     923                 :            :         case 9:
     924                 :         72 :             {   int ret = r_R1(); /* call R1, line 108 */
     925         [ +  + ]:         72 :                 if (ret <= 0) return ret;
     926                 :            :             }
     927                 :         38 :             {   int ret = r_C(); /* call C, line 108 */
     928         [ +  + ]:         38 :                 if (ret <= 0) return ret;
     929                 :            :             }
     930                 :         10 :             {   int ret = slice_from_s(1, s_34); /* <-, line 108 */
     931         [ -  + ]:         10 :                 if (ret < 0) return ret;
     932                 :            :             }
     933                 :         10 :             break;
     934                 :            :         case 10:
     935                 :         23 :             {   int ret = r_R1(); /* call R1, line 109 */
     936         [ +  + ]:         23 :                 if (ret <= 0) return ret;
     937                 :            :             }
     938                 :         19 :             {   int ret = r_C(); /* call C, line 109 */
     939         [ +  + ]:         19 :                 if (ret <= 0) return ret;
     940                 :            :             }
     941                 :         17 :             {   int ret = slice_from_s(1, s_35); /* <-, line 109 */
     942         [ -  + ]:         17 :                 if (ret < 0) return ret;
     943                 :            :             }
     944                 :            :             break;
     945                 :            :     }
     946                 :     116285 :     return 1;
     947                 :            : }
     948                 :            : 
     949                 :     116285 : int Xapian::InternalStemKraaij_pohlmann::r_Step_4() { /* backwardmode */
     950                 :            :     int among_var;
     951                 :     116285 :     {   int m1 = l - c; (void)m1; /* or, line 134 */
     952                 :     116285 :         ket = c; /* [, line 115 */
     953 [ +  + ][ +  + ]:     116285 :         if (c - 2 <= lb || p[c - 1] >> 5 != 3 || !((1315024 >> (p[c - 1] & 0x1f)) & 1)) goto lab1; /* among, line 115 */
                 [ +  + ]
     954                 :      39324 :         among_var = find_among_b(s_pool, a_3, 16, 0, 0);
     955         [ +  + ]:      39324 :         if (!(among_var)) goto lab1;
     956                 :       2323 :         bra = c; /* ], line 115 */
     957 [ -  +  +  +  + :       2323 :         switch(among_var) { /* among, line 115 */
          +  +  +  +  +  
                   +  - ]
     958                 :          0 :             case 0: goto lab1;
     959                 :            :             case 1:
     960                 :          9 :                 {   int ret = r_R1(); /* call R1, line 116 */
     961         [ -  + ]:          9 :                     if (ret == 0) goto lab1;
     962         [ -  + ]:          9 :                     if (ret < 0) return ret;
     963                 :            :                 }
     964                 :          9 :                 {   int ret = slice_from_s(2, s_36); /* <-, line 116 */
     965         [ -  + ]:          9 :                     if (ret < 0) return ret;
     966                 :            :                 }
     967                 :          9 :                 break;
     968                 :            :             case 2:
     969                 :         37 :                 {   int ret = r_R1(); /* call R1, line 117 */
     970         [ +  + ]:         37 :                     if (ret == 0) goto lab1;
     971         [ -  + ]:         35 :                     if (ret < 0) return ret;
     972                 :            :                 }
     973                 :         35 :                 {   int ret = slice_from_s(3, s_37); /* <-, line 117 */
     974         [ -  + ]:         35 :                     if (ret < 0) return ret;
     975                 :            :                 }
     976                 :         35 :                 break;
     977                 :            :             case 3:
     978                 :        219 :                 {   int ret = r_R1(); /* call R1, line 118 */
     979         [ +  + ]:        219 :                     if (ret == 0) goto lab1;
     980         [ -  + ]:        208 :                     if (ret < 0) return ret;
     981                 :            :                 }
     982         [ -  + ]:        208 :                 if (slice_del() == -1) return -1; /* delete, line 118 */
     983                 :        208 :                 break;
     984                 :            :             case 4:
     985                 :         51 :                 {   int ret = r_R1(); /* call R1, line 119 */
     986         [ +  + ]:         51 :                     if (ret == 0) goto lab1;
     987         [ -  + ]:         48 :                     if (ret < 0) return ret;
     988                 :            :                 }
     989                 :         48 :                 {   int ret = r_V(); /* call V, line 119 */
     990         [ +  + ]:         48 :                     if (ret == 0) goto lab1;
     991         [ -  + ]:         34 :                     if (ret < 0) return ret;
     992                 :            :                 }
     993                 :         34 :                 {   int ret = slice_from_s(1, s_38); /* <-, line 119 */
     994         [ -  + ]:         34 :                     if (ret < 0) return ret;
     995                 :            :                 }
     996                 :         34 :                 break;
     997                 :            :             case 5:
     998                 :         97 :                 {   int ret = r_R1(); /* call R1, line 120 */
     999         [ +  + ]:         97 :                     if (ret == 0) goto lab1;
    1000         [ -  + ]:         87 :                     if (ret < 0) return ret;
    1001                 :            :                 }
    1002                 :         87 :                 {   int ret = r_V(); /* call V, line 120 */
    1003         [ +  + ]:         87 :                     if (ret == 0) goto lab1;
    1004         [ -  + ]:         61 :                     if (ret < 0) return ret;
    1005                 :            :                 }
    1006                 :         61 :                 {   int ret = slice_from_s(1, s_39); /* <-, line 120 */
    1007         [ -  + ]:         61 :                     if (ret < 0) return ret;
    1008                 :            :                 }
    1009                 :         61 :                 break;
    1010                 :            :             case 6:
    1011                 :         20 :                 {   int ret = r_R1(); /* call R1, line 121 */
    1012         [ +  + ]:         20 :                     if (ret == 0) goto lab1;
    1013         [ -  + ]:         15 :                     if (ret < 0) return ret;
    1014                 :            :                 }
    1015                 :         15 :                 {   int ret = r_V(); /* call V, line 121 */
    1016         [ -  + ]:         15 :                     if (ret == 0) goto lab1;
    1017         [ -  + ]:         15 :                     if (ret < 0) return ret;
    1018                 :            :                 }
    1019                 :         15 :                 {   int ret = slice_from_s(1, s_40); /* <-, line 121 */
    1020         [ -  + ]:         15 :                     if (ret < 0) return ret;
    1021                 :            :                 }
    1022                 :         15 :                 break;
    1023                 :            :             case 7:
    1024                 :         23 :                 {   int ret = r_R1(); /* call R1, line 122 */
    1025         [ +  + ]:         23 :                     if (ret == 0) goto lab1;
    1026         [ -  + ]:         19 :                     if (ret < 0) return ret;
    1027                 :            :                 }
    1028                 :         19 :                 {   int ret = slice_from_s(4, s_41); /* <-, line 122 */
    1029         [ -  + ]:         19 :                     if (ret < 0) return ret;
    1030                 :            :                 }
    1031                 :         19 :                 break;
    1032                 :            :             case 8:
    1033                 :         46 :                 {   int ret = r_R1(); /* call R1, line 124 */
    1034         [ +  + ]:         46 :                     if (ret == 0) goto lab1;
    1035         [ -  + ]:         41 :                     if (ret < 0) return ret;
    1036                 :            :                 }
    1037                 :         41 :                 {   int ret = slice_from_s(4, s_42); /* <-, line 124 */
    1038         [ -  + ]:         41 :                     if (ret < 0) return ret;
    1039                 :            :                 }
    1040                 :         41 :                 break;
    1041                 :            :             case 9:
    1042                 :         84 :                 {   int ret = r_R1(); /* call R1, line 127 */
    1043         [ +  + ]:         84 :                     if (ret == 0) goto lab1;
    1044         [ -  + ]:         70 :                     if (ret < 0) return ret;
    1045                 :            :                 }
    1046         [ -  + ]:         70 :                 if (slice_del() == -1) return -1; /* delete, line 127 */
    1047                 :         70 :                 break;
    1048                 :            :             case 10:
    1049                 :       1737 :                 {   int ret = r_R1(); /* call R1, line 131 */
    1050         [ +  + ]:       1737 :                     if (ret == 0) goto lab1;
    1051         [ -  + ]:       1669 :                     if (ret < 0) return ret;
    1052                 :            :                 }
    1053                 :       1669 :                 {   int ret = r_C(); /* call C, line 131 */
    1054         [ +  + ]:       1669 :                     if (ret == 0) goto lab1;
    1055         [ -  + ]:       1591 :                     if (ret < 0) return ret;
    1056                 :            :                 }
    1057         [ -  + ]:       1591 :                 if (slice_del() == -1) return -1; /* delete, line 131 */
    1058                 :       1591 :                 {   int ret = r_lengthen_V(); /* call lengthen_V, line 131 */
    1059         [ -  + ]:       1591 :                     if (ret == 0) goto lab1;
    1060         [ -  + ]:       1591 :                     if (ret < 0) return ret;
    1061                 :            :                 }
    1062                 :            :                 break;
    1063                 :            :         }
    1064                 :       2083 :         goto lab0;
    1065                 :            :     lab1:
    1066                 :     114202 :         c = l - m1;
    1067                 :     114202 :         ket = c; /* [, line 135 */
    1068 [ +  + ][ +  + ]:     114202 :         if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((1310848 >> (p[c - 1] & 0x1f)) & 1)) return 0; /* among, line 135 */
                 [ +  + ]
    1069                 :      22796 :         among_var = find_among_b(s_pool, a_4, 3, 0, 0);
    1070         [ +  + ]:      22796 :         if (!(among_var)) return 0;
    1071                 :       1486 :         bra = c; /* ], line 135 */
    1072      [ -  +  - ]:       1486 :         switch(among_var) { /* among, line 135 */
    1073                 :          0 :             case 0: return 0;
    1074                 :            :             case 1:
    1075                 :       1486 :                 {   int ret = r_R1(); /* call R1, line 138 */
    1076         [ +  + ]:       1486 :                     if (ret <= 0) return ret;
    1077                 :            :                 }
    1078                 :       1435 :                 {   int ret = r_C(); /* call C, line 138 */
    1079         [ +  + ]:       1435 :                     if (ret <= 0) return ret;
    1080                 :            :                 }
    1081         [ -  + ]:       1381 :                 if (slice_del() == -1) return -1; /* delete, line 138 */
    1082                 :       1381 :                 {   int ret = r_lengthen_V(); /* call lengthen_V, line 138 */
    1083         [ -  + ]:       1381 :                     if (ret <= 0) return ret;
    1084                 :            :                 }
    1085                 :            :                 break;
    1086                 :            :         }
    1087                 :            :     }
    1088                 :            : lab0:
    1089                 :     116285 :     return 1;
    1090                 :            : }
    1091                 :            : 
    1092                 :     116285 : int Xapian::InternalStemKraaij_pohlmann::r_Step_7() { /* backwardmode */
    1093                 :            :     int among_var;
    1094                 :     116285 :     ket = c; /* [, line 145 */
    1095 [ +  + ][ +  + ]:     116285 :     if (c - 1 <= lb || p[c - 1] != 116) return 0; /* among, line 145 */
    1096                 :       8911 :     among_var = find_among_b(s_pool, a_5, 3, 0, 0);
    1097         [ +  + ]:       8911 :     if (!(among_var)) return 0;
    1098                 :       1008 :     bra = c; /* ], line 145 */
    1099   [ -  +  +  +  :       1008 :     switch(among_var) { /* among, line 145 */
                      - ]
    1100                 :          0 :         case 0: return 0;
    1101                 :            :         case 1:
    1102                 :        543 :             {   int ret = slice_from_s(1, s_43); /* <-, line 146 */
    1103         [ -  + ]:        543 :                 if (ret < 0) return ret;
    1104                 :            :             }
    1105                 :        543 :             break;
    1106                 :            :         case 2:
    1107                 :        245 :             {   int ret = slice_from_s(1, s_44); /* <-, line 147 */
    1108         [ -  + ]:        245 :                 if (ret < 0) return ret;
    1109                 :            :             }
    1110                 :        245 :             break;
    1111                 :            :         case 3:
    1112                 :        220 :             {   int ret = slice_from_s(1, s_45); /* <-, line 148 */
    1113         [ -  + ]:        220 :                 if (ret < 0) return ret;
    1114                 :            :             }
    1115                 :            :             break;
    1116                 :            :     }
    1117                 :     116285 :     return 1;
    1118                 :            : }
    1119                 :            : 
    1120                 :      28317 : int Xapian::InternalStemKraaij_pohlmann::r_Step_6() { /* backwardmode */
    1121                 :            :     int among_var;
    1122                 :      28317 :     ket = c; /* [, line 154 */
    1123 [ +  - ][ +  + ]:      28317 :     if (c <= lb || p[c - 1] >> 5 != 3 || !((98532828 >> (p[c - 1] & 0x1f)) & 1)) return 0; /* among, line 154 */
                 [ +  + ]
    1124                 :      26600 :     among_var = find_among_b(s_pool, a_6, 22, 0, 0);
    1125         [ +  + ]:      26600 :     if (!(among_var)) return 0;
    1126                 :       3717 :     bra = c; /* ], line 154 */
    1127 [ -  +  +  +  + :       3717 :     switch(among_var) { /* among, line 154 */
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
             +  +  +  - ]
    1128                 :          0 :         case 0: return 0;
    1129                 :            :         case 1:
    1130                 :         27 :             {   int ret = slice_from_s(1, s_46); /* <-, line 155 */
    1131         [ -  + ]:         27 :                 if (ret < 0) return ret;
    1132                 :            :             }
    1133                 :         27 :             break;
    1134                 :            :         case 2:
    1135                 :          5 :             {   int ret = slice_from_s(1, s_47); /* <-, line 156 */
    1136         [ -  + ]:          5 :                 if (ret < 0) return ret;
    1137                 :            :             }
    1138                 :          5 :             break;
    1139                 :            :         case 3:
    1140                 :         17 :             {   int ret = slice_from_s(1, s_48); /* <-, line 157 */
    1141         [ -  + ]:         17 :                 if (ret < 0) return ret;
    1142                 :            :             }
    1143                 :         17 :             break;
    1144                 :            :         case 4:
    1145                 :        151 :             {   int ret = slice_from_s(1, s_49); /* <-, line 158 */
    1146         [ -  + ]:        151 :                 if (ret < 0) return ret;
    1147                 :            :             }
    1148                 :        151 :             break;
    1149                 :            :         case 5:
    1150                 :         85 :             {   int ret = slice_from_s(1, s_50); /* <-, line 159 */
    1151         [ -  + ]:         85 :                 if (ret < 0) return ret;
    1152                 :            :             }
    1153                 :         85 :             break;
    1154                 :            :         case 6:
    1155                 :          4 :             {   int ret = slice_from_s(1, s_51); /* <-, line 160 */
    1156         [ -  + ]:          4 :                 if (ret < 0) return ret;
    1157                 :            :             }
    1158                 :          4 :             break;
    1159                 :            :         case 7:
    1160                 :          5 :             {   int ret = slice_from_s(1, s_52); /* <-, line 161 */
    1161         [ -  + ]:          5 :                 if (ret < 0) return ret;
    1162                 :            :             }
    1163                 :          5 :             break;
    1164                 :            :         case 8:
    1165                 :        360 :             {   int ret = slice_from_s(1, s_53); /* <-, line 162 */
    1166         [ -  + ]:        360 :                 if (ret < 0) return ret;
    1167                 :            :             }
    1168                 :        360 :             break;
    1169                 :            :         case 9:
    1170                 :        503 :             {   int ret = slice_from_s(1, s_54); /* <-, line 163 */
    1171         [ -  + ]:        503 :                 if (ret < 0) return ret;
    1172                 :            :             }
    1173                 :        503 :             break;
    1174                 :            :         case 10:
    1175                 :        104 :             {   int ret = slice_from_s(1, s_55); /* <-, line 164 */
    1176         [ -  + ]:        104 :                 if (ret < 0) return ret;
    1177                 :            :             }
    1178                 :        104 :             break;
    1179                 :            :         case 11:
    1180                 :        305 :             {   int ret = slice_from_s(1, s_56); /* <-, line 165 */
    1181         [ -  + ]:        305 :                 if (ret < 0) return ret;
    1182                 :            :             }
    1183                 :        305 :             break;
    1184                 :            :         case 12:
    1185                 :        145 :             {   int ret = slice_from_s(1, s_57); /* <-, line 166 */
    1186         [ -  + ]:        145 :                 if (ret < 0) return ret;
    1187                 :            :             }
    1188                 :        145 :             break;
    1189                 :            :         case 13:
    1190                 :          7 :             {   int ret = slice_from_s(1, s_58); /* <-, line 167 */
    1191         [ -  + ]:          7 :                 if (ret < 0) return ret;
    1192                 :            :             }
    1193                 :          7 :             break;
    1194                 :            :         case 14:
    1195                 :         42 :             {   int ret = slice_from_s(1, s_59); /* <-, line 168 */
    1196         [ -  + ]:         42 :                 if (ret < 0) return ret;
    1197                 :            :             }
    1198                 :         42 :             break;
    1199                 :            :         case 15:
    1200                 :        312 :             {   int ret = slice_from_s(1, s_60); /* <-, line 169 */
    1201         [ -  + ]:        312 :                 if (ret < 0) return ret;
    1202                 :            :             }
    1203                 :        312 :             break;
    1204                 :            :         case 16:
    1205                 :        370 :             {   int ret = slice_from_s(1, s_61); /* <-, line 170 */
    1206         [ -  + ]:        370 :                 if (ret < 0) return ret;
    1207                 :            :             }
    1208                 :        370 :             break;
    1209                 :            :         case 17:
    1210                 :          6 :             {   int ret = slice_from_s(1, s_62); /* <-, line 171 */
    1211         [ -  + ]:          6 :                 if (ret < 0) return ret;
    1212                 :            :             }
    1213                 :          6 :             break;
    1214                 :            :         case 18:
    1215                 :          3 :             {   int ret = slice_from_s(1, s_63); /* <-, line 172 */
    1216         [ -  + ]:          3 :                 if (ret < 0) return ret;
    1217                 :            :             }
    1218                 :          3 :             break;
    1219                 :            :         case 19:
    1220                 :          1 :             {   int ret = slice_from_s(1, s_64); /* <-, line 173 */
    1221         [ -  + ]:          1 :                 if (ret < 0) return ret;
    1222                 :            :             }
    1223                 :          1 :             break;
    1224                 :            :         case 20:
    1225                 :          5 :             {   int ret = slice_from_s(1, s_65); /* <-, line 174 */
    1226         [ -  + ]:          5 :                 if (ret < 0) return ret;
    1227                 :            :             }
    1228                 :          5 :             break;
    1229                 :            :         case 21:
    1230                 :        769 :             {   int ret = slice_from_s(1, s_66); /* <-, line 175 */
    1231         [ -  + ]:        769 :                 if (ret < 0) return ret;
    1232                 :            :             }
    1233                 :        769 :             break;
    1234                 :            :         case 22:
    1235                 :        491 :             {   int ret = slice_from_s(1, s_67); /* <-, line 176 */
    1236         [ -  + ]:        491 :                 if (ret < 0) return ret;
    1237                 :            :             }
    1238                 :            :             break;
    1239                 :            :     }
    1240                 :      28317 :     return 1;
    1241                 :            : }
    1242                 :            : 
    1243                 :       6021 : int Xapian::InternalStemKraaij_pohlmann::r_Step_1c() { /* backwardmode */
    1244                 :            :     int among_var;
    1245                 :       6021 :     ket = c; /* [, line 182 */
    1246 [ +  - ][ +  + ]:       6021 :     if (c <= lb || (p[c - 1] != 100 && p[c - 1] != 116)) return 0; /* among, line 182 */
                 [ +  + ]
    1247                 :       2333 :     among_var = find_among_b(s_pool, a_7, 2, 0, 0);
    1248         [ -  + ]:       2333 :     if (!(among_var)) return 0;
    1249                 :       2333 :     bra = c; /* ], line 182 */
    1250                 :       2333 :     {   int ret = r_R1(); /* call R1, line 182 */
    1251         [ +  + ]:       2333 :         if (ret <= 0) return ret;
    1252                 :            :     }
    1253                 :       2222 :     {   int ret = r_C(); /* call C, line 182 */
    1254         [ +  + ]:       2222 :         if (ret <= 0) return ret;
    1255                 :            :     }
    1256   [ -  +  +  - ]:       1817 :     switch(among_var) { /* among, line 182 */
    1257                 :          0 :         case 0: return 0;
    1258                 :            :         case 1:
    1259                 :        972 :             {   int m1 = l - c; (void)m1; /* not, line 183 */
    1260 [ +  - ][ +  + ]:        972 :                 if (c <= lb || p[c - 1] != 'n') goto lab0;
    1261                 :        112 :                 c--;
    1262                 :        112 :                 {   int ret = r_R1(); /* call R1, line 183 */
    1263         [ +  + ]:        112 :                     if (ret == 0) goto lab0;
    1264         [ -  + ]:         82 :                     if (ret < 0) return ret;
    1265                 :            :                 }
    1266                 :         82 :                 return 0;
    1267                 :            :             lab0:
    1268                 :        890 :                 c = l - m1;
    1269                 :            :             }
    1270         [ -  + ]:        890 :             if (slice_del() == -1) return -1; /* delete, line 183 */
    1271                 :        890 :             break;
    1272                 :            :         case 2:
    1273                 :        845 :             {   int m2 = l - c; (void)m2; /* not, line 184 */
    1274 [ +  - ][ +  + ]:        845 :                 if (c <= lb || p[c - 1] != 'h') goto lab1;
    1275                 :        165 :                 c--;
    1276                 :        165 :                 {   int ret = r_R1(); /* call R1, line 184 */
    1277         [ -  + ]:        165 :                     if (ret == 0) goto lab1;
    1278         [ -  + ]:        165 :                     if (ret < 0) return ret;
    1279                 :            :                 }
    1280                 :        165 :                 return 0;
    1281                 :            :             lab1:
    1282                 :        680 :                 c = l - m2;
    1283                 :            :             }
    1284         [ -  + ]:        680 :             if (slice_del() == -1) return -1; /* delete, line 184 */
    1285                 :            :             break;
    1286                 :            :     }
    1287                 :       6021 :     return 1;
    1288                 :            : }
    1289                 :            : 
    1290                 :     116285 : int Xapian::InternalStemKraaij_pohlmann::r_Lose_prefix() { /* forwardmode */
    1291                 :     116285 :     bra = c; /* [, line 190 */
    1292         [ +  + ]:     116285 :     if (!(eq_s(2, s_68))) return 0; /* literal, line 190 */
    1293                 :       2013 :     ket = c; /* ], line 190 */
    1294                 :       2013 :     {   int c_test1 = c; /* test, line 190 */
    1295                 :       2013 :         {   int ret = skip_utf8(p, c, 0, l, + 3); /* hop, line 190 */
    1296         [ +  + ]:       2013 :             if (ret < 0) return 0;
    1297                 :       1952 :             c = ret;
    1298                 :            :         }
    1299                 :       1952 :         c = c_test1;
    1300                 :            :     }
    1301         [ +  + ]:       1952 :     if (out_grouping_U(g_v, 97, 121, 1) < 0) return 0; /* goto */ /* grouping v, line 190 */
    1302         [ +  + ]:       1933 :     if (in_grouping_U(g_v, 97, 121, 1) < 0) return 0; /* goto */ /* non v, line 190 */
    1303                 :       1923 :     B_GE_removed = 1; /* set GE_removed, line 191 */
    1304         [ -  + ]:       1923 :     if (slice_del() == -1) return -1; /* delete, line 192 */
    1305                 :     116285 :     return 1;
    1306                 :            : }
    1307                 :            : 
    1308                 :     116285 : int Xapian::InternalStemKraaij_pohlmann::r_Lose_infix() { /* forwardmode */
    1309                 :     116285 :     {   int ret = skip_utf8(p, c, 0, l, 1);
    1310         [ -  + ]:     116285 :         if (ret < 0) return 0;
    1311                 :     116285 :         c = ret; /* next, line 196 */
    1312                 :            :     }
    1313                 :    4141170 :     while(1) { /* gopast, line 197 */
    1314                 :    4257455 :         bra = c; /* [, line 197 */
    1315         [ +  + ]:    4257455 :         if (!(eq_s(2, s_69))) goto lab0; /* literal, line 197 */
    1316                 :       5145 :         ket = c; /* ], line 197 */
    1317                 :            :         break;
    1318                 :            :     lab0:
    1319                 :    4252310 :         {   int ret = skip_utf8(p, c, 0, l, 1);
    1320         [ +  + ]:    4252310 :             if (ret < 0) return 0;
    1321                 :    4141170 :             c = ret; /* gopast, line 197 */
    1322                 :            :         }
    1323                 :            :     }
    1324                 :       5145 :     {   int c_test1 = c; /* test, line 197 */
    1325                 :       5145 :         {   int ret = skip_utf8(p, c, 0, l, + 3); /* hop, line 197 */
    1326         [ +  + ]:       5145 :             if (ret < 0) return 0;
    1327                 :       4318 :             c = ret;
    1328                 :            :         }
    1329                 :       4318 :         c = c_test1;
    1330                 :            :     }
    1331         [ +  + ]:       4318 :     if (out_grouping_U(g_v, 97, 121, 1) < 0) return 0; /* goto */ /* grouping v, line 197 */
    1332         [ +  + ]:       4178 :     if (in_grouping_U(g_v, 97, 121, 1) < 0) return 0; /* goto */ /* non v, line 197 */
    1333                 :       4098 :     B_GE_removed = 1; /* set GE_removed, line 198 */
    1334         [ -  + ]:       4098 :     if (slice_del() == -1) return -1; /* delete, line 199 */
    1335                 :     116285 :     return 1;
    1336                 :            : }
    1337                 :            : 
    1338                 :     122306 : int Xapian::InternalStemKraaij_pohlmann::r_measure() { /* forwardmode */
    1339                 :     122306 :     {   int c1 = c; /* do, line 203 */
    1340                 :     122306 :         c = l; /* tolimit, line 204 */
    1341                 :     122306 :         I_p1 = c; /* setmark p1, line 205 */
    1342                 :     122306 :         I_p2 = c; /* setmark p2, line 206 */
    1343                 :     122306 :         c = c1;
    1344                 :            :     }
    1345                 :     122306 :     {   int c2 = c; /* do, line 208 */
    1346                 :     580319 :         while(1) { /* repeat, line 209 */
    1347         [ +  + ]:     702625 :             if (out_grouping_U(g_v, 97, 121, 0)) goto lab2; /* non v, line 209 */
    1348                 :     580319 :             continue;
    1349                 :            :         lab2:
    1350                 :            :             break;
    1351                 :            :         }
    1352                 :     122306 :         {   int i = 1;
    1353                 :     135702 :             while(1) { /* atleast, line 209 */
    1354                 :     258008 :                 int c3 = c;
    1355                 :     258008 :                 {   int c4 = c; /* or, line 209 */
    1356         [ +  + ]:     258008 :                     if (!(eq_s(2, s_70))) goto lab5; /* literal, line 209 */
    1357                 :       1357 :                     goto lab4;
    1358                 :            :                 lab5:
    1359                 :     256651 :                     c = c4;
    1360         [ +  + ]:     256651 :                     if (in_grouping_U(g_v, 97, 121, 0)) goto lab3; /* grouping v, line 209 */
    1361                 :            :                 }
    1362                 :            :             lab4:
    1363                 :     135702 :                 i--;
    1364                 :     135702 :                 continue;
    1365                 :            :             lab3:
    1366                 :     122306 :                 c = c3;
    1367                 :            :                 break;
    1368                 :            :             }
    1369         [ +  + ]:     122306 :             if (i > 0) goto lab1;
    1370                 :            :         }
    1371         [ +  + ]:     112625 :         if (out_grouping_U(g_v, 97, 121, 0)) goto lab1; /* non v, line 209 */
    1372                 :     110189 :         I_p1 = c; /* setmark p1, line 209 */
    1373                 :     463489 :         while(1) { /* repeat, line 210 */
    1374         [ +  + ]:     573678 :             if (out_grouping_U(g_v, 97, 121, 0)) goto lab6; /* non v, line 210 */
    1375                 :     463489 :             continue;
    1376                 :            :         lab6:
    1377                 :            :             break;
    1378                 :            :         }
    1379                 :     110189 :         {   int i = 1;
    1380                 :     115680 :             while(1) { /* atleast, line 210 */
    1381                 :     225869 :                 int c5 = c;
    1382                 :     225869 :                 {   int c6 = c; /* or, line 210 */
    1383         [ +  + ]:     225869 :                     if (!(eq_s(2, s_71))) goto lab9; /* literal, line 210 */
    1384                 :       1248 :                     goto lab8;
    1385                 :            :                 lab9:
    1386                 :     224621 :                     c = c6;
    1387         [ +  + ]:     224621 :                     if (in_grouping_U(g_v, 97, 121, 0)) goto lab7; /* grouping v, line 210 */
    1388                 :            :                 }
    1389                 :            :             lab8:
    1390                 :     115680 :                 i--;
    1391                 :     115680 :                 continue;
    1392                 :            :             lab7:
    1393                 :     110189 :                 c = c5;
    1394                 :            :                 break;
    1395                 :            :             }
    1396         [ +  + ]:     110189 :             if (i > 0) goto lab1;
    1397                 :            :         }
    1398         [ +  + ]:      97239 :         if (out_grouping_U(g_v, 97, 121, 0)) goto lab1; /* non v, line 210 */
    1399                 :      93351 :         I_p2 = c; /* setmark p2, line 210 */
    1400                 :            :     lab1:
    1401                 :     122306 :         c = c2;
    1402                 :            :     }
    1403                 :     122306 :     return 1;
    1404                 :            : }
    1405                 :            : 
    1406                 :     116285 : int Xapian::InternalStemKraaij_pohlmann::stem() { /* forwardmode */
    1407                 :     116285 :     B_Y_found = 0; /* unset Y_found, line 216 */
    1408                 :     116285 :     B_stemmed = 0; /* unset stemmed, line 217 */
    1409                 :     116285 :     {   int c1 = c; /* do, line 218 */
    1410                 :     116285 :         bra = c; /* [, line 218 */
    1411 [ +  - ][ +  + ]:     116285 :         if (c == l || p[c] != 'y') goto lab0;
    1412                 :       2051 :         c++;
    1413                 :       2051 :         ket = c; /* ], line 218 */
    1414                 :       2051 :         {   int ret = slice_from_s(1, s_72); /* <-, line 218 */
    1415         [ -  + ]:       2051 :             if (ret < 0) return ret;
    1416                 :            :         }
    1417                 :       2051 :         B_Y_found = 1; /* set Y_found, line 218 */
    1418                 :            :     lab0:
    1419                 :     116285 :         c = c1;
    1420                 :            :     }
    1421                 :     116285 :     {   int c2 = c; /* do, line 219 */
    1422                 :      11724 :         while(1) { /* repeat, line 219 */
    1423                 :     128009 :             int c3 = c;
    1424                 :    4406794 :             while(1) { /* goto, line 219 */
    1425                 :    4534803 :                 int c4 = c;
    1426         [ +  + ]:    4534803 :                 if (in_grouping_U(g_v, 97, 121, 0)) goto lab3; /* grouping v, line 219 */
    1427                 :     614273 :                 bra = c; /* [, line 219 */
    1428 [ +  + ][ +  + ]:     614273 :                 if (c == l || p[c] != 'y') goto lab3;
    1429                 :      11724 :                 c++;
    1430                 :      11724 :                 ket = c; /* ], line 219 */
    1431                 :      11724 :                 c = c4;
    1432                 :            :                 break;
    1433                 :            :             lab3:
    1434                 :    4523079 :                 c = c4;
    1435                 :    4523079 :                 {   int ret = skip_utf8(p, c, 0, l, 1);
    1436         [ +  + ]:    4523079 :                     if (ret < 0) goto lab2;
    1437                 :    4406794 :                     c = ret; /* goto, line 219 */
    1438                 :            :                 }
    1439                 :            :             }
    1440                 :      11724 :             {   int ret = slice_from_s(1, s_73); /* <-, line 219 */
    1441         [ -  + ]:      11724 :                 if (ret < 0) return ret;
    1442                 :            :             }
    1443                 :      11724 :             B_Y_found = 1; /* set Y_found, line 219 */
    1444                 :      11724 :             continue;
    1445                 :            :         lab2:
    1446                 :     116285 :             c = c3;
    1447                 :            :             break;
    1448                 :            :         }
    1449                 :     116285 :         c = c2;
    1450                 :            :     }
    1451                 :     116285 :     {   int ret = r_measure(); /* call measure, line 221 */
    1452         [ -  + ]:     116285 :         if (ret <= 0) return ret;
    1453                 :            :     }
    1454                 :     116285 :     lb = c; c = l; /* backwards, line 223 */
    1455                 :            : 
    1456                 :     116285 :     {   int m5 = l - c; (void)m5; /* do, line 224 */
    1457                 :     116285 :         {   int ret = r_Step_1(); /* call Step_1, line 224 */
    1458         [ +  + ]:     116285 :             if (ret == 0) goto lab4;
    1459         [ -  + ]:      14822 :             if (ret < 0) return ret;
    1460                 :            :         }
    1461                 :      14822 :         B_stemmed = 1; /* set stemmed, line 224 */
    1462                 :            :     lab4:
    1463                 :     116285 :         c = l - m5;
    1464                 :            :     }
    1465                 :     116285 :     {   int m6 = l - c; (void)m6; /* do, line 225 */
    1466                 :     116285 :         {   int ret = r_Step_2(); /* call Step_2, line 225 */
    1467         [ +  + ]:     116285 :             if (ret == 0) goto lab5;
    1468         [ -  + ]:       5506 :             if (ret < 0) return ret;
    1469                 :            :         }
    1470                 :       5506 :         B_stemmed = 1; /* set stemmed, line 225 */
    1471                 :            :     lab5:
    1472                 :     116285 :         c = l - m6;
    1473                 :            :     }
    1474                 :     116285 :     {   int m7 = l - c; (void)m7; /* do, line 226 */
    1475                 :     116285 :         {   int ret = r_Step_3(); /* call Step_3, line 226 */
    1476         [ +  + ]:     116285 :             if (ret == 0) goto lab6;
    1477         [ -  + ]:       5133 :             if (ret < 0) return ret;
    1478                 :            :         }
    1479                 :       5133 :         B_stemmed = 1; /* set stemmed, line 226 */
    1480                 :            :     lab6:
    1481                 :     116285 :         c = l - m7;
    1482                 :            :     }
    1483                 :     116285 :     {   int m8 = l - c; (void)m8; /* do, line 227 */
    1484                 :     116285 :         {   int ret = r_Step_4(); /* call Step_4, line 227 */
    1485         [ +  + ]:     116285 :             if (ret == 0) goto lab7;
    1486         [ -  + ]:       3464 :             if (ret < 0) return ret;
    1487                 :            :         }
    1488                 :       3464 :         B_stemmed = 1; /* set stemmed, line 227 */
    1489                 :            :     lab7:
    1490                 :     116285 :         c = l - m8;
    1491                 :            :     }
    1492                 :     116285 :     c = lb;
    1493                 :     116285 :     B_GE_removed = 0; /* unset GE_removed, line 229 */
    1494                 :     116285 :     {   int c9 = c; /* do, line 230 */
    1495                 :     116285 :         {   int c10 = c; /* and, line 230 */
    1496                 :     116285 :             {   int ret = r_Lose_prefix(); /* call Lose_prefix, line 230 */
    1497         [ +  + ]:     116285 :                 if (ret == 0) goto lab8;
    1498         [ -  + ]:       1923 :                 if (ret < 0) return ret;
    1499                 :            :             }
    1500                 :       1923 :             c = c10;
    1501                 :       1923 :             {   int ret = r_measure(); /* call measure, line 230 */
    1502         [ -  + ]:       1923 :                 if (ret == 0) goto lab8;
    1503         [ -  + ]:       1923 :                 if (ret < 0) return ret;
    1504                 :            :             }
    1505                 :            :         }
    1506                 :            :     lab8:
    1507                 :     116285 :         c = c9;
    1508                 :            :     }
    1509                 :     116285 :     lb = c; c = l; /* backwards, line 231 */
    1510                 :            : 
    1511                 :     116285 :     {   int m11 = l - c; (void)m11; /* do, line 232 */
    1512         [ +  + ]:     116285 :         if (!(B_GE_removed)) goto lab9; /* Boolean test GE_removed, line 232 */
    1513                 :       1923 :         {   int ret = r_Step_1c(); /* call Step_1c, line 232 */
    1514         [ +  + ]:       1923 :             if (ret == 0) goto lab9;
    1515         [ -  + ]:        826 :             if (ret < 0) return ret;
    1516                 :            :         }
    1517                 :            :     lab9:
    1518                 :     116285 :         c = l - m11;
    1519                 :            :     }
    1520                 :     116285 :     c = lb;
    1521                 :     116285 :     B_GE_removed = 0; /* unset GE_removed, line 234 */
    1522                 :     116285 :     {   int c12 = c; /* do, line 235 */
    1523                 :     116285 :         {   int c13 = c; /* and, line 235 */
    1524                 :     116285 :             {   int ret = r_Lose_infix(); /* call Lose_infix, line 235 */
    1525         [ +  + ]:     116285 :                 if (ret == 0) goto lab10;
    1526         [ -  + ]:       4098 :                 if (ret < 0) return ret;
    1527                 :            :             }
    1528                 :       4098 :             c = c13;
    1529                 :       4098 :             {   int ret = r_measure(); /* call measure, line 235 */
    1530         [ -  + ]:       4098 :                 if (ret == 0) goto lab10;
    1531         [ -  + ]:       4098 :                 if (ret < 0) return ret;
    1532                 :            :             }
    1533                 :            :         }
    1534                 :            :     lab10:
    1535                 :     116285 :         c = c12;
    1536                 :            :     }
    1537                 :     116285 :     lb = c; c = l; /* backwards, line 236 */
    1538                 :            : 
    1539                 :     116285 :     {   int m14 = l - c; (void)m14; /* do, line 237 */
    1540         [ +  + ]:     116285 :         if (!(B_GE_removed)) goto lab11; /* Boolean test GE_removed, line 237 */
    1541                 :       4098 :         {   int ret = r_Step_1c(); /* call Step_1c, line 237 */
    1542         [ +  + ]:       4098 :             if (ret == 0) goto lab11;
    1543         [ -  + ]:        744 :             if (ret < 0) return ret;
    1544                 :            :         }
    1545                 :            :     lab11:
    1546                 :     116285 :         c = l - m14;
    1547                 :            :     }
    1548                 :     116285 :     c = lb;
    1549                 :     116285 :     lb = c; c = l; /* backwards, line 239 */
    1550                 :            : 
    1551                 :     116285 :     {   int m15 = l - c; (void)m15; /* do, line 240 */
    1552                 :     116285 :         {   int ret = r_Step_7(); /* call Step_7, line 240 */
    1553         [ +  + ]:     116285 :             if (ret == 0) goto lab12;
    1554         [ -  + ]:       1008 :             if (ret < 0) return ret;
    1555                 :            :         }
    1556                 :       1008 :         B_stemmed = 1; /* set stemmed, line 240 */
    1557                 :            :     lab12:
    1558                 :     116285 :         c = l - m15;
    1559                 :            :     }
    1560                 :     116285 :     {   int m16 = l - c; (void)m16; /* do, line 241 */
    1561                 :     116285 :         {   int m17 = l - c; (void)m17; /* or, line 241 */
    1562         [ +  + ]:     116285 :             if (!(B_stemmed)) goto lab15; /* Boolean test stemmed, line 241 */
    1563                 :      25481 :             goto lab14;
    1564                 :            :         lab15:
    1565                 :      90804 :             c = l - m17;
    1566         [ +  + ]:      90804 :             if (!(B_GE_removed)) goto lab13; /* Boolean test GE_removed, line 241 */
    1567                 :            :         }
    1568                 :            :     lab14:
    1569                 :      28317 :         {   int ret = r_Step_6(); /* call Step_6, line 241 */
    1570         [ +  + ]:      28317 :             if (ret == 0) goto lab13;
    1571         [ -  + ]:       3717 :             if (ret < 0) return ret;
    1572                 :            :         }
    1573                 :            :     lab13:
    1574                 :     116285 :         c = l - m16;
    1575                 :            :     }
    1576                 :     116285 :     c = lb;
    1577                 :     116285 :     {   int c18 = c; /* do, line 243 */
    1578         [ +  + ]:     116285 :         if (!(B_Y_found)) goto lab16; /* Boolean test Y_found, line 243 */
    1579                 :      14149 :         while(1) { /* repeat, line 243 */
    1580                 :      25902 :             int c19 = c;
    1581                 :     722520 :             while(1) { /* goto, line 243 */
    1582                 :     748422 :                 int c20 = c;
    1583                 :     748422 :                 bra = c; /* [, line 243 */
    1584 [ +  + ][ +  + ]:     748422 :                 if (c == l || p[c] != 'Y') goto lab18;
    1585                 :      14149 :                 c++;
    1586                 :      14149 :                 ket = c; /* ], line 243 */
    1587                 :      14149 :                 c = c20;
    1588                 :            :                 break;
    1589                 :            :             lab18:
    1590                 :     734273 :                 c = c20;
    1591                 :     734273 :                 {   int ret = skip_utf8(p, c, 0, l, 1);
    1592         [ +  + ]:     734273 :                     if (ret < 0) goto lab17;
    1593                 :     722520 :                     c = ret; /* goto, line 243 */
    1594                 :            :                 }
    1595                 :            :             }
    1596                 :      14149 :             {   int ret = slice_from_s(1, s_74); /* <-, line 243 */
    1597         [ -  + ]:      14149 :                 if (ret < 0) return ret;
    1598                 :            :             }
    1599                 :      14149 :             continue;
    1600                 :            :         lab17:
    1601                 :      11753 :             c = c19;
    1602                 :      11753 :             break;
    1603                 :            :         }
    1604                 :            :     lab16:
    1605                 :     116285 :         c = c18;
    1606                 :            :     }
    1607                 :     116285 :     return 1;
    1608                 :            : }
    1609                 :            : 
    1610                 :          2 : Xapian::InternalStemKraaij_pohlmann::InternalStemKraaij_pohlmann()
    1611                 :          2 :     : B_GE_removed(0), B_stemmed(0), B_Y_found(0), I_p2(0), I_p1(0), I_x(0), S_ch(0)
    1612                 :            : {
    1613                 :          2 :     S_ch = create_s();
    1614                 :          2 : }
    1615                 :            : 
    1616                 :          2 : Xapian::InternalStemKraaij_pohlmann::~InternalStemKraaij_pohlmann()
    1617                 :            : {
    1618                 :          2 :     lose_s(S_ch);
    1619 [ +  - ][ #  # ]:          2 : }
                 [ #  # ]
    1620                 :            : 
    1621                 :            : std::string
    1622                 :          1 : Xapian::InternalStemKraaij_pohlmann::get_description() const
    1623                 :            : {
    1624                 :          1 :     return "kraaij_pohlmann";
    1625                 :            : }

Generated by: LCOV version 1.8