LCOV - code coverage report
Current view: top level - languages - arabic.cc (source / functions) Hit Total Coverage
Test: Test Coverage for xapian-core 7822d31adece Lines: 321 631 50.9 %
Date: 2019-05-23 11:15:29 Functions: 24 25 96.0 %
Branches: 202 610 33.1 %

           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 "arabic.h"
       7                 :            : 
       8                 :            : static const symbol s_pool[] = {
       9                 :            : #define s_0_0 0
      10                 :            : 0xD9, 0x80,
      11                 :            : #define s_0_1 2
      12                 :            : 0xD9, 0x8B,
      13                 :            : #define s_0_2 4
      14                 :            : 0xD9, 0x8C,
      15                 :            : #define s_0_3 6
      16                 :            : 0xD9, 0x8D,
      17                 :            : #define s_0_4 8
      18                 :            : 0xD9, 0x8E,
      19                 :            : #define s_0_5 10
      20                 :            : 0xD9, 0x8F,
      21                 :            : #define s_0_6 12
      22                 :            : 0xD9, 0x90,
      23                 :            : #define s_0_7 14
      24                 :            : 0xD9, 0x91,
      25                 :            : #define s_0_8 16
      26                 :            : 0xD9, 0x92,
      27                 :            : #define s_0_9 18
      28                 :            : 0xD9, 0xA0,
      29                 :            : #define s_0_10 20
      30                 :            : 0xD9, 0xA1,
      31                 :            : #define s_0_11 22
      32                 :            : 0xD9, 0xA2,
      33                 :            : #define s_0_12 24
      34                 :            : 0xD9, 0xA3,
      35                 :            : #define s_0_13 26
      36                 :            : 0xD9, 0xA4,
      37                 :            : #define s_0_14 28
      38                 :            : 0xD9, 0xA5,
      39                 :            : #define s_0_15 30
      40                 :            : 0xD9, 0xA6,
      41                 :            : #define s_0_16 32
      42                 :            : 0xD9, 0xA7,
      43                 :            : #define s_0_17 34
      44                 :            : 0xD9, 0xA8,
      45                 :            : #define s_0_18 36
      46                 :            : 0xD9, 0xA9,
      47                 :            : #define s_0_19 38
      48                 :            : 0xEF, 0xBA, 0x80,
      49                 :            : #define s_0_20 41
      50                 :            : 0xEF, 0xBA, 0x81,
      51                 :            : #define s_0_21 44
      52                 :            : 0xEF, 0xBA, 0x82,
      53                 :            : #define s_0_22 47
      54                 :            : 0xEF, 0xBA, 0x83,
      55                 :            : #define s_0_23 50
      56                 :            : 0xEF, 0xBA, 0x84,
      57                 :            : #define s_0_24 53
      58                 :            : 0xEF, 0xBA, 0x85,
      59                 :            : #define s_0_25 56
      60                 :            : 0xEF, 0xBA, 0x86,
      61                 :            : #define s_0_26 59
      62                 :            : 0xEF, 0xBA, 0x87,
      63                 :            : #define s_0_27 62
      64                 :            : 0xEF, 0xBA, 0x88,
      65                 :            : #define s_0_28 65
      66                 :            : 0xEF, 0xBA, 0x89,
      67                 :            : #define s_0_29 68
      68                 :            : 0xEF, 0xBA, 0x8A,
      69                 :            : #define s_0_30 71
      70                 :            : 0xEF, 0xBA, 0x8B,
      71                 :            : #define s_0_31 74
      72                 :            : 0xEF, 0xBA, 0x8C,
      73                 :            : #define s_0_32 77
      74                 :            : 0xEF, 0xBA, 0x8D,
      75                 :            : #define s_0_33 80
      76                 :            : 0xEF, 0xBA, 0x8E,
      77                 :            : #define s_0_34 83
      78                 :            : 0xEF, 0xBA, 0x8F,
      79                 :            : #define s_0_35 86
      80                 :            : 0xEF, 0xBA, 0x90,
      81                 :            : #define s_0_36 89
      82                 :            : 0xEF, 0xBA, 0x91,
      83                 :            : #define s_0_37 92
      84                 :            : 0xEF, 0xBA, 0x92,
      85                 :            : #define s_0_38 95
      86                 :            : 0xEF, 0xBA, 0x93,
      87                 :            : #define s_0_39 98
      88                 :            : 0xEF, 0xBA, 0x94,
      89                 :            : #define s_0_40 101
      90                 :            : 0xEF, 0xBA, 0x95,
      91                 :            : #define s_0_41 104
      92                 :            : 0xEF, 0xBA, 0x96,
      93                 :            : #define s_0_42 107
      94                 :            : 0xEF, 0xBA, 0x97,
      95                 :            : #define s_0_43 110
      96                 :            : 0xEF, 0xBA, 0x98,
      97                 :            : #define s_0_44 113
      98                 :            : 0xEF, 0xBA, 0x99,
      99                 :            : #define s_0_45 116
     100                 :            : 0xEF, 0xBA, 0x9A,
     101                 :            : #define s_0_46 119
     102                 :            : 0xEF, 0xBA, 0x9B,
     103                 :            : #define s_0_47 122
     104                 :            : 0xEF, 0xBA, 0x9C,
     105                 :            : #define s_0_48 125
     106                 :            : 0xEF, 0xBA, 0x9D,
     107                 :            : #define s_0_49 128
     108                 :            : 0xEF, 0xBA, 0x9E,
     109                 :            : #define s_0_50 131
     110                 :            : 0xEF, 0xBA, 0x9F,
     111                 :            : #define s_0_51 134
     112                 :            : 0xEF, 0xBA, 0xA0,
     113                 :            : #define s_0_52 137
     114                 :            : 0xEF, 0xBA, 0xA1,
     115                 :            : #define s_0_53 140
     116                 :            : 0xEF, 0xBA, 0xA2,
     117                 :            : #define s_0_54 143
     118                 :            : 0xEF, 0xBA, 0xA3,
     119                 :            : #define s_0_55 146
     120                 :            : 0xEF, 0xBA, 0xA4,
     121                 :            : #define s_0_56 149
     122                 :            : 0xEF, 0xBA, 0xA5,
     123                 :            : #define s_0_57 152
     124                 :            : 0xEF, 0xBA, 0xA6,
     125                 :            : #define s_0_58 155
     126                 :            : 0xEF, 0xBA, 0xA7,
     127                 :            : #define s_0_59 158
     128                 :            : 0xEF, 0xBA, 0xA8,
     129                 :            : #define s_0_60 161
     130                 :            : 0xEF, 0xBA, 0xA9,
     131                 :            : #define s_0_61 164
     132                 :            : 0xEF, 0xBA, 0xAA,
     133                 :            : #define s_0_62 167
     134                 :            : 0xEF, 0xBA, 0xAB,
     135                 :            : #define s_0_63 170
     136                 :            : 0xEF, 0xBA, 0xAC,
     137                 :            : #define s_0_64 173
     138                 :            : 0xEF, 0xBA, 0xAD,
     139                 :            : #define s_0_65 176
     140                 :            : 0xEF, 0xBA, 0xAE,
     141                 :            : #define s_0_66 179
     142                 :            : 0xEF, 0xBA, 0xAF,
     143                 :            : #define s_0_67 182
     144                 :            : 0xEF, 0xBA, 0xB0,
     145                 :            : #define s_0_68 185
     146                 :            : 0xEF, 0xBA, 0xB1,
     147                 :            : #define s_0_69 188
     148                 :            : 0xEF, 0xBA, 0xB2,
     149                 :            : #define s_0_70 191
     150                 :            : 0xEF, 0xBA, 0xB3,
     151                 :            : #define s_0_71 194
     152                 :            : 0xEF, 0xBA, 0xB4,
     153                 :            : #define s_0_72 197
     154                 :            : 0xEF, 0xBA, 0xB5,
     155                 :            : #define s_0_73 200
     156                 :            : 0xEF, 0xBA, 0xB6,
     157                 :            : #define s_0_74 203
     158                 :            : 0xEF, 0xBA, 0xB7,
     159                 :            : #define s_0_75 206
     160                 :            : 0xEF, 0xBA, 0xB8,
     161                 :            : #define s_0_76 209
     162                 :            : 0xEF, 0xBA, 0xB9,
     163                 :            : #define s_0_77 212
     164                 :            : 0xEF, 0xBA, 0xBA,
     165                 :            : #define s_0_78 215
     166                 :            : 0xEF, 0xBA, 0xBB,
     167                 :            : #define s_0_79 218
     168                 :            : 0xEF, 0xBA, 0xBC,
     169                 :            : #define s_0_80 221
     170                 :            : 0xEF, 0xBA, 0xBD,
     171                 :            : #define s_0_81 224
     172                 :            : 0xEF, 0xBA, 0xBE,
     173                 :            : #define s_0_82 227
     174                 :            : 0xEF, 0xBA, 0xBF,
     175                 :            : #define s_0_83 230
     176                 :            : 0xEF, 0xBB, 0x80,
     177                 :            : #define s_0_84 233
     178                 :            : 0xEF, 0xBB, 0x81,
     179                 :            : #define s_0_85 236
     180                 :            : 0xEF, 0xBB, 0x82,
     181                 :            : #define s_0_86 239
     182                 :            : 0xEF, 0xBB, 0x83,
     183                 :            : #define s_0_87 242
     184                 :            : 0xEF, 0xBB, 0x84,
     185                 :            : #define s_0_88 245
     186                 :            : 0xEF, 0xBB, 0x85,
     187                 :            : #define s_0_89 248
     188                 :            : 0xEF, 0xBB, 0x86,
     189                 :            : #define s_0_90 251
     190                 :            : 0xEF, 0xBB, 0x87,
     191                 :            : #define s_0_91 254
     192                 :            : 0xEF, 0xBB, 0x88,
     193                 :            : #define s_0_92 257
     194                 :            : 0xEF, 0xBB, 0x89,
     195                 :            : #define s_0_93 260
     196                 :            : 0xEF, 0xBB, 0x8A,
     197                 :            : #define s_0_94 263
     198                 :            : 0xEF, 0xBB, 0x8B,
     199                 :            : #define s_0_95 266
     200                 :            : 0xEF, 0xBB, 0x8C,
     201                 :            : #define s_0_96 269
     202                 :            : 0xEF, 0xBB, 0x8D,
     203                 :            : #define s_0_97 272
     204                 :            : 0xEF, 0xBB, 0x8E,
     205                 :            : #define s_0_98 275
     206                 :            : 0xEF, 0xBB, 0x8F,
     207                 :            : #define s_0_99 278
     208                 :            : 0xEF, 0xBB, 0x90,
     209                 :            : #define s_0_100 281
     210                 :            : 0xEF, 0xBB, 0x91,
     211                 :            : #define s_0_101 284
     212                 :            : 0xEF, 0xBB, 0x92,
     213                 :            : #define s_0_102 287
     214                 :            : 0xEF, 0xBB, 0x93,
     215                 :            : #define s_0_103 290
     216                 :            : 0xEF, 0xBB, 0x94,
     217                 :            : #define s_0_104 293
     218                 :            : 0xEF, 0xBB, 0x95,
     219                 :            : #define s_0_105 296
     220                 :            : 0xEF, 0xBB, 0x96,
     221                 :            : #define s_0_106 299
     222                 :            : 0xEF, 0xBB, 0x97,
     223                 :            : #define s_0_107 302
     224                 :            : 0xEF, 0xBB, 0x98,
     225                 :            : #define s_0_108 305
     226                 :            : 0xEF, 0xBB, 0x99,
     227                 :            : #define s_0_109 308
     228                 :            : 0xEF, 0xBB, 0x9A,
     229                 :            : #define s_0_110 311
     230                 :            : 0xEF, 0xBB, 0x9B,
     231                 :            : #define s_0_111 314
     232                 :            : 0xEF, 0xBB, 0x9C,
     233                 :            : #define s_0_112 317
     234                 :            : 0xEF, 0xBB, 0x9D,
     235                 :            : #define s_0_113 320
     236                 :            : 0xEF, 0xBB, 0x9E,
     237                 :            : #define s_0_114 323
     238                 :            : 0xEF, 0xBB, 0x9F,
     239                 :            : #define s_0_115 326
     240                 :            : 0xEF, 0xBB, 0xA0,
     241                 :            : #define s_0_116 329
     242                 :            : 0xEF, 0xBB, 0xA1,
     243                 :            : #define s_0_117 332
     244                 :            : 0xEF, 0xBB, 0xA2,
     245                 :            : #define s_0_118 335
     246                 :            : 0xEF, 0xBB, 0xA3,
     247                 :            : #define s_0_119 338
     248                 :            : 0xEF, 0xBB, 0xA4,
     249                 :            : #define s_0_120 341
     250                 :            : 0xEF, 0xBB, 0xA5,
     251                 :            : #define s_0_121 344
     252                 :            : 0xEF, 0xBB, 0xA6,
     253                 :            : #define s_0_122 347
     254                 :            : 0xEF, 0xBB, 0xA7,
     255                 :            : #define s_0_123 350
     256                 :            : 0xEF, 0xBB, 0xA8,
     257                 :            : #define s_0_124 353
     258                 :            : 0xEF, 0xBB, 0xA9,
     259                 :            : #define s_0_125 356
     260                 :            : 0xEF, 0xBB, 0xAA,
     261                 :            : #define s_0_126 359
     262                 :            : 0xEF, 0xBB, 0xAB,
     263                 :            : #define s_0_127 362
     264                 :            : 0xEF, 0xBB, 0xAC,
     265                 :            : #define s_0_128 365
     266                 :            : 0xEF, 0xBB, 0xAD,
     267                 :            : #define s_0_129 368
     268                 :            : 0xEF, 0xBB, 0xAE,
     269                 :            : #define s_0_130 371
     270                 :            : 0xEF, 0xBB, 0xAF,
     271                 :            : #define s_0_131 374
     272                 :            : 0xEF, 0xBB, 0xB0,
     273                 :            : #define s_0_132 377
     274                 :            : 0xEF, 0xBB, 0xB1,
     275                 :            : #define s_0_133 380
     276                 :            : 0xEF, 0xBB, 0xB2,
     277                 :            : #define s_0_134 383
     278                 :            : 0xEF, 0xBB, 0xB3,
     279                 :            : #define s_0_135 386
     280                 :            : 0xEF, 0xBB, 0xB4,
     281                 :            : #define s_0_136 389
     282                 :            : 0xEF, 0xBB, 0xB5,
     283                 :            : #define s_0_137 392
     284                 :            : 0xEF, 0xBB, 0xB6,
     285                 :            : #define s_0_138 395
     286                 :            : 0xEF, 0xBB, 0xB7,
     287                 :            : #define s_0_139 398
     288                 :            : 0xEF, 0xBB, 0xB8,
     289                 :            : #define s_0_140 401
     290                 :            : 0xEF, 0xBB, 0xB9,
     291                 :            : #define s_0_141 404
     292                 :            : 0xEF, 0xBB, 0xBA,
     293                 :            : #define s_0_142 407
     294                 :            : 0xEF, 0xBB, 0xBB,
     295                 :            : #define s_0_143 410
     296                 :            : 0xEF, 0xBB, 0xBC,
     297                 :            : #define s_1_0 413
     298                 :            : 0xD8, 0xA2,
     299                 :            : #define s_1_1 415
     300                 :            : 0xD8, 0xA3,
     301                 :            : #define s_1_2 417
     302                 :            : 0xD8, 0xA4,
     303                 :            : #define s_1_3 419
     304                 :            : 0xD8, 0xA5,
     305                 :            : #define s_1_4 421
     306                 :            : 0xD8, 0xA6,
     307                 :            : #define s_2_0 423
     308                 :            : 0xD8, 0xA2,
     309                 :            : #define s_2_1 425
     310                 :            : 0xD8, 0xA3,
     311                 :            : #define s_2_2 427
     312                 :            : 0xD8, 0xA4,
     313                 :            : #define s_2_3 429
     314                 :            : 0xD8, 0xA5,
     315                 :            : #define s_2_4 431
     316                 :            : 0xD8, 0xA6,
     317                 :            : #define s_3_0 (s_3_1 + 2)
     318                 :            : #define s_3_1 433
     319                 :            : 0xD8, 0xA8, 0xD8, 0xA7, 0xD9, 0x84,
     320                 :            : #define s_3_2 439
     321                 :            : 0xD9, 0x83, 0xD8, 0xA7, 0xD9, 0x84,
     322                 :            : #define s_3_3 445
     323                 :            : 0xD9, 0x84, 0xD9, 0x84,
     324                 :            : #define s_4_0 449
     325                 :            : 0xD8, 0xA3, 0xD8, 0xA2,
     326                 :            : #define s_4_1 453
     327                 :            : 0xD8, 0xA3, 0xD8, 0xA3,
     328                 :            : #define s_4_2 457
     329                 :            : 0xD8, 0xA3, 0xD8, 0xA4,
     330                 :            : #define s_4_3 461
     331                 :            : 0xD8, 0xA3, 0xD8, 0xA5,
     332                 :            : #define s_4_4 465
     333                 :            : 0xD8, 0xA3, 0xD8, 0xA7,
     334                 :            : #define s_5_0 469
     335                 :            : 0xD9, 0x81,
     336                 :            : #define s_5_1 471
     337                 :            : 0xD9, 0x88,
     338                 :            : #define s_6_0 (s_6_1 + 2)
     339                 :            : #define s_6_1 473
     340                 :            : 0xD8, 0xA8, 0xD8, 0xA7, 0xD9, 0x84,
     341                 :            : #define s_6_2 479
     342                 :            : 0xD9, 0x83, 0xD8, 0xA7, 0xD9, 0x84,
     343                 :            : #define s_6_3 485
     344                 :            : 0xD9, 0x84, 0xD9, 0x84,
     345                 :            : #define s_7_0 (s_7_1 + 2)
     346                 :            : #define s_7_1 489
     347                 :            : 0xD8, 0xA8, 0xD8, 0xA8,
     348                 :            : #define s_7_2 493
     349                 :            : 0xD9, 0x83, 0xD9, 0x83,
     350                 :            : #define s_8_0 497
     351                 :            : 0xD8, 0xB3, 0xD8, 0xA3,
     352                 :            : #define s_8_1 501
     353                 :            : 0xD8, 0xB3, 0xD8, 0xAA,
     354                 :            : #define s_8_2 505
     355                 :            : 0xD8, 0xB3, 0xD9, 0x86,
     356                 :            : #define s_8_3 509
     357                 :            : 0xD8, 0xB3, 0xD9, 0x8A,
     358                 :            : #define s_9_0 513
     359                 :            : 0xD8, 0xAA, 0xD8, 0xB3, 0xD8, 0xAA,
     360                 :            : #define s_9_1 519
     361                 :            : 0xD9, 0x86, 0xD8, 0xB3, 0xD8, 0xAA,
     362                 :            : #define s_9_2 525
     363                 :            : 0xD9, 0x8A, 0xD8, 0xB3, 0xD8, 0xAA,
     364                 :            : #define s_10_0 s_10_1
     365                 :            : #define s_10_1 s_10_6
     366                 :            : #define s_10_2 s_10_7
     367                 :            : #define s_10_3 531
     368                 :            : 0xD9, 0x87, 0xD9, 0x86,
     369                 :            : #define s_10_4 s_10_2
     370                 :            : #define s_10_5 535
     371                 :            : 0xD9, 0x8A,
     372                 :            : #define s_10_6 537
     373                 :            : 0xD9, 0x83, 0xD9, 0x85, 0xD8, 0xA7,
     374                 :            : #define s_10_7 543
     375                 :            : 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xA7,
     376                 :            : #define s_10_8 549
     377                 :            : 0xD9, 0x86, 0xD8, 0xA7,
     378                 :            : #define s_10_9 553
     379                 :            : 0xD9, 0x87, 0xD8, 0xA7,
     380                 :            : #define s_11_0 557
     381                 :            : 0xD9, 0x86,
     382                 :            : #define s_12_0 559
     383                 :            : 0xD9, 0x88,
     384                 :            : #define s_12_1 561
     385                 :            : 0xD9, 0x8A,
     386                 :            : #define s_12_2 563
     387                 :            : 0xD8, 0xA7,
     388                 :            : #define s_13_0 565
     389                 :            : 0xD8, 0xA7, 0xD8, 0xAA,
     390                 :            : #define s_14_0 569
     391                 :            : 0xD8, 0xAA,
     392                 :            : #define s_15_0 571
     393                 :            : 0xD8, 0xA9,
     394                 :            : #define s_16_0 573
     395                 :            : 0xD9, 0x8A,
     396                 :            : #define s_17_0 s_17_1
     397                 :            : #define s_17_1 s_17_6
     398                 :            : #define s_17_2 s_17_9
     399                 :            : #define s_17_3 575
     400                 :            : 0xD9, 0x83, 0xD9, 0x86,
     401                 :            : #define s_17_4 579
     402                 :            : 0xD9, 0x87, 0xD9, 0x86,
     403                 :            : #define s_17_5 s_17_2
     404                 :            : #define s_17_6 583
     405                 :            : 0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x88,
     406                 :            : #define s_17_7 589
     407                 :            : 0xD9, 0x86, 0xD9, 0x8A,
     408                 :            : #define s_17_8 593
     409                 :            : 0xD9, 0x83, 0xD9, 0x85, 0xD8, 0xA7,
     410                 :            : #define s_17_9 599
     411                 :            : 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xA7,
     412                 :            : #define s_17_10 605
     413                 :            : 0xD9, 0x86, 0xD8, 0xA7,
     414                 :            : #define s_17_11 609
     415                 :            : 0xD9, 0x87, 0xD8, 0xA7,
     416                 :            : #define s_18_0 (s_18_1 + 2)
     417                 :            : #define s_18_1 613
     418                 :            : 0xD9, 0x88, 0xD9, 0x86,
     419                 :            : #define s_18_2 617
     420                 :            : 0xD9, 0x8A, 0xD9, 0x86,
     421                 :            : #define s_18_3 621
     422                 :            : 0xD8, 0xA7, 0xD9, 0x86,
     423                 :            : #define s_18_4 625
     424                 :            : 0xD8, 0xAA, 0xD9, 0x86,
     425                 :            : #define s_18_5 s_18_2
     426                 :            : #define s_18_6 s_18_3
     427                 :            : #define s_18_7 629
     428                 :            : 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xA7,
     429                 :            : #define s_18_8 635
     430                 :            : 0xD9, 0x86, 0xD8, 0xA7,
     431                 :            : #define s_18_9 639
     432                 :            : 0xD8, 0xAA, 0xD8, 0xA7,
     433                 :            : #define s_18_10 s_18_4
     434                 :            : #define s_19_0 643
     435                 :            : 0xD8, 0xAA, 0xD9, 0x85,
     436                 :            : #define s_19_1 647
     437                 :            : 0xD9, 0x88, 0xD8, 0xA7,
     438                 :            : #define s_20_0 (s_20_1 + 4)
     439                 :            : #define s_20_1 651
     440                 :            : 0xD8, 0xAA, 0xD9, 0x85, 0xD9, 0x88,
     441                 :            : #define s_21_0 657
     442                 :            : 0xD9, 0x89,
     443                 :            : };
     444                 :            : 
     445                 :            : 
     446                 :            : static const struct among a_0[144] =
     447                 :            : {
     448                 :            : /*  0 */ { 2, s_0_0, -1, 1},
     449                 :            : /*  1 */ { 2, s_0_1, -1, 1},
     450                 :            : /*  2 */ { 2, s_0_2, -1, 1},
     451                 :            : /*  3 */ { 2, s_0_3, -1, 1},
     452                 :            : /*  4 */ { 2, s_0_4, -1, 1},
     453                 :            : /*  5 */ { 2, s_0_5, -1, 1},
     454                 :            : /*  6 */ { 2, s_0_6, -1, 1},
     455                 :            : /*  7 */ { 2, s_0_7, -1, 1},
     456                 :            : /*  8 */ { 2, s_0_8, -1, 1},
     457                 :            : /*  9 */ { 2, s_0_9, -1, 2},
     458                 :            : /* 10 */ { 2, s_0_10, -1, 3},
     459                 :            : /* 11 */ { 2, s_0_11, -1, 4},
     460                 :            : /* 12 */ { 2, s_0_12, -1, 5},
     461                 :            : /* 13 */ { 2, s_0_13, -1, 6},
     462                 :            : /* 14 */ { 2, s_0_14, -1, 7},
     463                 :            : /* 15 */ { 2, s_0_15, -1, 8},
     464                 :            : /* 16 */ { 2, s_0_16, -1, 9},
     465                 :            : /* 17 */ { 2, s_0_17, -1, 10},
     466                 :            : /* 18 */ { 2, s_0_18, -1, 11},
     467                 :            : /* 19 */ { 3, s_0_19, -1, 12},
     468                 :            : /* 20 */ { 3, s_0_20, -1, 16},
     469                 :            : /* 21 */ { 3, s_0_21, -1, 16},
     470                 :            : /* 22 */ { 3, s_0_22, -1, 13},
     471                 :            : /* 23 */ { 3, s_0_23, -1, 13},
     472                 :            : /* 24 */ { 3, s_0_24, -1, 17},
     473                 :            : /* 25 */ { 3, s_0_25, -1, 17},
     474                 :            : /* 26 */ { 3, s_0_26, -1, 14},
     475                 :            : /* 27 */ { 3, s_0_27, -1, 14},
     476                 :            : /* 28 */ { 3, s_0_28, -1, 15},
     477                 :            : /* 29 */ { 3, s_0_29, -1, 15},
     478                 :            : /* 30 */ { 3, s_0_30, -1, 15},
     479                 :            : /* 31 */ { 3, s_0_31, -1, 15},
     480                 :            : /* 32 */ { 3, s_0_32, -1, 18},
     481                 :            : /* 33 */ { 3, s_0_33, -1, 18},
     482                 :            : /* 34 */ { 3, s_0_34, -1, 19},
     483                 :            : /* 35 */ { 3, s_0_35, -1, 19},
     484                 :            : /* 36 */ { 3, s_0_36, -1, 19},
     485                 :            : /* 37 */ { 3, s_0_37, -1, 19},
     486                 :            : /* 38 */ { 3, s_0_38, -1, 20},
     487                 :            : /* 39 */ { 3, s_0_39, -1, 20},
     488                 :            : /* 40 */ { 3, s_0_40, -1, 21},
     489                 :            : /* 41 */ { 3, s_0_41, -1, 21},
     490                 :            : /* 42 */ { 3, s_0_42, -1, 21},
     491                 :            : /* 43 */ { 3, s_0_43, -1, 21},
     492                 :            : /* 44 */ { 3, s_0_44, -1, 22},
     493                 :            : /* 45 */ { 3, s_0_45, -1, 22},
     494                 :            : /* 46 */ { 3, s_0_46, -1, 22},
     495                 :            : /* 47 */ { 3, s_0_47, -1, 22},
     496                 :            : /* 48 */ { 3, s_0_48, -1, 23},
     497                 :            : /* 49 */ { 3, s_0_49, -1, 23},
     498                 :            : /* 50 */ { 3, s_0_50, -1, 23},
     499                 :            : /* 51 */ { 3, s_0_51, -1, 23},
     500                 :            : /* 52 */ { 3, s_0_52, -1, 24},
     501                 :            : /* 53 */ { 3, s_0_53, -1, 24},
     502                 :            : /* 54 */ { 3, s_0_54, -1, 24},
     503                 :            : /* 55 */ { 3, s_0_55, -1, 24},
     504                 :            : /* 56 */ { 3, s_0_56, -1, 25},
     505                 :            : /* 57 */ { 3, s_0_57, -1, 25},
     506                 :            : /* 58 */ { 3, s_0_58, -1, 25},
     507                 :            : /* 59 */ { 3, s_0_59, -1, 25},
     508                 :            : /* 60 */ { 3, s_0_60, -1, 26},
     509                 :            : /* 61 */ { 3, s_0_61, -1, 26},
     510                 :            : /* 62 */ { 3, s_0_62, -1, 27},
     511                 :            : /* 63 */ { 3, s_0_63, -1, 27},
     512                 :            : /* 64 */ { 3, s_0_64, -1, 28},
     513                 :            : /* 65 */ { 3, s_0_65, -1, 28},
     514                 :            : /* 66 */ { 3, s_0_66, -1, 29},
     515                 :            : /* 67 */ { 3, s_0_67, -1, 29},
     516                 :            : /* 68 */ { 3, s_0_68, -1, 30},
     517                 :            : /* 69 */ { 3, s_0_69, -1, 30},
     518                 :            : /* 70 */ { 3, s_0_70, -1, 30},
     519                 :            : /* 71 */ { 3, s_0_71, -1, 30},
     520                 :            : /* 72 */ { 3, s_0_72, -1, 31},
     521                 :            : /* 73 */ { 3, s_0_73, -1, 31},
     522                 :            : /* 74 */ { 3, s_0_74, -1, 31},
     523                 :            : /* 75 */ { 3, s_0_75, -1, 31},
     524                 :            : /* 76 */ { 3, s_0_76, -1, 32},
     525                 :            : /* 77 */ { 3, s_0_77, -1, 32},
     526                 :            : /* 78 */ { 3, s_0_78, -1, 32},
     527                 :            : /* 79 */ { 3, s_0_79, -1, 32},
     528                 :            : /* 80 */ { 3, s_0_80, -1, 33},
     529                 :            : /* 81 */ { 3, s_0_81, -1, 33},
     530                 :            : /* 82 */ { 3, s_0_82, -1, 33},
     531                 :            : /* 83 */ { 3, s_0_83, -1, 33},
     532                 :            : /* 84 */ { 3, s_0_84, -1, 34},
     533                 :            : /* 85 */ { 3, s_0_85, -1, 34},
     534                 :            : /* 86 */ { 3, s_0_86, -1, 34},
     535                 :            : /* 87 */ { 3, s_0_87, -1, 34},
     536                 :            : /* 88 */ { 3, s_0_88, -1, 35},
     537                 :            : /* 89 */ { 3, s_0_89, -1, 35},
     538                 :            : /* 90 */ { 3, s_0_90, -1, 35},
     539                 :            : /* 91 */ { 3, s_0_91, -1, 35},
     540                 :            : /* 92 */ { 3, s_0_92, -1, 36},
     541                 :            : /* 93 */ { 3, s_0_93, -1, 36},
     542                 :            : /* 94 */ { 3, s_0_94, -1, 36},
     543                 :            : /* 95 */ { 3, s_0_95, -1, 36},
     544                 :            : /* 96 */ { 3, s_0_96, -1, 37},
     545                 :            : /* 97 */ { 3, s_0_97, -1, 37},
     546                 :            : /* 98 */ { 3, s_0_98, -1, 37},
     547                 :            : /* 99 */ { 3, s_0_99, -1, 37},
     548                 :            : /*100 */ { 3, s_0_100, -1, 38},
     549                 :            : /*101 */ { 3, s_0_101, -1, 38},
     550                 :            : /*102 */ { 3, s_0_102, -1, 38},
     551                 :            : /*103 */ { 3, s_0_103, -1, 38},
     552                 :            : /*104 */ { 3, s_0_104, -1, 39},
     553                 :            : /*105 */ { 3, s_0_105, -1, 39},
     554                 :            : /*106 */ { 3, s_0_106, -1, 39},
     555                 :            : /*107 */ { 3, s_0_107, -1, 39},
     556                 :            : /*108 */ { 3, s_0_108, -1, 40},
     557                 :            : /*109 */ { 3, s_0_109, -1, 40},
     558                 :            : /*110 */ { 3, s_0_110, -1, 40},
     559                 :            : /*111 */ { 3, s_0_111, -1, 40},
     560                 :            : /*112 */ { 3, s_0_112, -1, 41},
     561                 :            : /*113 */ { 3, s_0_113, -1, 41},
     562                 :            : /*114 */ { 3, s_0_114, -1, 41},
     563                 :            : /*115 */ { 3, s_0_115, -1, 41},
     564                 :            : /*116 */ { 3, s_0_116, -1, 42},
     565                 :            : /*117 */ { 3, s_0_117, -1, 42},
     566                 :            : /*118 */ { 3, s_0_118, -1, 42},
     567                 :            : /*119 */ { 3, s_0_119, -1, 42},
     568                 :            : /*120 */ { 3, s_0_120, -1, 43},
     569                 :            : /*121 */ { 3, s_0_121, -1, 43},
     570                 :            : /*122 */ { 3, s_0_122, -1, 43},
     571                 :            : /*123 */ { 3, s_0_123, -1, 43},
     572                 :            : /*124 */ { 3, s_0_124, -1, 44},
     573                 :            : /*125 */ { 3, s_0_125, -1, 44},
     574                 :            : /*126 */ { 3, s_0_126, -1, 44},
     575                 :            : /*127 */ { 3, s_0_127, -1, 44},
     576                 :            : /*128 */ { 3, s_0_128, -1, 45},
     577                 :            : /*129 */ { 3, s_0_129, -1, 45},
     578                 :            : /*130 */ { 3, s_0_130, -1, 46},
     579                 :            : /*131 */ { 3, s_0_131, -1, 46},
     580                 :            : /*132 */ { 3, s_0_132, -1, 47},
     581                 :            : /*133 */ { 3, s_0_133, -1, 47},
     582                 :            : /*134 */ { 3, s_0_134, -1, 47},
     583                 :            : /*135 */ { 3, s_0_135, -1, 47},
     584                 :            : /*136 */ { 3, s_0_136, -1, 51},
     585                 :            : /*137 */ { 3, s_0_137, -1, 51},
     586                 :            : /*138 */ { 3, s_0_138, -1, 49},
     587                 :            : /*139 */ { 3, s_0_139, -1, 49},
     588                 :            : /*140 */ { 3, s_0_140, -1, 50},
     589                 :            : /*141 */ { 3, s_0_141, -1, 50},
     590                 :            : /*142 */ { 3, s_0_142, -1, 48},
     591                 :            : /*143 */ { 3, s_0_143, -1, 48}
     592                 :            : };
     593                 :            : 
     594                 :            : 
     595                 :            : static const struct among a_1[5] =
     596                 :            : {
     597                 :            : /*  0 */ { 2, s_1_0, -1, 1},
     598                 :            : /*  1 */ { 2, s_1_1, -1, 1},
     599                 :            : /*  2 */ { 2, s_1_2, -1, 1},
     600                 :            : /*  3 */ { 2, s_1_3, -1, 1},
     601                 :            : /*  4 */ { 2, s_1_4, -1, 1}
     602                 :            : };
     603                 :            : 
     604                 :            : 
     605                 :            : static const struct among a_2[5] =
     606                 :            : {
     607                 :            : /*  0 */ { 2, s_2_0, -1, 1},
     608                 :            : /*  1 */ { 2, s_2_1, -1, 1},
     609                 :            : /*  2 */ { 2, s_2_2, -1, 2},
     610                 :            : /*  3 */ { 2, s_2_3, -1, 1},
     611                 :            : /*  4 */ { 2, s_2_4, -1, 3}
     612                 :            : };
     613                 :            : 
     614                 :            : 
     615                 :            : static const struct among a_3[4] =
     616                 :            : {
     617                 :            : /*  0 */ { 4, s_3_0, -1, 2},
     618                 :            : /*  1 */ { 6, s_3_1, -1, 1},
     619                 :            : /*  2 */ { 6, s_3_2, -1, 1},
     620                 :            : /*  3 */ { 4, s_3_3, -1, 2}
     621                 :            : };
     622                 :            : 
     623                 :            : 
     624                 :            : static const struct among a_4[5] =
     625                 :            : {
     626                 :            : /*  0 */ { 4, s_4_0, -1, 2},
     627                 :            : /*  1 */ { 4, s_4_1, -1, 1},
     628                 :            : /*  2 */ { 4, s_4_2, -1, 1},
     629                 :            : /*  3 */ { 4, s_4_3, -1, 4},
     630                 :            : /*  4 */ { 4, s_4_4, -1, 3}
     631                 :            : };
     632                 :            : 
     633                 :            : 
     634                 :            : static const struct among a_5[2] =
     635                 :            : {
     636                 :            : /*  0 */ { 2, s_5_0, -1, 1},
     637                 :            : /*  1 */ { 2, s_5_1, -1, 1}
     638                 :            : };
     639                 :            : 
     640                 :            : 
     641                 :            : static const struct among a_6[4] =
     642                 :            : {
     643                 :            : /*  0 */ { 4, s_6_0, -1, 2},
     644                 :            : /*  1 */ { 6, s_6_1, -1, 1},
     645                 :            : /*  2 */ { 6, s_6_2, -1, 1},
     646                 :            : /*  3 */ { 4, s_6_3, -1, 2}
     647                 :            : };
     648                 :            : 
     649                 :            : 
     650                 :            : static const struct among a_7[3] =
     651                 :            : {
     652                 :            : /*  0 */ { 2, s_7_0, -1, 1},
     653                 :            : /*  1 */ { 4, s_7_1, 0, 2},
     654                 :            : /*  2 */ { 4, s_7_2, -1, 3}
     655                 :            : };
     656                 :            : 
     657                 :            : 
     658                 :            : static const struct among a_8[4] =
     659                 :            : {
     660                 :            : /*  0 */ { 4, s_8_0, -1, 4},
     661                 :            : /*  1 */ { 4, s_8_1, -1, 2},
     662                 :            : /*  2 */ { 4, s_8_2, -1, 3},
     663                 :            : /*  3 */ { 4, s_8_3, -1, 1}
     664                 :            : };
     665                 :            : 
     666                 :            : 
     667                 :            : static const struct among a_9[3] =
     668                 :            : {
     669                 :            : /*  0 */ { 6, s_9_0, -1, 1},
     670                 :            : /*  1 */ { 6, s_9_1, -1, 1},
     671                 :            : /*  2 */ { 6, s_9_2, -1, 1}
     672                 :            : };
     673                 :            : 
     674                 :            : 
     675                 :            : static const struct among a_10[10] =
     676                 :            : {
     677                 :            : /*  0 */ { 2, s_10_0, -1, 1},
     678                 :            : /*  1 */ { 4, s_10_1, -1, 2},
     679                 :            : /*  2 */ { 4, s_10_2, -1, 2},
     680                 :            : /*  3 */ { 4, s_10_3, -1, 2},
     681                 :            : /*  4 */ { 2, s_10_4, -1, 1},
     682                 :            : /*  5 */ { 2, s_10_5, -1, 1},
     683                 :            : /*  6 */ { 6, s_10_6, -1, 3},
     684                 :            : /*  7 */ { 6, s_10_7, -1, 3},
     685                 :            : /*  8 */ { 4, s_10_8, -1, 2},
     686                 :            : /*  9 */ { 4, s_10_9, -1, 2}
     687                 :            : };
     688                 :            : 
     689                 :            : 
     690                 :            : static const struct among a_11[1] =
     691                 :            : {
     692                 :            : /*  0 */ { 2, s_11_0, -1, 1}
     693                 :            : };
     694                 :            : 
     695                 :            : 
     696                 :            : static const struct among a_12[3] =
     697                 :            : {
     698                 :            : /*  0 */ { 2, s_12_0, -1, 1},
     699                 :            : /*  1 */ { 2, s_12_1, -1, 1},
     700                 :            : /*  2 */ { 2, s_12_2, -1, 1}
     701                 :            : };
     702                 :            : 
     703                 :            : 
     704                 :            : static const struct among a_13[1] =
     705                 :            : {
     706                 :            : /*  0 */ { 4, s_13_0, -1, 1}
     707                 :            : };
     708                 :            : 
     709                 :            : 
     710                 :            : static const struct among a_14[1] =
     711                 :            : {
     712                 :            : /*  0 */ { 2, s_14_0, -1, 1}
     713                 :            : };
     714                 :            : 
     715                 :            : 
     716                 :            : static const struct among a_15[1] =
     717                 :            : {
     718                 :            : /*  0 */ { 2, s_15_0, -1, 1}
     719                 :            : };
     720                 :            : 
     721                 :            : 
     722                 :            : static const struct among a_16[1] =
     723                 :            : {
     724                 :            : /*  0 */ { 2, s_16_0, -1, 1}
     725                 :            : };
     726                 :            : 
     727                 :            : 
     728                 :            : static const struct among a_17[12] =
     729                 :            : {
     730                 :            : /*  0 */ { 2, s_17_0, -1, 1},
     731                 :            : /*  1 */ { 4, s_17_1, -1, 2},
     732                 :            : /*  2 */ { 4, s_17_2, -1, 2},
     733                 :            : /*  3 */ { 4, s_17_3, -1, 2},
     734                 :            : /*  4 */ { 4, s_17_4, -1, 2},
     735                 :            : /*  5 */ { 2, s_17_5, -1, 1},
     736                 :            : /*  6 */ { 6, s_17_6, -1, 3},
     737                 :            : /*  7 */ { 4, s_17_7, -1, 2},
     738                 :            : /*  8 */ { 6, s_17_8, -1, 3},
     739                 :            : /*  9 */ { 6, s_17_9, -1, 3},
     740                 :            : /* 10 */ { 4, s_17_10, -1, 2},
     741                 :            : /* 11 */ { 4, s_17_11, -1, 2}
     742                 :            : };
     743                 :            : 
     744                 :            : 
     745                 :            : static const struct among a_18[11] =
     746                 :            : {
     747                 :            : /*  0 */ { 2, s_18_0, -1, 1},
     748                 :            : /*  1 */ { 4, s_18_1, 0, 3},
     749                 :            : /*  2 */ { 4, s_18_2, 0, 3},
     750                 :            : /*  3 */ { 4, s_18_3, 0, 3},
     751                 :            : /*  4 */ { 4, s_18_4, 0, 2},
     752                 :            : /*  5 */ { 2, s_18_5, -1, 1},
     753                 :            : /*  6 */ { 2, s_18_6, -1, 1},
     754                 :            : /*  7 */ { 6, s_18_7, 6, 4},
     755                 :            : /*  8 */ { 4, s_18_8, 6, 2},
     756                 :            : /*  9 */ { 4, s_18_9, 6, 2},
     757                 :            : /* 10 */ { 2, s_18_10, -1, 1}
     758                 :            : };
     759                 :            : 
     760                 :            : 
     761                 :            : static const struct among a_19[2] =
     762                 :            : {
     763                 :            : /*  0 */ { 4, s_19_0, -1, 1},
     764                 :            : /*  1 */ { 4, s_19_1, -1, 1}
     765                 :            : };
     766                 :            : 
     767                 :            : 
     768                 :            : static const struct among a_20[2] =
     769                 :            : {
     770                 :            : /*  0 */ { 2, s_20_0, -1, 1},
     771                 :            : /*  1 */ { 6, s_20_1, 0, 2}
     772                 :            : };
     773                 :            : 
     774                 :            : 
     775                 :            : static const struct among a_21[1] =
     776                 :            : {
     777                 :            : /*  0 */ { 2, s_21_0, -1, 1}
     778                 :            : };
     779                 :            : 
     780                 :            : static const symbol s_0[] = { '0' };
     781                 :            : static const symbol s_1[] = { '1' };
     782                 :            : static const symbol s_2[] = { '2' };
     783                 :            : static const symbol s_3[] = { '3' };
     784                 :            : static const symbol s_4[] = { '4' };
     785                 :            : static const symbol s_5[] = { '5' };
     786                 :            : static const symbol s_6[] = { '6' };
     787                 :            : static const symbol s_7[] = { '7' };
     788                 :            : static const symbol s_8[] = { '8' };
     789                 :            : static const symbol s_9[] = { '9' };
     790                 :            : static const symbol s_10[] = { 0xD8, 0xA1 };
     791                 :            : static const symbol s_11[] = { 0xD8, 0xA3 };
     792                 :            : static const symbol s_12[] = { 0xD8, 0xA5 };
     793                 :            : static const symbol s_13[] = { 0xD8, 0xA6 };
     794                 :            : static const symbol s_14[] = { 0xD8, 0xA2 };
     795                 :            : static const symbol s_15[] = { 0xD8, 0xA4 };
     796                 :            : static const symbol s_16[] = { 0xD8, 0xA7 };
     797                 :            : static const symbol s_17[] = { 0xD8, 0xA8 };
     798                 :            : static const symbol s_18[] = { 0xD8, 0xA9 };
     799                 :            : static const symbol s_19[] = { 0xD8, 0xAA };
     800                 :            : static const symbol s_20[] = { 0xD8, 0xAB };
     801                 :            : static const symbol s_21[] = { 0xD8, 0xAC };
     802                 :            : static const symbol s_22[] = { 0xD8, 0xAD };
     803                 :            : static const symbol s_23[] = { 0xD8, 0xAE };
     804                 :            : static const symbol s_24[] = { 0xD8, 0xAF };
     805                 :            : static const symbol s_25[] = { 0xD8, 0xB0 };
     806                 :            : static const symbol s_26[] = { 0xD8, 0xB1 };
     807                 :            : static const symbol s_27[] = { 0xD8, 0xB2 };
     808                 :            : static const symbol s_28[] = { 0xD8, 0xB3 };
     809                 :            : static const symbol s_29[] = { 0xD8, 0xB4 };
     810                 :            : static const symbol s_30[] = { 0xD8, 0xB5 };
     811                 :            : static const symbol s_31[] = { 0xD8, 0xB6 };
     812                 :            : static const symbol s_32[] = { 0xD8, 0xB7 };
     813                 :            : static const symbol s_33[] = { 0xD8, 0xB8 };
     814                 :            : static const symbol s_34[] = { 0xD8, 0xB9 };
     815                 :            : static const symbol s_35[] = { 0xD8, 0xBA };
     816                 :            : static const symbol s_36[] = { 0xD9, 0x81 };
     817                 :            : static const symbol s_37[] = { 0xD9, 0x82 };
     818                 :            : static const symbol s_38[] = { 0xD9, 0x83 };
     819                 :            : static const symbol s_39[] = { 0xD9, 0x84 };
     820                 :            : static const symbol s_40[] = { 0xD9, 0x85 };
     821                 :            : static const symbol s_41[] = { 0xD9, 0x86 };
     822                 :            : static const symbol s_42[] = { 0xD9, 0x87 };
     823                 :            : static const symbol s_43[] = { 0xD9, 0x88 };
     824                 :            : static const symbol s_44[] = { 0xD9, 0x89 };
     825                 :            : static const symbol s_45[] = { 0xD9, 0x8A };
     826                 :            : static const symbol s_46[] = { 0xD9, 0x84, 0xD8, 0xA7 };
     827                 :            : static const symbol s_47[] = { 0xD9, 0x84, 0xD8, 0xA3 };
     828                 :            : static const symbol s_48[] = { 0xD9, 0x84, 0xD8, 0xA5 };
     829                 :            : static const symbol s_49[] = { 0xD9, 0x84, 0xD8, 0xA2 };
     830                 :            : static const symbol s_50[] = { 0xD8, 0xA1 };
     831                 :            : static const symbol s_51[] = { 0xD8, 0xA7 };
     832                 :            : static const symbol s_52[] = { 0xD9, 0x88 };
     833                 :            : static const symbol s_53[] = { 0xD9, 0x8A };
     834                 :            : static const symbol s_54[] = { 0xD8, 0xA3 };
     835                 :            : static const symbol s_55[] = { 0xD8, 0xA2 };
     836                 :            : static const symbol s_56[] = { 0xD8, 0xA7 };
     837                 :            : static const symbol s_57[] = { 0xD8, 0xA5 };
     838                 :            : static const symbol s_58[] = { 0xD9, 0x81, 0xD8, 0xA7 };
     839                 :            : static const symbol s_59[] = { 0xD9, 0x88, 0xD8, 0xA7 };
     840                 :            : static const symbol s_60[] = { 0xD8, 0xA8, 0xD8, 0xA7 };
     841                 :            : static const symbol s_61[] = { 0xD8, 0xA8 };
     842                 :            : static const symbol s_62[] = { 0xD9, 0x83 };
     843                 :            : static const symbol s_63[] = { 0xD9, 0x8A };
     844                 :            : static const symbol s_64[] = { 0xD8, 0xAA };
     845                 :            : static const symbol s_65[] = { 0xD9, 0x86 };
     846                 :            : static const symbol s_66[] = { 0xD8, 0xA3 };
     847                 :            : static const symbol s_67[] = { 0xD8, 0xA7, 0xD8, 0xB3, 0xD8, 0xAA };
     848                 :            : static const symbol s_68[] = { 0xD9, 0x8A };
     849                 :            : 
     850                 :      70616 : int Xapian::InternalStemArabic::r_Normalize_pre() { /* forwardmode */
     851                 :            :     int among_var;
     852         [ +  + ]:    3669179 :     {   int i; for (i = len_utf8(p); i > 0; i--) /* loop, line 248 */
     853                 :    3598563 :         {               {   int c1 = c; /* or, line 312 */
     854                 :    3598563 :                 bra = c; /* [, line 250 */
     855                 :    3598563 :                 among_var = find_among(s_pool, a_0, 144, 0, 0); /* substring, line 250 */
     856         [ +  + ]:    3598563 :                 if (!(among_var)) goto lab1;
     857                 :        499 :                 ket = c; /* ], line 250 */
     858   [ +  +  +  +  :        499 :                 switch (among_var) { /* among, line 250 */
          +  +  +  +  +  
          +  +  -  -  -  
          -  -  -  -  -  
          -  +  -  -  +  
          -  -  -  +  +  
          -  +  -  +  -  
          -  +  -  +  -  
          +  -  -  -  +  
          -  -  -  -  -  
                +  -  - ]
     859                 :            :                     case 1:
     860         [ -  + ]:        219 :                         if (slice_del() == -1) return -1; /* delete, line 251 */
     861                 :        219 :                         break;
     862                 :            :                     case 2:
     863                 :         25 :                         {   int ret = slice_from_s(1, s_0); /* <-, line 255 */
     864         [ -  + ]:         25 :                             if (ret < 0) return ret;
     865                 :            :                         }
     866                 :         25 :                         break;
     867                 :            :                     case 3:
     868                 :         23 :                         {   int ret = slice_from_s(1, s_1); /* <-, line 256 */
     869         [ -  + ]:         23 :                             if (ret < 0) return ret;
     870                 :            :                         }
     871                 :         23 :                         break;
     872                 :            :                     case 4:
     873                 :         30 :                         {   int ret = slice_from_s(1, s_2); /* <-, line 257 */
     874         [ -  + ]:         30 :                             if (ret < 0) return ret;
     875                 :            :                         }
     876                 :         30 :                         break;
     877                 :            :                     case 5:
     878                 :         22 :                         {   int ret = slice_from_s(1, s_3); /* <-, line 258 */
     879         [ -  + ]:         22 :                             if (ret < 0) return ret;
     880                 :            :                         }
     881                 :         22 :                         break;
     882                 :            :                     case 6:
     883                 :         27 :                         {   int ret = slice_from_s(1, s_4); /* <-, line 259 */
     884         [ -  + ]:         27 :                             if (ret < 0) return ret;
     885                 :            :                         }
     886                 :         27 :                         break;
     887                 :            :                     case 7:
     888                 :         27 :                         {   int ret = slice_from_s(1, s_5); /* <-, line 260 */
     889         [ -  + ]:         27 :                             if (ret < 0) return ret;
     890                 :            :                         }
     891                 :         27 :                         break;
     892                 :            :                     case 8:
     893                 :         33 :                         {   int ret = slice_from_s(1, s_6); /* <-, line 261 */
     894         [ -  + ]:         33 :                             if (ret < 0) return ret;
     895                 :            :                         }
     896                 :         33 :                         break;
     897                 :            :                     case 9:
     898                 :         26 :                         {   int ret = slice_from_s(1, s_7); /* <-, line 262 */
     899         [ -  + ]:         26 :                             if (ret < 0) return ret;
     900                 :            :                         }
     901                 :         26 :                         break;
     902                 :            :                     case 10:
     903                 :         28 :                         {   int ret = slice_from_s(1, s_8); /* <-, line 263 */
     904         [ -  + ]:         28 :                             if (ret < 0) return ret;
     905                 :            :                         }
     906                 :         28 :                         break;
     907                 :            :                     case 11:
     908                 :         26 :                         {   int ret = slice_from_s(1, s_9); /* <-, line 264 */
     909         [ -  + ]:         26 :                             if (ret < 0) return ret;
     910                 :            :                         }
     911                 :         26 :                         break;
     912                 :            :                     case 12:
     913                 :          0 :                         {   int ret = slice_from_s(2, s_10); /* <-, line 267 */
     914         [ #  # ]:          0 :                             if (ret < 0) return ret;
     915                 :            :                         }
     916                 :          0 :                         break;
     917                 :            :                     case 13:
     918                 :          0 :                         {   int ret = slice_from_s(2, s_11); /* <-, line 268 */
     919         [ #  # ]:          0 :                             if (ret < 0) return ret;
     920                 :            :                         }
     921                 :          0 :                         break;
     922                 :            :                     case 14:
     923                 :          0 :                         {   int ret = slice_from_s(2, s_12); /* <-, line 269 */
     924         [ #  # ]:          0 :                             if (ret < 0) return ret;
     925                 :            :                         }
     926                 :          0 :                         break;
     927                 :            :                     case 15:
     928                 :          0 :                         {   int ret = slice_from_s(2, s_13); /* <-, line 270 */
     929         [ #  # ]:          0 :                             if (ret < 0) return ret;
     930                 :            :                         }
     931                 :          0 :                         break;
     932                 :            :                     case 16:
     933                 :          0 :                         {   int ret = slice_from_s(2, s_14); /* <-, line 271 */
     934         [ #  # ]:          0 :                             if (ret < 0) return ret;
     935                 :            :                         }
     936                 :          0 :                         break;
     937                 :            :                     case 17:
     938                 :          0 :                         {   int ret = slice_from_s(2, s_15); /* <-, line 272 */
     939         [ #  # ]:          0 :                             if (ret < 0) return ret;
     940                 :            :                         }
     941                 :          0 :                         break;
     942                 :            :                     case 18:
     943                 :          0 :                         {   int ret = slice_from_s(2, s_16); /* <-, line 273 */
     944         [ #  # ]:          0 :                             if (ret < 0) return ret;
     945                 :            :                         }
     946                 :          0 :                         break;
     947                 :            :                     case 19:
     948                 :          0 :                         {   int ret = slice_from_s(2, s_17); /* <-, line 274 */
     949         [ #  # ]:          0 :                             if (ret < 0) return ret;
     950                 :            :                         }
     951                 :          0 :                         break;
     952                 :            :                     case 20:
     953                 :          0 :                         {   int ret = slice_from_s(2, s_18); /* <-, line 275 */
     954         [ #  # ]:          0 :                             if (ret < 0) return ret;
     955                 :            :                         }
     956                 :          0 :                         break;
     957                 :            :                     case 21:
     958                 :          1 :                         {   int ret = slice_from_s(2, s_19); /* <-, line 276 */
     959         [ -  + ]:          1 :                             if (ret < 0) return ret;
     960                 :            :                         }
     961                 :          1 :                         break;
     962                 :            :                     case 22:
     963                 :          0 :                         {   int ret = slice_from_s(2, s_20); /* <-, line 277 */
     964         [ #  # ]:          0 :                             if (ret < 0) return ret;
     965                 :            :                         }
     966                 :          0 :                         break;
     967                 :            :                     case 23:
     968                 :          0 :                         {   int ret = slice_from_s(2, s_21); /* <-, line 278 */
     969         [ #  # ]:          0 :                             if (ret < 0) return ret;
     970                 :            :                         }
     971                 :          0 :                         break;
     972                 :            :                     case 24:
     973                 :          3 :                         {   int ret = slice_from_s(2, s_22); /* <-, line 279 */
     974         [ -  + ]:          3 :                             if (ret < 0) return ret;
     975                 :            :                         }
     976                 :          3 :                         break;
     977                 :            :                     case 25:
     978                 :          0 :                         {   int ret = slice_from_s(2, s_23); /* <-, line 280 */
     979         [ #  # ]:          0 :                             if (ret < 0) return ret;
     980                 :            :                         }
     981                 :          0 :                         break;
     982                 :            :                     case 26:
     983                 :          0 :                         {   int ret = slice_from_s(2, s_24); /* <-, line 281 */
     984         [ #  # ]:          0 :                             if (ret < 0) return ret;
     985                 :            :                         }
     986                 :          0 :                         break;
     987                 :            :                     case 27:
     988                 :          0 :                         {   int ret = slice_from_s(2, s_25); /* <-, line 282 */
     989         [ #  # ]:          0 :                             if (ret < 0) return ret;
     990                 :            :                         }
     991                 :          0 :                         break;
     992                 :            :                     case 28:
     993                 :          1 :                         {   int ret = slice_from_s(2, s_26); /* <-, line 283 */
     994         [ -  + ]:          1 :                             if (ret < 0) return ret;
     995                 :            :                         }
     996                 :          1 :                         break;
     997                 :            :                     case 29:
     998                 :          1 :                         {   int ret = slice_from_s(2, s_27); /* <-, line 284 */
     999         [ -  + ]:          1 :                             if (ret < 0) return ret;
    1000                 :            :                         }
    1001                 :          1 :                         break;
    1002                 :            :                     case 30:
    1003                 :          0 :                         {   int ret = slice_from_s(2, s_28); /* <-, line 285 */
    1004         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1005                 :            :                         }
    1006                 :          0 :                         break;
    1007                 :            :                     case 31:
    1008                 :          1 :                         {   int ret = slice_from_s(2, s_29); /* <-, line 286 */
    1009         [ -  + ]:          1 :                             if (ret < 0) return ret;
    1010                 :            :                         }
    1011                 :          1 :                         break;
    1012                 :            :                     case 32:
    1013                 :          0 :                         {   int ret = slice_from_s(2, s_30); /* <-, line 287 */
    1014         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1015                 :            :                         }
    1016                 :          0 :                         break;
    1017                 :            :                     case 33:
    1018                 :          1 :                         {   int ret = slice_from_s(2, s_31); /* <-, line 288 */
    1019         [ -  + ]:          1 :                             if (ret < 0) return ret;
    1020                 :            :                         }
    1021                 :          1 :                         break;
    1022                 :            :                     case 34:
    1023                 :          0 :                         {   int ret = slice_from_s(2, s_32); /* <-, line 289 */
    1024         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1025                 :            :                         }
    1026                 :          0 :                         break;
    1027                 :            :                     case 35:
    1028                 :          0 :                         {   int ret = slice_from_s(2, s_33); /* <-, line 290 */
    1029         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1030                 :            :                         }
    1031                 :          0 :                         break;
    1032                 :            :                     case 36:
    1033                 :          1 :                         {   int ret = slice_from_s(2, s_34); /* <-, line 291 */
    1034         [ -  + ]:          1 :                             if (ret < 0) return ret;
    1035                 :            :                         }
    1036                 :          1 :                         break;
    1037                 :            :                     case 37:
    1038                 :          0 :                         {   int ret = slice_from_s(2, s_35); /* <-, line 292 */
    1039         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1040                 :            :                         }
    1041                 :          0 :                         break;
    1042                 :            :                     case 38:
    1043                 :          1 :                         {   int ret = slice_from_s(2, s_36); /* <-, line 293 */
    1044         [ -  + ]:          1 :                             if (ret < 0) return ret;
    1045                 :            :                         }
    1046                 :          1 :                         break;
    1047                 :            :                     case 39:
    1048                 :          0 :                         {   int ret = slice_from_s(2, s_37); /* <-, line 294 */
    1049         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1050                 :            :                         }
    1051                 :          0 :                         break;
    1052                 :            :                     case 40:
    1053                 :          1 :                         {   int ret = slice_from_s(2, s_38); /* <-, line 295 */
    1054         [ -  + ]:          1 :                             if (ret < 0) return ret;
    1055                 :            :                         }
    1056                 :          1 :                         break;
    1057                 :            :                     case 41:
    1058                 :          0 :                         {   int ret = slice_from_s(2, s_39); /* <-, line 296 */
    1059         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1060                 :            :                         }
    1061                 :          0 :                         break;
    1062                 :            :                     case 42:
    1063                 :          0 :                         {   int ret = slice_from_s(2, s_40); /* <-, line 297 */
    1064         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1065                 :            :                         }
    1066                 :          0 :                         break;
    1067                 :            :                     case 43:
    1068                 :          0 :                         {   int ret = slice_from_s(2, s_41); /* <-, line 298 */
    1069         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1070                 :            :                         }
    1071                 :          0 :                         break;
    1072                 :            :                     case 44:
    1073                 :          1 :                         {   int ret = slice_from_s(2, s_42); /* <-, line 299 */
    1074         [ -  + ]:          1 :                             if (ret < 0) return ret;
    1075                 :            :                         }
    1076                 :          1 :                         break;
    1077                 :            :                     case 45:
    1078                 :          0 :                         {   int ret = slice_from_s(2, s_43); /* <-, line 300 */
    1079         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1080                 :            :                         }
    1081                 :          0 :                         break;
    1082                 :            :                     case 46:
    1083                 :          0 :                         {   int ret = slice_from_s(2, s_44); /* <-, line 301 */
    1084         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1085                 :            :                         }
    1086                 :          0 :                         break;
    1087                 :            :                     case 47:
    1088                 :          0 :                         {   int ret = slice_from_s(2, s_45); /* <-, line 302 */
    1089         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1090                 :            :                         }
    1091                 :          0 :                         break;
    1092                 :            :                     case 48:
    1093                 :          0 :                         {   int ret = slice_from_s(4, s_46); /* <-, line 305 */
    1094         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1095                 :            :                         }
    1096                 :          0 :                         break;
    1097                 :            :                     case 49:
    1098                 :          0 :                         {   int ret = slice_from_s(4, s_47); /* <-, line 306 */
    1099         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1100                 :            :                         }
    1101                 :          0 :                         break;
    1102                 :            :                     case 50:
    1103                 :          1 :                         {   int ret = slice_from_s(4, s_48); /* <-, line 307 */
    1104         [ -  + ]:          1 :                             if (ret < 0) return ret;
    1105                 :            :                         }
    1106                 :          1 :                         break;
    1107                 :            :                     case 51:
    1108                 :          0 :                         {   int ret = slice_from_s(4, s_49); /* <-, line 308 */
    1109         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1110                 :            :                         }
    1111                 :          0 :                         break;
    1112                 :            :                 }
    1113                 :        499 :                 goto lab0;
    1114                 :            :             lab1:
    1115                 :    3598064 :                 c = c1;
    1116                 :    3598064 :                 {   int ret = skip_utf8(p, c, 0, l, 1);
    1117         [ -  + ]:    3598064 :                     if (ret < 0) return 0;
    1118                 :    3598064 :                     c = ret; /* next, line 313 */
    1119                 :            :                 }
    1120                 :            :             }
    1121                 :            :         lab0:
    1122                 :            :             ;
    1123                 :            :         }
    1124                 :            :     }
    1125                 :      70616 :     return 1;
    1126                 :            : }
    1127                 :            : 
    1128                 :      70616 : int Xapian::InternalStemArabic::r_Normalize_post() { /* forwardmode */
    1129                 :            :     int among_var;
    1130                 :      70616 :     {   int c1 = c; /* do, line 319 */
    1131                 :      70616 :         lb = c; c = l; /* backwards, line 321 */
    1132                 :            : 
    1133                 :      70616 :         ket = c; /* [, line 322 */
    1134 [ +  + ][ +  + ]:      70616 :         if (c - 1 <= lb || p[c - 1] >> 5 != 5 || !((124 >> (p[c - 1] & 0x1f)) & 1)) goto lab0; /* substring, line 322 */
                 [ +  + ]
    1135         [ +  + ]:        149 :         if (!(find_among_b(s_pool, a_1, 5, 0, 0))) goto lab0;
    1136                 :          1 :         bra = c; /* ], line 322 */
    1137                 :          1 :         {   int ret = slice_from_s(2, s_50); /* <-, line 323 */
    1138         [ -  + ]:          1 :             if (ret < 0) return ret;
    1139                 :            :         }
    1140                 :          1 :         c = lb;
    1141                 :            :     lab0:
    1142                 :      70616 :         c = c1;
    1143                 :            :     }
    1144                 :      70616 :     {   int c2 = c; /* do, line 330 */
    1145                 :            :         while(1) { /* repeat, line 330 */
    1146                 :    4018188 :             int c3 = c;
    1147                 :    4018188 :             {   int c4 = c; /* or, line 339 */
    1148                 :    4018188 :                 bra = c; /* [, line 333 */
    1149 [ +  + ][ +  + ]:    4018188 :                 if (c + 1 >= l || p[c + 1] >> 5 != 5 || !((124 >> (p[c + 1] & 0x1f)) & 1)) goto lab4; /* substring, line 333 */
                 [ +  + ]
    1150                 :      37084 :                 among_var = find_among(s_pool, a_2, 5, 0, 0);
    1151         [ +  + ]:      37084 :                 if (!(among_var)) goto lab4;
    1152                 :        164 :                 ket = c; /* ], line 333 */
    1153   [ +  +  +  - ]:        164 :                 switch (among_var) { /* among, line 333 */
    1154                 :            :                     case 1:
    1155                 :         98 :                         {   int ret = slice_from_s(2, s_51); /* <-, line 334 */
    1156         [ -  + ]:         98 :                             if (ret < 0) return ret;
    1157                 :            :                         }
    1158                 :         98 :                         break;
    1159                 :            :                     case 2:
    1160                 :         27 :                         {   int ret = slice_from_s(2, s_52); /* <-, line 335 */
    1161         [ -  + ]:         27 :                             if (ret < 0) return ret;
    1162                 :            :                         }
    1163                 :         27 :                         break;
    1164                 :            :                     case 3:
    1165                 :         39 :                         {   int ret = slice_from_s(2, s_53); /* <-, line 336 */
    1166         [ -  + ]:         39 :                             if (ret < 0) return ret;
    1167                 :            :                         }
    1168                 :         39 :                         break;
    1169                 :            :                 }
    1170                 :        164 :                 goto lab3;
    1171                 :            :             lab4:
    1172                 :    4018024 :                 c = c4;
    1173                 :    4018024 :                 {   int ret = skip_utf8(p, c, 0, l, 1);
    1174         [ +  + ]:    4018024 :                     if (ret < 0) goto lab2;
    1175                 :    3947408 :                     c = ret; /* next, line 340 */
    1176                 :            :                 }
    1177                 :            :             }
    1178                 :            :         lab3:
    1179                 :    3947572 :             continue;
    1180                 :            :         lab2:
    1181                 :      70616 :             c = c3;
    1182                 :      70616 :             break;
    1183                 :            :         }
    1184                 :    3947572 :         c = c2;
    1185                 :            :     }
    1186                 :      70616 :     return 1;
    1187                 :            : }
    1188                 :            : 
    1189                 :      70616 : int Xapian::InternalStemArabic::r_Checks1() { /* forwardmode */
    1190                 :            :     int among_var;
    1191                 :      70616 :     bra = c; /* [, line 346 */
    1192 [ +  + ][ +  + ]:      70616 :     if (c + 3 >= l || (p[c + 3] != 132 && p[c + 3] != 167)) return 0; /* substring, line 346 */
                 [ +  + ]
    1193                 :         56 :     among_var = find_among(s_pool, a_3, 4, 0, 0);
    1194         [ +  - ]:         56 :     if (!(among_var)) return 0;
    1195                 :          0 :     ket = c; /* ], line 346 */
    1196      [ #  #  # ]:          0 :     switch (among_var) { /* among, line 346 */
    1197                 :            :         case 1:
    1198         [ #  # ]:          0 :             if (!(len_utf8(p) > 4)) return 0; /* $(<integer expression> > <integer expression>), line 347 */
    1199                 :          0 :             B_is_noun = 1; /* set is_noun, line 347 */
    1200                 :          0 :             B_is_verb = 0; /* unset is_verb, line 347 */
    1201                 :          0 :             B_is_defined = 1; /* set is_defined, line 347 */
    1202                 :          0 :             break;
    1203                 :            :         case 2:
    1204         [ #  # ]:          0 :             if (!(len_utf8(p) > 3)) return 0; /* $(<integer expression> > <integer expression>), line 348 */
    1205                 :          0 :             B_is_noun = 1; /* set is_noun, line 348 */
    1206                 :          0 :             B_is_verb = 0; /* unset is_verb, line 348 */
    1207                 :          0 :             B_is_defined = 1; /* set is_defined, line 348 */
    1208                 :          0 :             break;
    1209                 :            :     }
    1210                 :          0 :     return 1;
    1211                 :            : }
    1212                 :            : 
    1213                 :      70616 : int Xapian::InternalStemArabic::r_Prefix_Step1() { /* forwardmode */
    1214                 :            :     int among_var;
    1215                 :      70616 :     bra = c; /* [, line 355 */
    1216 [ +  + ][ +  + ]:      70616 :     if (c + 3 >= l || p[c + 3] >> 5 != 5 || !((188 >> (p[c + 3] & 0x1f)) & 1)) return 0; /* substring, line 355 */
                 [ +  + ]
    1217                 :        159 :     among_var = find_among(s_pool, a_4, 5, 0, 0);
    1218         [ +  - ]:        159 :     if (!(among_var)) return 0;
    1219                 :          0 :     ket = c; /* ], line 355 */
    1220   [ #  #  #  #  :          0 :     switch (among_var) { /* among, line 355 */
                      # ]
    1221                 :            :         case 1:
    1222         [ #  # ]:          0 :             if (!(len_utf8(p) > 3)) return 0; /* $(<integer expression> > <integer expression>), line 356 */
    1223                 :          0 :             {   int ret = slice_from_s(2, s_54); /* <-, line 356 */
    1224         [ #  # ]:          0 :                 if (ret < 0) return ret;
    1225                 :            :             }
    1226                 :          0 :             break;
    1227                 :            :         case 2:
    1228         [ #  # ]:          0 :             if (!(len_utf8(p) > 3)) return 0; /* $(<integer expression> > <integer expression>), line 357 */
    1229                 :          0 :             {   int ret = slice_from_s(2, s_55); /* <-, line 357 */
    1230         [ #  # ]:          0 :                 if (ret < 0) return ret;
    1231                 :            :             }
    1232                 :          0 :             break;
    1233                 :            :         case 3:
    1234         [ #  # ]:          0 :             if (!(len_utf8(p) > 3)) return 0; /* $(<integer expression> > <integer expression>), line 359 */
    1235                 :          0 :             {   int ret = slice_from_s(2, s_56); /* <-, line 359 */
    1236         [ #  # ]:          0 :                 if (ret < 0) return ret;
    1237                 :            :             }
    1238                 :          0 :             break;
    1239                 :            :         case 4:
    1240         [ #  # ]:          0 :             if (!(len_utf8(p) > 3)) return 0; /* $(<integer expression> > <integer expression>), line 360 */
    1241                 :          0 :             {   int ret = slice_from_s(2, s_57); /* <-, line 360 */
    1242         [ #  # ]:          0 :                 if (ret < 0) return ret;
    1243                 :            :             }
    1244                 :          0 :             break;
    1245                 :            :     }
    1246                 :          0 :     return 1;
    1247                 :            : }
    1248                 :            : 
    1249                 :      70616 : int Xapian::InternalStemArabic::r_Prefix_Step2() { /* forwardmode */
    1250                 :      70616 :     {   int c1 = c; /* not, line 366 */
    1251         [ +  - ]:      70616 :         if (!(eq_s(4, s_58))) goto lab0; /* literal, line 366 */
    1252                 :          0 :         return 0;
    1253                 :            :     lab0:
    1254                 :      70616 :         c = c1;
    1255                 :            :     }
    1256                 :      70616 :     {   int c2 = c; /* not, line 367 */
    1257         [ +  - ]:      70616 :         if (!(eq_s(4, s_59))) goto lab1; /* literal, line 367 */
    1258                 :          0 :         return 0;
    1259                 :            :     lab1:
    1260                 :      70616 :         c = c2;
    1261                 :            :     }
    1262                 :      70616 :     bra = c; /* [, line 368 */
    1263 [ +  + ][ +  + ]:      70616 :     if (c + 1 >= l || (p[c + 1] != 129 && p[c + 1] != 136)) return 0; /* substring, line 368 */
                 [ +  + ]
    1264         [ +  - ]:         64 :     if (!(find_among(s_pool, a_5, 2, 0, 0))) return 0;
    1265                 :          0 :     ket = c; /* ], line 368 */
    1266         [ #  # ]:          0 :     if (!(len_utf8(p) > 3)) return 0; /* $(<integer expression> > <integer expression>), line 369 */
    1267         [ #  # ]:          0 :     if (slice_del() == -1) return -1; /* delete, line 369 */
    1268                 :          0 :     return 1;
    1269                 :            : }
    1270                 :            : 
    1271                 :      70616 : int Xapian::InternalStemArabic::r_Prefix_Step3a_Noun() { /* forwardmode */
    1272                 :            :     int among_var;
    1273                 :      70616 :     bra = c; /* [, line 375 */
    1274 [ +  + ][ +  + ]:      70616 :     if (c + 3 >= l || (p[c + 3] != 132 && p[c + 3] != 167)) return 0; /* substring, line 375 */
                 [ +  + ]
    1275                 :         56 :     among_var = find_among(s_pool, a_6, 4, 0, 0);
    1276         [ +  - ]:         56 :     if (!(among_var)) return 0;
    1277                 :          0 :     ket = c; /* ], line 375 */
    1278      [ #  #  # ]:          0 :     switch (among_var) { /* among, line 375 */
    1279                 :            :         case 1:
    1280         [ #  # ]:          0 :             if (!(len_utf8(p) > 5)) return 0; /* $(<integer expression> > <integer expression>), line 376 */
    1281         [ #  # ]:          0 :             if (slice_del() == -1) return -1; /* delete, line 376 */
    1282                 :          0 :             break;
    1283                 :            :         case 2:
    1284         [ #  # ]:          0 :             if (!(len_utf8(p) > 4)) return 0; /* $(<integer expression> > <integer expression>), line 377 */
    1285         [ #  # ]:          0 :             if (slice_del() == -1) return -1; /* delete, line 377 */
    1286                 :          0 :             break;
    1287                 :            :     }
    1288                 :          0 :     return 1;
    1289                 :            : }
    1290                 :            : 
    1291                 :      70616 : int Xapian::InternalStemArabic::r_Prefix_Step3b_Noun() { /* forwardmode */
    1292                 :            :     int among_var;
    1293                 :      70616 :     {   int c1 = c; /* not, line 382 */
    1294         [ +  - ]:      70616 :         if (!(eq_s(4, s_60))) goto lab0; /* literal, line 382 */
    1295                 :          0 :         return 0;
    1296                 :            :     lab0:
    1297                 :      70616 :         c = c1;
    1298                 :            :     }
    1299                 :      70616 :     bra = c; /* [, line 383 */
    1300 [ +  + ][ +  + ]:      70616 :     if (c + 1 >= l || (p[c + 1] != 168 && p[c + 1] != 131)) return 0; /* substring, line 383 */
                 [ +  + ]
    1301                 :         61 :     among_var = find_among(s_pool, a_7, 3, 0, 0);
    1302         [ +  + ]:         61 :     if (!(among_var)) return 0;
    1303                 :          1 :     ket = c; /* ], line 383 */
    1304   [ +  -  -  - ]:          1 :     switch (among_var) { /* among, line 383 */
    1305                 :            :         case 1:
    1306         [ -  + ]:          1 :             if (!(len_utf8(p) > 3)) return 0; /* $(<integer expression> > <integer expression>), line 384 */
    1307         [ -  + ]:          1 :             if (slice_del() == -1) return -1; /* delete, line 384 */
    1308                 :          1 :             break;
    1309                 :            :         case 2:
    1310         [ #  # ]:          0 :             if (!(len_utf8(p) > 3)) return 0; /* $(<integer expression> > <integer expression>), line 386 */
    1311                 :          0 :             {   int ret = slice_from_s(2, s_61); /* <-, line 386 */
    1312         [ #  # ]:          0 :                 if (ret < 0) return ret;
    1313                 :            :             }
    1314                 :          0 :             break;
    1315                 :            :         case 3:
    1316         [ #  # ]:          0 :             if (!(len_utf8(p) > 3)) return 0; /* $(<integer expression> > <integer expression>), line 387 */
    1317                 :          0 :             {   int ret = slice_from_s(2, s_62); /* <-, line 387 */
    1318         [ #  # ]:          0 :                 if (ret < 0) return ret;
    1319                 :            :             }
    1320                 :          0 :             break;
    1321                 :            :     }
    1322                 :          1 :     return 1;
    1323                 :            : }
    1324                 :            : 
    1325                 :      70615 : int Xapian::InternalStemArabic::r_Prefix_Step3_Verb() { /* forwardmode */
    1326                 :            :     int among_var;
    1327                 :      70615 :     bra = c; /* [, line 393 */
    1328                 :      70615 :     among_var = find_among(s_pool, a_8, 4, 0, 0); /* substring, line 393 */
    1329         [ +  - ]:      70615 :     if (!(among_var)) return 0;
    1330                 :          0 :     ket = c; /* ], line 393 */
    1331   [ #  #  #  #  :          0 :     switch (among_var) { /* among, line 393 */
                      # ]
    1332                 :            :         case 1:
    1333         [ #  # ]:          0 :             if (!(len_utf8(p) > 4)) return 0; /* $(<integer expression> > <integer expression>), line 395 */
    1334                 :          0 :             {   int ret = slice_from_s(2, s_63); /* <-, line 395 */
    1335         [ #  # ]:          0 :                 if (ret < 0) return ret;
    1336                 :            :             }
    1337                 :          0 :             break;
    1338                 :            :         case 2:
    1339         [ #  # ]:          0 :             if (!(len_utf8(p) > 4)) return 0; /* $(<integer expression> > <integer expression>), line 396 */
    1340                 :          0 :             {   int ret = slice_from_s(2, s_64); /* <-, line 396 */
    1341         [ #  # ]:          0 :                 if (ret < 0) return ret;
    1342                 :            :             }
    1343                 :          0 :             break;
    1344                 :            :         case 3:
    1345         [ #  # ]:          0 :             if (!(len_utf8(p) > 4)) return 0; /* $(<integer expression> > <integer expression>), line 397 */
    1346                 :          0 :             {   int ret = slice_from_s(2, s_65); /* <-, line 397 */
    1347         [ #  # ]:          0 :                 if (ret < 0) return ret;
    1348                 :            :             }
    1349                 :          0 :             break;
    1350                 :            :         case 4:
    1351         [ #  # ]:          0 :             if (!(len_utf8(p) > 4)) return 0; /* $(<integer expression> > <integer expression>), line 398 */
    1352                 :          0 :             {   int ret = slice_from_s(2, s_66); /* <-, line 398 */
    1353         [ #  # ]:          0 :                 if (ret < 0) return ret;
    1354                 :            :             }
    1355                 :          0 :             break;
    1356                 :            :     }
    1357                 :          0 :     return 1;
    1358                 :            : }
    1359                 :            : 
    1360                 :      70615 : int Xapian::InternalStemArabic::r_Prefix_Step4_Verb() { /* forwardmode */
    1361                 :      70615 :     bra = c; /* [, line 403 */
    1362 [ +  + ][ +  + ]:      70615 :     if (c + 5 >= l || p[c + 5] != 170) return 0; /* substring, line 403 */
    1363         [ +  - ]:         37 :     if (!(find_among(s_pool, a_9, 3, 0, 0))) return 0;
    1364                 :          0 :     ket = c; /* ], line 403 */
    1365         [ #  # ]:          0 :     if (!(len_utf8(p) > 4)) return 0; /* $(<integer expression> > <integer expression>), line 404 */
    1366                 :          0 :     B_is_verb = 1; /* set is_verb, line 404 */
    1367                 :          0 :     B_is_noun = 0; /* unset is_noun, line 404 */
    1368                 :          0 :     {   int ret = slice_from_s(6, s_67); /* <-, line 404 */
    1369         [ #  # ]:          0 :         if (ret < 0) return ret;
    1370                 :            :     }
    1371                 :          0 :     return 1;
    1372                 :            : }
    1373                 :            : 
    1374                 :      70615 : int Xapian::InternalStemArabic::r_Suffix_Noun_Step1a() { /* backwardmode */
    1375                 :            :     int among_var;
    1376                 :      70615 :     ket = c; /* [, line 412 */
    1377                 :      70615 :     among_var = find_among_b(s_pool, a_10, 10, 0, 0); /* substring, line 412 */
    1378         [ +  - ]:      70615 :     if (!(among_var)) return 0;
    1379                 :          0 :     bra = c; /* ], line 412 */
    1380   [ #  #  #  # ]:          0 :     switch (among_var) { /* among, line 412 */
    1381                 :            :         case 1:
    1382         [ #  # ]:          0 :             if (!(len_utf8(p) >= 4)) return 0; /* $(<integer expression> >= <integer expression>), line 413 */
    1383         [ #  # ]:          0 :             if (slice_del() == -1) return -1; /* delete, line 413 */
    1384                 :          0 :             break;
    1385                 :            :         case 2:
    1386         [ #  # ]:          0 :             if (!(len_utf8(p) >= 5)) return 0; /* $(<integer expression> >= <integer expression>), line 414 */
    1387         [ #  # ]:          0 :             if (slice_del() == -1) return -1; /* delete, line 414 */
    1388                 :          0 :             break;
    1389                 :            :         case 3:
    1390         [ #  # ]:          0 :             if (!(len_utf8(p) >= 6)) return 0; /* $(<integer expression> >= <integer expression>), line 415 */
    1391         [ #  # ]:          0 :             if (slice_del() == -1) return -1; /* delete, line 415 */
    1392                 :          0 :             break;
    1393                 :            :     }
    1394                 :          0 :     return 1;
    1395                 :            : }
    1396                 :            : 
    1397                 :      70615 : int Xapian::InternalStemArabic::r_Suffix_Noun_Step1b() { /* backwardmode */
    1398                 :      70615 :     ket = c; /* [, line 419 */
    1399 [ +  + ][ +  + ]:      70615 :     if (c - 1 <= lb || p[c - 1] != 134) return 0; /* substring, line 419 */
    1400         [ +  - ]:         25 :     if (!(find_among_b(s_pool, a_11, 1, 0, 0))) return 0;
    1401                 :          0 :     bra = c; /* ], line 419 */
    1402         [ #  # ]:          0 :     if (!(len_utf8(p) > 5)) return 0; /* $(<integer expression> > <integer expression>), line 420 */
    1403         [ #  # ]:          0 :     if (slice_del() == -1) return -1; /* delete, line 420 */
    1404                 :          0 :     return 1;
    1405                 :            : }
    1406                 :            : 
    1407                 :      70615 : int Xapian::InternalStemArabic::r_Suffix_Noun_Step2a() { /* backwardmode */
    1408                 :      70615 :     ket = c; /* [, line 425 */
    1409         [ +  - ]:      70615 :     if (!(find_among_b(s_pool, a_12, 3, 0, 0))) return 0; /* substring, line 425 */
    1410                 :          0 :     bra = c; /* ], line 425 */
    1411         [ #  # ]:          0 :     if (!(len_utf8(p) > 4)) return 0; /* $(<integer expression> > <integer expression>), line 426 */
    1412         [ #  # ]:          0 :     if (slice_del() == -1) return -1; /* delete, line 426 */
    1413                 :          0 :     return 1;
    1414                 :            : }
    1415                 :            : 
    1416                 :      70615 : int Xapian::InternalStemArabic::r_Suffix_Noun_Step2b() { /* backwardmode */
    1417                 :      70615 :     ket = c; /* [, line 431 */
    1418 [ +  + ][ +  + ]:      70615 :     if (c - 3 <= lb || p[c - 1] != 170) return 0; /* substring, line 431 */
    1419         [ +  - ]:         31 :     if (!(find_among_b(s_pool, a_13, 1, 0, 0))) return 0;
    1420                 :          0 :     bra = c; /* ], line 431 */
    1421         [ #  # ]:          0 :     if (!(len_utf8(p) >= 5)) return 0; /* $(<integer expression> >= <integer expression>), line 432 */
    1422         [ #  # ]:          0 :     if (slice_del() == -1) return -1; /* delete, line 432 */
    1423                 :          0 :     return 1;
    1424                 :            : }
    1425                 :            : 
    1426                 :          0 : int Xapian::InternalStemArabic::r_Suffix_Noun_Step2c1() { /* backwardmode */
    1427                 :          0 :     ket = c; /* [, line 437 */
    1428 [ #  # ][ #  # ]:          0 :     if (c - 1 <= lb || p[c - 1] != 170) return 0; /* substring, line 437 */
    1429         [ #  # ]:          0 :     if (!(find_among_b(s_pool, a_14, 1, 0, 0))) return 0;
    1430                 :          0 :     bra = c; /* ], line 437 */
    1431         [ #  # ]:          0 :     if (!(len_utf8(p) >= 4)) return 0; /* $(<integer expression> >= <integer expression>), line 438 */
    1432         [ #  # ]:          0 :     if (slice_del() == -1) return -1; /* delete, line 438 */
    1433                 :          0 :     return 1;
    1434                 :            : }
    1435                 :            : 
    1436                 :      70615 : int Xapian::InternalStemArabic::r_Suffix_Noun_Step2c2() { /* backwardmode */
    1437                 :      70615 :     ket = c; /* [, line 442 */
    1438 [ +  + ][ +  + ]:      70615 :     if (c - 1 <= lb || p[c - 1] != 169) return 0; /* substring, line 442 */
    1439         [ +  - ]:         26 :     if (!(find_among_b(s_pool, a_15, 1, 0, 0))) return 0;
    1440                 :          0 :     bra = c; /* ], line 442 */
    1441         [ #  # ]:          0 :     if (!(len_utf8(p) >= 4)) return 0; /* $(<integer expression> >= <integer expression>), line 443 */
    1442         [ #  # ]:          0 :     if (slice_del() == -1) return -1; /* delete, line 443 */
    1443                 :          0 :     return 1;
    1444                 :            : }
    1445                 :            : 
    1446                 :      70615 : int Xapian::InternalStemArabic::r_Suffix_Noun_Step3() { /* backwardmode */
    1447                 :      70615 :     ket = c; /* [, line 447 */
    1448 [ +  + ][ +  + ]:      70615 :     if (c - 1 <= lb || p[c - 1] != 138) return 0; /* substring, line 447 */
    1449         [ +  - ]:         33 :     if (!(find_among_b(s_pool, a_16, 1, 0, 0))) return 0;
    1450                 :          0 :     bra = c; /* ], line 447 */
    1451         [ #  # ]:          0 :     if (!(len_utf8(p) >= 3)) return 0; /* $(<integer expression> >= <integer expression>), line 448 */
    1452         [ #  # ]:          0 :     if (slice_del() == -1) return -1; /* delete, line 448 */
    1453                 :          0 :     return 1;
    1454                 :            : }
    1455                 :            : 
    1456                 :      70617 : int Xapian::InternalStemArabic::r_Suffix_Verb_Step1() { /* backwardmode */
    1457                 :            :     int among_var;
    1458                 :      70617 :     ket = c; /* [, line 453 */
    1459                 :      70617 :     among_var = find_among_b(s_pool, a_17, 12, 0, 0); /* substring, line 453 */
    1460         [ +  + ]:      70617 :     if (!(among_var)) return 0;
    1461                 :          1 :     bra = c; /* ], line 453 */
    1462   [ +  -  -  - ]:          1 :     switch (among_var) { /* among, line 453 */
    1463                 :            :         case 1:
    1464         [ -  + ]:          1 :             if (!(len_utf8(p) >= 4)) return 0; /* $(<integer expression> >= <integer expression>), line 454 */
    1465         [ -  + ]:          1 :             if (slice_del() == -1) return -1; /* delete, line 454 */
    1466                 :          1 :             break;
    1467                 :            :         case 2:
    1468         [ #  # ]:          0 :             if (!(len_utf8(p) >= 5)) return 0; /* $(<integer expression> >= <integer expression>), line 455 */
    1469         [ #  # ]:          0 :             if (slice_del() == -1) return -1; /* delete, line 455 */
    1470                 :          0 :             break;
    1471                 :            :         case 3:
    1472         [ #  # ]:          0 :             if (!(len_utf8(p) >= 6)) return 0; /* $(<integer expression> >= <integer expression>), line 456 */
    1473         [ #  # ]:          0 :             if (slice_del() == -1) return -1; /* delete, line 456 */
    1474                 :          0 :             break;
    1475                 :            :     }
    1476                 :          1 :     return 1;
    1477                 :            : }
    1478                 :            : 
    1479                 :      70616 : int Xapian::InternalStemArabic::r_Suffix_Verb_Step2a() { /* backwardmode */
    1480                 :            :     int among_var;
    1481                 :      70616 :     ket = c; /* [, line 460 */
    1482                 :      70616 :     among_var = find_among_b(s_pool, a_18, 11, 0, 0); /* substring, line 460 */
    1483         [ +  - ]:      70616 :     if (!(among_var)) return 0;
    1484                 :          0 :     bra = c; /* ], line 460 */
    1485   [ #  #  #  #  :          0 :     switch (among_var) { /* among, line 460 */
                      # ]
    1486                 :            :         case 1:
    1487         [ #  # ]:          0 :             if (!(len_utf8(p) >= 4)) return 0; /* $(<integer expression> >= <integer expression>), line 461 */
    1488         [ #  # ]:          0 :             if (slice_del() == -1) return -1; /* delete, line 461 */
    1489                 :          0 :             break;
    1490                 :            :         case 2:
    1491         [ #  # ]:          0 :             if (!(len_utf8(p) >= 5)) return 0; /* $(<integer expression> >= <integer expression>), line 463 */
    1492         [ #  # ]:          0 :             if (slice_del() == -1) return -1; /* delete, line 463 */
    1493                 :          0 :             break;
    1494                 :            :         case 3:
    1495         [ #  # ]:          0 :             if (!(len_utf8(p) > 5)) return 0; /* $(<integer expression> > <integer expression>), line 464 */
    1496         [ #  # ]:          0 :             if (slice_del() == -1) return -1; /* delete, line 464 */
    1497                 :          0 :             break;
    1498                 :            :         case 4:
    1499         [ #  # ]:          0 :             if (!(len_utf8(p) >= 6)) return 0; /* $(<integer expression> >= <integer expression>), line 465 */
    1500         [ #  # ]:          0 :             if (slice_del() == -1) return -1; /* delete, line 465 */
    1501                 :          0 :             break;
    1502                 :            :     }
    1503                 :          0 :     return 1;
    1504                 :            : }
    1505                 :            : 
    1506                 :      70615 : int Xapian::InternalStemArabic::r_Suffix_Verb_Step2b() { /* backwardmode */
    1507                 :      70615 :     ket = c; /* [, line 470 */
    1508 [ +  + ][ +  + ]:      70615 :     if (c - 3 <= lb || (p[c - 1] != 133 && p[c - 1] != 167)) return 0; /* substring, line 470 */
                 [ +  + ]
    1509         [ +  - ]:         69 :     if (!(find_among_b(s_pool, a_19, 2, 0, 0))) return 0;
    1510                 :          0 :     bra = c; /* ], line 470 */
    1511         [ #  # ]:          0 :     if (!(len_utf8(p) >= 5)) return 0; /* $(<integer expression> >= <integer expression>), line 471 */
    1512         [ #  # ]:          0 :     if (slice_del() == -1) return -1; /* delete, line 471 */
    1513                 :          0 :     return 1;
    1514                 :            : }
    1515                 :            : 
    1516                 :          1 : int Xapian::InternalStemArabic::r_Suffix_Verb_Step2c() { /* backwardmode */
    1517                 :            :     int among_var;
    1518                 :          1 :     ket = c; /* [, line 477 */
    1519 [ +  - ][ +  - ]:          1 :     if (c - 1 <= lb || p[c - 1] != 136) return 0; /* substring, line 477 */
    1520                 :          0 :     among_var = find_among_b(s_pool, a_20, 2, 0, 0);
    1521         [ #  # ]:          0 :     if (!(among_var)) return 0;
    1522                 :          0 :     bra = c; /* ], line 477 */
    1523      [ #  #  # ]:          0 :     switch (among_var) { /* among, line 477 */
    1524                 :            :         case 1:
    1525         [ #  # ]:          0 :             if (!(len_utf8(p) >= 4)) return 0; /* $(<integer expression> >= <integer expression>), line 478 */
    1526         [ #  # ]:          0 :             if (slice_del() == -1) return -1; /* delete, line 478 */
    1527                 :          0 :             break;
    1528                 :            :         case 2:
    1529         [ #  # ]:          0 :             if (!(len_utf8(p) >= 6)) return 0; /* $(<integer expression> >= <integer expression>), line 479 */
    1530         [ #  # ]:          0 :             if (slice_del() == -1) return -1; /* delete, line 479 */
    1531                 :          0 :             break;
    1532                 :            :     }
    1533                 :          0 :     return 1;
    1534                 :            : }
    1535                 :            : 
    1536                 :      70615 : int Xapian::InternalStemArabic::r_Suffix_All_alef_maqsura() { /* backwardmode */
    1537                 :      70615 :     ket = c; /* [, line 484 */
    1538 [ +  + ][ +  + ]:      70615 :     if (c - 1 <= lb || p[c - 1] != 137) return 0; /* substring, line 484 */
    1539         [ +  - ]:         36 :     if (!(find_among_b(s_pool, a_21, 1, 0, 0))) return 0;
    1540                 :          0 :     bra = c; /* ], line 484 */
    1541                 :          0 :     {   int ret = slice_from_s(2, s_68); /* <-, line 485 */
    1542         [ #  # ]:          0 :         if (ret < 0) return ret;
    1543                 :            :     }
    1544                 :          0 :     return 1;
    1545                 :            : }
    1546                 :            : 
    1547                 :      70616 : int Xapian::InternalStemArabic::stem() { /* forwardmode */
    1548                 :      70616 :     B_is_noun = 1; /* set is_noun, line 494 */
    1549                 :      70616 :     B_is_verb = 1; /* set is_verb, line 495 */
    1550                 :      70616 :     B_is_defined = 0; /* unset is_defined, line 496 */
    1551                 :      70616 :     {   int c1 = c; /* do, line 499 */
    1552                 :      70616 :         {   int ret = r_Checks1(); /* call Checks1, line 499 */
    1553         [ +  - ]:      70616 :             if (ret == 0) goto lab0;
    1554         [ #  # ]:          0 :             if (ret < 0) return ret;
    1555                 :            :         }
    1556                 :            :     lab0:
    1557                 :      70616 :         c = c1;
    1558                 :            :     }
    1559                 :      70616 :     {   int c2 = c; /* do, line 502 */
    1560                 :      70616 :         {   int ret = r_Normalize_pre(); /* call Normalize_pre, line 502 */
    1561         [ -  + ]:      70616 :             if (ret == 0) goto lab1;
    1562         [ -  + ]:      70616 :             if (ret < 0) return ret;
    1563                 :            :         }
    1564                 :            :     lab1:
    1565                 :      70616 :         c = c2;
    1566                 :            :     }
    1567                 :      70616 :     lb = c; c = l; /* backwards, line 505 */
    1568                 :            : 
    1569                 :      70616 :     {   int m3 = l - c; (void)m3; /* do, line 507 */
    1570                 :      70616 :         {   int m4 = l - c; (void)m4; /* or, line 521 */
    1571         [ -  + ]:      70616 :             if (!(B_is_verb)) goto lab4; /* Boolean test is_verb, line 510 */
    1572                 :      70616 :             {   int m5 = l - c; (void)m5; /* or, line 516 */
    1573                 :      70616 :                 {   int i = 1;
    1574                 :            :                     while(1) { /* atleast, line 513 */
    1575                 :      70617 :                         int m6 = l - c; (void)m6;
    1576                 :      70617 :                         {   int ret = r_Suffix_Verb_Step1(); /* call Suffix_Verb_Step1, line 513 */
    1577         [ +  + ]:      70617 :                             if (ret == 0) goto lab7;
    1578         [ -  + ]:          1 :                             if (ret < 0) return ret;
    1579                 :            :                         }
    1580                 :          1 :                         i--;
    1581                 :          1 :                         continue;
    1582                 :            :                     lab7:
    1583                 :      70616 :                         c = l - m6;
    1584                 :      70616 :                         break;
    1585                 :            :                     }
    1586         [ +  + ]:      70617 :                     if (i > 0) goto lab6;
    1587                 :            :                 }
    1588                 :          1 :                 {   int m7 = l - c; (void)m7; /* or, line 514 */
    1589                 :          1 :                     {   int ret = r_Suffix_Verb_Step2a(); /* call Suffix_Verb_Step2a, line 514 */
    1590         [ +  - ]:          1 :                         if (ret == 0) goto lab9;
    1591         [ #  # ]:          0 :                         if (ret < 0) return ret;
    1592                 :            :                     }
    1593                 :          0 :                     goto lab8;
    1594                 :            :                 lab9:
    1595                 :          1 :                     c = l - m7;
    1596                 :          1 :                     {   int ret = r_Suffix_Verb_Step2c(); /* call Suffix_Verb_Step2c, line 514 */
    1597         [ +  - ]:          1 :                         if (ret == 0) goto lab10;
    1598         [ #  # ]:          0 :                         if (ret < 0) return ret;
    1599                 :            :                     }
    1600                 :          0 :                     goto lab8;
    1601                 :            :                 lab10:
    1602                 :          1 :                     c = l - m7;
    1603                 :          1 :                     {   int ret = skip_utf8(p, c, lb, 0, -1);
    1604         [ -  + ]:          1 :                         if (ret < 0) goto lab6;
    1605                 :          1 :                         c = ret; /* next, line 514 */
    1606                 :            :                     }
    1607                 :            :                 }
    1608                 :            :             lab8:
    1609                 :          1 :                 goto lab5;
    1610                 :            :             lab6:
    1611                 :      70615 :                 c = l - m5;
    1612                 :      70615 :                 {   int ret = r_Suffix_Verb_Step2b(); /* call Suffix_Verb_Step2b, line 516 */
    1613         [ +  - ]:      70615 :                     if (ret == 0) goto lab11;
    1614         [ #  # ]:          0 :                     if (ret < 0) return ret;
    1615                 :            :                 }
    1616                 :          0 :                 goto lab5;
    1617                 :            :             lab11:
    1618                 :      70615 :                 c = l - m5;
    1619                 :      70615 :                 {   int ret = r_Suffix_Verb_Step2a(); /* call Suffix_Verb_Step2a, line 517 */
    1620         [ +  - ]:      70615 :                     if (ret == 0) goto lab4;
    1621         [ #  # ]:          0 :                     if (ret < 0) return ret;
    1622                 :            :                 }
    1623                 :            :             }
    1624                 :            :         lab5:
    1625                 :          1 :             goto lab3;
    1626                 :            :         lab4:
    1627                 :      70615 :             c = l - m4;
    1628         [ -  + ]:      70615 :             if (!(B_is_noun)) goto lab12; /* Boolean test is_noun, line 522 */
    1629                 :      70615 :             {   int m8 = l - c; (void)m8; /* try, line 525 */
    1630                 :      70615 :                 {   int m9 = l - c; (void)m9; /* or, line 527 */
    1631                 :      70615 :                     {   int ret = r_Suffix_Noun_Step2c2(); /* call Suffix_Noun_Step2c2, line 526 */
    1632         [ +  - ]:      70615 :                         if (ret == 0) goto lab15;
    1633         [ #  # ]:          0 :                         if (ret < 0) return ret;
    1634                 :            :                     }
    1635                 :          0 :                     goto lab14;
    1636                 :            :                 lab15:
    1637                 :      70615 :                     c = l - m9;
    1638                 :            :                     /* not, line 527 */
    1639         [ +  - ]:      70615 :                     if (!(B_is_defined)) goto lab17; /* Boolean test is_defined, line 527 */
    1640                 :          0 :                     goto lab16;
    1641                 :            :                 lab17:
    1642                 :      70615 :                     {   int ret = r_Suffix_Noun_Step1a(); /* call Suffix_Noun_Step1a, line 527 */
    1643         [ +  - ]:      70615 :                         if (ret == 0) goto lab16;
    1644         [ #  # ]:          0 :                         if (ret < 0) return ret;
    1645                 :            :                     }
    1646                 :          0 :                     {   int m10 = l - c; (void)m10; /* or, line 529 */
    1647                 :          0 :                         {   int ret = r_Suffix_Noun_Step2a(); /* call Suffix_Noun_Step2a, line 528 */
    1648         [ #  # ]:          0 :                             if (ret == 0) goto lab19;
    1649         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1650                 :            :                         }
    1651                 :          0 :                         goto lab18;
    1652                 :            :                     lab19:
    1653                 :          0 :                         c = l - m10;
    1654                 :          0 :                         {   int ret = r_Suffix_Noun_Step2b(); /* call Suffix_Noun_Step2b, line 529 */
    1655         [ #  # ]:          0 :                             if (ret == 0) goto lab20;
    1656         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1657                 :            :                         }
    1658                 :          0 :                         goto lab18;
    1659                 :            :                     lab20:
    1660                 :          0 :                         c = l - m10;
    1661                 :          0 :                         {   int ret = r_Suffix_Noun_Step2c1(); /* call Suffix_Noun_Step2c1, line 530 */
    1662         [ #  # ]:          0 :                             if (ret == 0) goto lab21;
    1663         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1664                 :            :                         }
    1665                 :          0 :                         goto lab18;
    1666                 :            :                     lab21:
    1667                 :          0 :                         c = l - m10;
    1668                 :          0 :                         {   int ret = skip_utf8(p, c, lb, 0, -1);
    1669         [ #  # ]:          0 :                             if (ret < 0) goto lab16;
    1670                 :          0 :                             c = ret; /* next, line 531 */
    1671                 :            :                         }
    1672                 :            :                     }
    1673                 :            :                 lab18:
    1674                 :          0 :                     goto lab14;
    1675                 :            :                 lab16:
    1676                 :      70615 :                     c = l - m9;
    1677                 :      70615 :                     {   int ret = r_Suffix_Noun_Step1b(); /* call Suffix_Noun_Step1b, line 532 */
    1678         [ +  - ]:      70615 :                         if (ret == 0) goto lab22;
    1679         [ #  # ]:          0 :                         if (ret < 0) return ret;
    1680                 :            :                     }
    1681                 :          0 :                     {   int m11 = l - c; (void)m11; /* or, line 534 */
    1682                 :          0 :                         {   int ret = r_Suffix_Noun_Step2a(); /* call Suffix_Noun_Step2a, line 533 */
    1683         [ #  # ]:          0 :                             if (ret == 0) goto lab24;
    1684         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1685                 :            :                         }
    1686                 :          0 :                         goto lab23;
    1687                 :            :                     lab24:
    1688                 :          0 :                         c = l - m11;
    1689                 :          0 :                         {   int ret = r_Suffix_Noun_Step2b(); /* call Suffix_Noun_Step2b, line 534 */
    1690         [ #  # ]:          0 :                             if (ret == 0) goto lab25;
    1691         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1692                 :            :                         }
    1693                 :          0 :                         goto lab23;
    1694                 :            :                     lab25:
    1695                 :          0 :                         c = l - m11;
    1696                 :          0 :                         {   int ret = r_Suffix_Noun_Step2c1(); /* call Suffix_Noun_Step2c1, line 535 */
    1697         [ #  # ]:          0 :                             if (ret == 0) goto lab22;
    1698         [ #  # ]:          0 :                             if (ret < 0) return ret;
    1699                 :            :                         }
    1700                 :            :                     }
    1701                 :            :                 lab23:
    1702                 :          0 :                     goto lab14;
    1703                 :            :                 lab22:
    1704                 :      70615 :                     c = l - m9;
    1705                 :            :                     /* not, line 536 */
    1706         [ +  - ]:      70615 :                     if (!(B_is_defined)) goto lab27; /* Boolean test is_defined, line 536 */
    1707                 :          0 :                     goto lab26;
    1708                 :            :                 lab27:
    1709                 :      70615 :                     {   int ret = r_Suffix_Noun_Step2a(); /* call Suffix_Noun_Step2a, line 536 */
    1710         [ +  - ]:      70615 :                         if (ret == 0) goto lab26;
    1711         [ #  # ]:          0 :                         if (ret < 0) return ret;
    1712                 :            :                     }
    1713                 :          0 :                     goto lab14;
    1714                 :            :                 lab26:
    1715                 :      70615 :                     c = l - m9;
    1716                 :      70615 :                     {   int ret = r_Suffix_Noun_Step2b(); /* call Suffix_Noun_Step2b, line 537 */
    1717         [ +  - ]:      70615 :                         if (ret == 0) { c = l - m8; goto lab13; }
    1718         [ #  # ]:          0 :                         if (ret < 0) return ret;
    1719                 :            :                     }
    1720                 :            :                 }
    1721                 :            :             lab14:
    1722                 :            :             lab13:
    1723                 :            :                 ;
    1724                 :            :             }
    1725                 :      70615 :             {   int ret = r_Suffix_Noun_Step3(); /* call Suffix_Noun_Step3, line 539 */
    1726         [ +  - ]:      70615 :                 if (ret == 0) goto lab12;
    1727         [ #  # ]:          0 :                 if (ret < 0) return ret;
    1728                 :            :             }
    1729                 :          0 :             goto lab3;
    1730                 :            :         lab12:
    1731                 :      70615 :             c = l - m4;
    1732                 :      70615 :             {   int ret = r_Suffix_All_alef_maqsura(); /* call Suffix_All_alef_maqsura, line 545 */
    1733         [ +  - ]:      70615 :                 if (ret == 0) goto lab2;
    1734         [ #  # ]:          0 :                 if (ret < 0) return ret;
    1735                 :            :             }
    1736                 :            :         }
    1737                 :            :     lab3:
    1738                 :            :     lab2:
    1739                 :      70616 :         c = l - m3;
    1740                 :            :     }
    1741                 :      70616 :     c = lb;
    1742                 :      70616 :     {   int c12 = c; /* do, line 550 */
    1743                 :      70616 :         {   int c13 = c; /* try, line 551 */
    1744                 :      70616 :             {   int ret = r_Prefix_Step1(); /* call Prefix_Step1, line 551 */
    1745         [ +  - ]:      70616 :                 if (ret == 0) { c = c13; goto lab29; }
    1746         [ #  # ]:          0 :                 if (ret < 0) return ret;
    1747                 :            :             }
    1748                 :            :         lab29:
    1749                 :            :             ;
    1750                 :            :         }
    1751                 :      70616 :         {   int c14 = c; /* try, line 552 */
    1752                 :      70616 :             {   int ret = r_Prefix_Step2(); /* call Prefix_Step2, line 552 */
    1753         [ +  - ]:      70616 :                 if (ret == 0) { c = c14; goto lab30; }
    1754         [ #  # ]:          0 :                 if (ret < 0) return ret;
    1755                 :            :             }
    1756                 :            :         lab30:
    1757                 :            :             ;
    1758                 :            :         }
    1759                 :      70616 :         {   int c15 = c; /* or, line 554 */
    1760                 :      70616 :             {   int ret = r_Prefix_Step3a_Noun(); /* call Prefix_Step3a_Noun, line 553 */
    1761         [ +  - ]:      70616 :                 if (ret == 0) goto lab32;
    1762         [ #  # ]:          0 :                 if (ret < 0) return ret;
    1763                 :            :             }
    1764                 :          0 :             goto lab31;
    1765                 :            :         lab32:
    1766                 :      70616 :             c = c15;
    1767         [ -  + ]:      70616 :             if (!(B_is_noun)) goto lab33; /* Boolean test is_noun, line 554 */
    1768                 :      70616 :             {   int ret = r_Prefix_Step3b_Noun(); /* call Prefix_Step3b_Noun, line 554 */
    1769         [ +  + ]:      70616 :                 if (ret == 0) goto lab33;
    1770         [ -  + ]:          1 :                 if (ret < 0) return ret;
    1771                 :            :             }
    1772                 :          1 :             goto lab31;
    1773                 :            :         lab33:
    1774                 :      70615 :             c = c15;
    1775         [ -  + ]:      70615 :             if (!(B_is_verb)) goto lab28; /* Boolean test is_verb, line 555 */
    1776                 :      70615 :             {   int c16 = c; /* try, line 555 */
    1777                 :      70615 :                 {   int ret = r_Prefix_Step3_Verb(); /* call Prefix_Step3_Verb, line 555 */
    1778         [ +  - ]:      70615 :                     if (ret == 0) { c = c16; goto lab34; }
    1779         [ #  # ]:          0 :                     if (ret < 0) return ret;
    1780                 :            :                 }
    1781                 :            :             lab34:
    1782                 :            :                 ;
    1783                 :            :             }
    1784                 :      70615 :             {   int ret = r_Prefix_Step4_Verb(); /* call Prefix_Step4_Verb, line 555 */
    1785         [ +  - ]:      70615 :                 if (ret == 0) goto lab28;
    1786         [ #  # ]:          0 :                 if (ret < 0) return ret;
    1787                 :            :             }
    1788                 :            :         }
    1789                 :            :     lab31:
    1790                 :            :     lab28:
    1791                 :      70616 :         c = c12;
    1792                 :            :     }
    1793                 :            :     /* do, line 560 */
    1794                 :      70616 :     {   int ret = r_Normalize_post(); /* call Normalize_post, line 560 */
    1795         [ -  + ]:      70616 :         if (ret == 0) goto lab35;
    1796         [ -  + ]:      70616 :         if (ret < 0) return ret;
    1797                 :            :     }
    1798                 :            : lab35:
    1799                 :      70616 :     return 1;
    1800                 :            : }
    1801                 :            : 
    1802                 :          2 : Xapian::InternalStemArabic::InternalStemArabic()
    1803                 :          2 :     : B_is_defined(0), B_is_verb(0), B_is_noun(0)
    1804                 :            : {
    1805                 :          2 : }
    1806                 :            : 
    1807                 :          6 : Xapian::InternalStemArabic::~InternalStemArabic()
    1808                 :            : {
    1809         [ -  + ]:          4 : }
    1810                 :            : 
    1811                 :            : std::string
    1812                 :          1 : Xapian::InternalStemArabic::get_description() const
    1813                 :            : {
    1814         [ +  - ]:          1 :     return "arabic";
    1815                 :            : }

Generated by: LCOV version 1.11