LCOV - code coverage report
Current view: top level - languages - kraaij_pohlmann.cc (source / functions) Hit Total Coverage
Test: Test Coverage for xapian-core 7822d31adece Lines: 803 824 97.5 %
Date: 2019-05-23 11:15:29 Functions: 20 20 100.0 %
Branches: 541 722 74.9 %

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

Generated by: LCOV version 1.11